(57)【要約】  マルチレイヤビデオデータをコーディングするためのデバイスは、現在ピクチャについてのピクチャ順序カウント(POC)値を決定することと、参照ピクチャについてのPOC値を決定することと、現在ピクチャについてのレイヤ識別(ID)値を決定することと、参照ピクチャについてのレイヤID値を決定することと、2つの条件のうちの少なくとも1つが真であることに応答してフラグを受信し、2つの条件が偽であることに応答してフラグを受信しないことによって、重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで受信することであって、2つの条件が、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである、条件付きで受信することとを行うように構成される。
2019509669.tif 000002
【特許請求の範囲】
【請求項１】
マルチレイヤビデオデータを復号する方法であって、
前記マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定するステップと、
前記現在ピクチャの参照ピクチャについてのPOC値を決定するステップと、
現在ピクチャについてのレイヤ識別(ID)値を決定するステップと、
前記参照ピクチャについてのレイヤID値を決定するステップと、
重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで受信するステップであって、前記フラグを条件付きで受信するステップが、2つの条件のうちの少なくとも1つが真であることに応答して前記フラグを受信するステップ、および前記2つの条件が偽であることに応答して前記フラグを受信しないステップを含み、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、ステップと、
重み付け予測が有効それとも無効にされるかの決定に基づいて、前記現在ピクチャの前記マルチレイヤビデオデータのブロックを復号するステップとを含む、方法。
【請求項２】
前記フラグを受信したこと、および重み付け予測が有効にされることを前記フラグが示すことに応答して、1つまたは複数の重み付け予測パラメータを受信するステップと、
重み付け予測プロセスを使用して、前記現在ピクチャのブロックを予測するステップとをさらに含む、請求項1に記載の方法。
【請求項３】
前記フラグを受信したこと、および重み付け予測が無効にされることを前記フラグが示すことに応答して、1つまたは複数の重み付け予測パラメータを受信することなく、前記現在ピクチャを復号するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記2つの条件が偽であることの結果として前記フラグを受信しないことに応答して、1つまたは複数の重み付け予測パラメータを受信することなく、前記現在ピクチャを復号するステップをさらに含む、請求項1に記載の方法。
【請求項５】
重み付け予測が有効それとも無効にされるかを示す前記フラグについての第1の値が、前記現在ピクチャのルーマ成分についての重み付け因子が存在することを示し、重み付け予測が有効それとも無効にされるかを示す前記フラグについての第2の値が、前記現在ピクチャの前記ルーマ成分についての重み付け因子が存在しないことを示す、請求項1に記載の方法。
【請求項６】
重み付け予測が有効それとも無効にされるかを示す前記フラグが第1のフラグを含み、前記第1のフラグが、重み付け予測が前記現在ピクチャのルーマ成分について有効それとも無効にされるかを示し、前記方法が、
重み付け予測が前記現在ピクチャのクロマ成分について有効それとも無効にされるかを示す第2のフラグを条件付きで受信するステップをさらに含み、前記第2のフラグを条件付きで受信するステップが、2つの条件のうちの少なくとも1つが真であることに応答して前記第2のフラグを受信するステップ、および前記2つの条件が偽であることに応答して前記第2のフラグを受信しないステップを含み、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、請求項1に記載の方法。
【請求項７】
重み付け予測が有効それとも無効にされるかを示す前記フラグが第1のフラグを含み、前記第1のフラグが、第1の参照ピクチャリストの参照ピクチャについて、重み付け予測が有効それも無効にされるかを示し、前記方法が、
第2の参照ピクチャリストの参照ピクチャについて重み付け予測が有効それとも無効にされるかを示す第2のフラグを条件付きで受信するステップをさらに含み、前記第2のフラグを条件付きで受信するステップが、2つの条件のうちの少なくとも1つが真であることに応答して前記第2のフラグを受信するステップ、および前記2つの条件が偽であることに応答して前記第2のフラグを受信しないステップを含み、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、請求項1に記載の方法。
【請求項８】
ワイヤレス通信デバイスの受信機において前記マルチレイヤビデオデータを受信するステップと、
前記ワイヤレス通信デバイスのメモリに前記マルチレイヤビデオデータを記憶するステップと、
前記ワイヤレス通信デバイスの1つまたは複数のプロセッサ上で前記マルチレイヤビデオデータを処理するステップとをさらに含む、請求項1に記載の方法。
【請求項９】
前記ワイヤレス通信デバイスが電話ハンドセットを備え、前記ワイヤレス通信デバイスの前記受信機において前記マルチレイヤビデオデータを受信するステップが、ワイヤレス通信規格に従って、前記マルチレイヤビデオデータを備える信号を復調するステップを含む、請求項8に記載の方法。
【請求項１０】
マルチレイヤビデオデータを復号するためのデバイスであって、
前記マルチレイヤビデオデータを記憶するように構成されたメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
前記マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定することと、
前記現在ピクチャの参照ピクチャについてのPOC値を決定することと、
現在ピクチャについてのレイヤ識別(ID)値を決定することと、
前記参照ピクチャについてのレイヤID値を決定することと、
重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで受信することであって、前記フラグを条件付きで受信するために、前記1つまたは複数のプロセッサが、2つの条件のうちの少なくとも1つが真であることに応答して前記フラグを受信し、前記2つの条件が偽であることに応答して前記フラグを受信しないようにさらに構成され、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、条件付きで受信することと、
重み付け予測が有効それとも無効にされるかの決定に基づいて、前記現在ピクチャの前記マルチレイヤビデオデータのブロックを復号することとを行うように構成される、デバイス。
【請求項１１】
前記1つまたは複数のプロセッサが、
前記フラグを受信したこと、および重み付け予測が有効にされることを前記フラグが示すことに応答して、1つまたは複数の重み付け予測パラメータを受信することと、
重み付け予測プロセスを使用して、前記現在ピクチャのブロックを予測することとを行うようにさらに構成される、請求項10に記載のデバイス。
【請求項１２】
前記1つまたは複数のプロセッサが、
前記フラグを受信したこと、および重み付け予測が無効にされることを前記フラグが示すことに応答して、1つまたは複数の重み付け予測パラメータを受信することなく、前記現在ピクチャを復号するようにさらに構成される、請求項10に記載のデバイス。
【請求項１３】
前記1つまたは複数のプロセッサが、
前記2つの条件が偽であることの結果として前記フラグを受信しないことに応答して、1つまたは複数の重み付け予測パラメータを受信することなく、前記現在ピクチャを復号するようにさらに構成される、請求項10に記載のデバイス。
【請求項１４】
重み付け予測が有効それとも無効にされるかを示す前記フラグについての第1の値が、前記現在ピクチャのルーマ成分についての重み付け因子が存在することを示し、重み付け予測が有効それとも無効にされるかを示す前記フラグについての第2の値が、前記現在ピクチャの前記ルーマ成分についての重み付け因子が存在しないことを示す、請求項10に記載のデバイス。
【請求項１５】
重み付け予測が有効それとも無効にされるかを示す前記フラグが第1のフラグを含み、前記第1のフラグが、重み付け予測が前記現在ピクチャのルーマ成分について有効それとも無効にされるかを示し、前記1つまたは複数のプロセッサが、
重み付け予測が前記現在ピクチャのクロマ成分について有効それとも無効にされるかを示す第2のフラグを条件付きで受信することであって、前記第2のフラグを条件付きで受信するために、前記1つまたは複数のプロセッサが、2つの条件のうちの少なくとも1つが真であることに応答して前記第2のフラグを受信し、前記2つの条件が偽であることに応答して前記第2のフラグを受信しないようにさらに構成され、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、条件付きで受信することを行うようにさらに構成される、請求項10に記載のデバイス。
【請求項１６】
重み付け予測が有効それとも無効にされるかを示す前記フラグが第1のフラグを含み、前記第1のフラグが、第1の参照ピクチャリストの参照ピクチャについて、重み付け予測が有効それとも無効にされるかを示し、前記1つまたは複数のプロセッサが、
第2の参照ピクチャリストの参照ピクチャについて重み付け予測が有効それとも無効にされるかを示す第2のフラグを条件付きで受信することであって、前記第2のフラグを条件付きで受信するために、前記1つまたは複数のプロセッサが、2つの条件のうちの少なくとも1つが真であることに応答して前記第2のフラグを受信し、前記2つの条件が偽であることに応答して前記第2のフラグを受信しないようにさらに構成され、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、条件付きで受信することを行うようにさらに構成される、請求項10に記載のデバイス。
【請求項１７】
前記マルチレイヤビデオデータを含む符号化ビットストリームを受信するように構成された受信機をさらに備えるワイヤレス通信デバイスを備える、請求項10に記載のデバイス。
【請求項１８】
前記ワイヤレス通信デバイスが電話ハンドセットを備え、前記受信機が、ワイヤレス通信規格に従って、前記符号化ビットストリームを含む信号を復調するように構成される、請求項17に記載のデバイス。
【請求項１９】
マルチレイヤビデオデータを復号するための装置であって、
前記マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定するための手段と、
前記現在ピクチャの参照ピクチャについてのPOC値を決定するための手段と、
現在ピクチャについてのレイヤ識別(ID)値を決定するための手段と、
前記参照ピクチャについてのレイヤID値を決定するための手段と、
重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで受信するための手段であって、前記フラグを条件付きで受信するための前記手段が、2つの条件のうちの少なくとも1つが真であることに応答して前記フラグを受信するための手段、および前記2つの条件が偽であることに応答して前記フラグを受信しないための手段を備え、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、手段と、
重み付け予測が有効それとも無効にされるかの決定に基づいて、前記現在ピクチャの前記マルチレイヤビデオデータのブロックを復号するための手段とを備える、装置。
【請求項２０】
前記フラグを受信したこと、および重み付け予測が有効にされることを前記フラグが示すことに応答して、1つまたは複数の重み付け予測パラメータを受信するための手段と、
重み付け予測プロセスを使用して、前記現在ピクチャのブロックを予測するための手段とをさらに備える、請求項19に記載の装置。
【請求項２１】
前記フラグを受信したこと、および重み付け予測が無効にされることを前記フラグが示すことに応答して、1つまたは複数の重み付け予測パラメータを受信することなく、前記現在ピクチャを復号するための手段をさらに備える、請求項19に記載の装置。
【請求項２２】
前記2つの条件が偽であることの結果として、前記フラグを受信しないことに応答して、1つまたは複数の重み付け予測パラメータを受信することなく、前記現在ピクチャを復号するための手段をさらに備える、請求項19に記載の装置。
【請求項２３】
重み付け予測が有効それとも無効にされるかを示す前記フラグについての第1の値が、前記現在ピクチャのルーマ成分についての重み付け因子が存在することを示し、重み付け予測が有効それとも無効にされるかを示す前記フラグについての第2の値が、前記現在ピクチャの前記ルーマ成分についての重み付け因子が存在しないことを示す、請求項19に記載の装置。
【請求項２４】
重み付け予測が有効それとも無効にされるかを示す前記フラグが第1のフラグを含み、前記第1のフラグが、重み付け予測が前記現在ピクチャのルーマ成分について有効それとも無効にされるかを示し、前記装置が、
重み付け予測が前記現在ピクチャのクロマ成分について有効それとも無効にされるかを示す第2のフラグを条件付きで受信するための手段をさらに備え、前記第2のフラグを条件付きで受信するための前記手段が、2つの条件のうちの少なくとも1つが真であることに応答して前記第2のフラグを受信するための手段、および前記2つの条件が偽であることに応答して前記第2のフラグを受信しないための手段を備え、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、請求項19に記載の装置。
【請求項２５】
重み付け予測が有効それとも無効にされるかを示す前記フラグが第1のフラグを含み、前記第1のフラグが、第1の参照ピクチャリストの参照ピクチャについて、重み付け予測が有効それも無効にされるかを示し、前記装置が、
第2の参照ピクチャリストの参照ピクチャについて重み付け予測が有効それとも無効にされるかを示す第2のフラグを条件付きで受信するための手段であって、前記第2のフラグを条件付きで受信するための前記手段が、2つの条件のうちの少なくとも1つが真であることに応答して前記第2のフラグを受信するための手段、および前記2つの条件が偽であることに応答して前記第2のフラグを受信しないための手段を備え、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、手段をさらに備える、請求項19に記載の装置。
【請求項２６】
1つまたは複数のプロセッサによって実行されると、
マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定することと、
前記現在ピクチャの参照ピクチャについてのPOC値を決定することと、
現在ピクチャについてのレイヤ識別(ID)値を決定することと、
前記参照ピクチャについてのレイヤID値を決定することと、
重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで受信することであって、前記フラグを条件付きで受信するために、前記1つまたは複数のプロセッサに、2つの条件のうちの少なくとも1つが真であることに応答して前記フラグを受信させ、前記2つの条件が偽であることに応答して前記フラグを受信させず、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、条件付きで受信することと、
重み付け予測が有効それとも無効にされるかの決定に基づいて、前記現在ピクチャの前記マルチレイヤビデオデータのブロックを復号することとを前記1つまたは複数のプロセッサに行わせる命令を記憶する、コンピュータ可読記憶媒体。
【請求項２７】
前記1つまたは複数のプロセッサによって実行されると、
前記フラグを受信したこと、および重み付け予測が有効にされることを前記フラグが示すことに応答して、1つまたは複数の重み付け予測パラメータを受信することと、
重み付け予測プロセスを使用して、前記現在ピクチャのブロックを予測することとを前記1つまたは複数のプロセッサに行わせるさらなる命令を記憶する、請求項26に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記1つまたは複数のプロセッサによって実行されると、
前記フラグを受信したこと、および重み付け予測が無効にされることを前記フラグが示すことに応答して、1つまたは複数の重み付け予測パラメータを受信することなく、前記現在ピクチャを、前記1つまたは複数のプロセッサに復号させるさらなる命令を記憶する、請求項26に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記1つまたは複数のプロセッサによって実行されると、
前記2つの条件が偽であることの結果として、前記フラグを受信しないことに応答して、1つまたは複数の重み付け予測パラメータを受信することなく、前記現在ピクチャを、前記1つまたは複数のプロセッサに復号させるさらなる命令を記憶する、請求項26に記載のコンピュータ可読記憶媒体。
【請求項３０】
重み付け予測が有効それとも無効にされるかを示す前記フラグについての第1の値が、前記現在ピクチャのルーマ成分についての重み付け因子が存在することを示し、重み付け予測が有効それとも無効にされるかを示す前記フラグについての第2の値が、前記現在ピクチャの前記ルーマ成分についての重み付け因子が存在しないことを示す、請求項26に記載のコンピュータ可読記憶媒体。
【請求項３１】
重み付け予測が有効それとも無効にされるかを示す前記フラグが第1のフラグを含み、前記第1のフラグが、前記現在ピクチャのルーマ成分について重み付け予測が有効それとも無効にされるかを示し、前記コンピュータ可読記憶媒体が、前記1つまたは複数のプロセッサによって実行されると、
重み付け予測が前記現在ピクチャのクロマ成分について有効それとも無効にされるかを示す第2のフラグを条件付きで受信することであって、前記第2のフラグを条件付きで受信するために、前記命令が、前記1つまたは複数のプロセッサに、2つの条件のうちの少なくとも1つが真であることに応答して前記第2のフラグを受信させ、前記2つの条件が偽であることに応答して前記第2のフラグを受信させず、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、条件付きで受信することを前記1つまたは複数のプロセッサに行わせるさらなる命令を記憶する、請求項26に記載のコンピュータ可読記憶媒体。
【請求項３２】
重み付け予測が有効それとも無効にされるかを示す前記フラグが第1のフラグを含み、前記第1のフラグが、第1の参照ピクチャリストの参照ピクチャについて、重み付け予測が有効それとも無効にされるかを示し、前記コンピュータ可読記憶媒体が、前記1つまたは複数のプロセッサによって実行されると、
第2の参照ピクチャリストの参照ピクチャについて重み付け予測が有効それとも無効にされるかを示す第2のフラグを条件付きで受信することであって、前記第2のフラグを条件付きで受信するために、前記命令が、前記1つまたは複数のプロセッサに、2つの条件のうちの少なくとも1つが真であることに応答して前記第2のフラグを受信させ、前記2つの条件が偽であることに応答して前記第2のフラグを受信させず、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、条件付きで受信することを前記1つまたは複数のプロセッサに行わせるさらなる命令を記憶する、請求項26に記載のコンピュータ可読記憶媒体。
【請求項３３】
マルチレイヤビデオデータを符号化する方法であって、
前記マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定するステップと、
前記現在ピクチャの参照ピクチャについてのPOC値を決定するステップと、
現在ピクチャについてのレイヤ識別(ID)値を決定するステップと、
前記参照ピクチャについてのレイヤID値を決定するステップと、
重み付け予測が有効それとも無効にされるかを示すフラグを、前記マルチレイヤビデオデータの符号化ビットストリームに含めるために条件付きで生成するステップであって、前記フラグを条件付きで生成するステップが、2つの条件のうちの少なくとも1つが真であることに応答して前記フラグを生成するステップ、および前記2つの条件が偽であることに応答して前記フラグを生成しないステップを含み、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、ステップと、
マルチレイヤビデオデータの前記符号化ビットストリームを出力するステップとを含む、方法。
【請求項３４】
前記フラグを生成したこと、および重み付け予測が有効にされることを前記フラグが示すことに応答して、1つまたは複数の重み付け予測パラメータを、マルチレイヤビデオデータの前記符号化ビットストリームの中に含めるために生成するステップをさらに含む、請求項33に記載の方法。
【請求項３５】
前記2つの条件が偽であることの結果として、前記フラグを生成しないことに応答して、前記現在ピクチャについてのマルチレイヤビデオデータの符号化ビデオビットストリームを、1つまたは複数の重み付け予測パラメータを含めずに生成するステップをさらに含む、請求項33に記載の方法。
【請求項３６】
重み付け予測が有効それとも無効にされるかを示す前記フラグについての第1の値が、前記現在ピクチャのルーマ成分についての重み付け因子がマルチレイヤビデオデータの前記符号化ビットストリームの中に存在することを示し、重み付け予測が有効それとも無効にされるかを示す前記フラグについての第2の値が、前記現在ピクチャの前記ルーマ成分についての重み付け因子がマルチレイヤビデオデータの前記符号化ビットストリームの中に存在しないことを示す、請求項33に記載の方法。
【請求項３７】
ワイヤレス通信デバイスのメモリに前記マルチレイヤビデオデータを記憶するステップと、
前記ワイヤレス通信デバイスの1つまたは複数のプロセッサ上で前記マルチレイヤビデオデータを処理するステップと、
前記ワイヤレス通信デバイスの送信機から前記マルチレイヤビデオデータを含む符号化ビットストリーム送信するステップとをさらに含む、請求項33に記載の方法。
【請求項３８】
前記ワイヤレス通信デバイスが電話ハンドセットを備え、前記ワイヤレス通信デバイスの前記送信機において前記符号化ビットストリームを送信するステップが、前記符号化ビットストリームを含む信号を、ワイヤレス通信規格に従って変調するステップを含む、請求項37に記載の方法。
【請求項３９】
ビデオデータを符号化するためのデバイスであって、
マルチレイヤビデオデータを記憶するように構成されたメモリと、
1つまたは複数のプロセッサとを備え、前記プロセッサが、
前記マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定することと、
前記現在ピクチャの参照ピクチャについてのPOC値を決定することと、
現在ピクチャについてのレイヤ識別(ID)値を決定することと、
前記参照ピクチャについてのレイヤID値を決定することと、
重み付け予測が有効それとも無効にされるかを示すフラグを、前記マルチレイヤビデオデータの符号化ビットストリームに含めるために条件付きで生成することであって、前記フラグを条件付きで生成するために、前記1つまたは複数のプロセッサが、2つの条件のうちの少なくとも1つが真であることに応答して前記フラグを生成し、前記2つの条件が偽であることに応答して前記フラグを生成しないように構成され、前記2つの条件が、(1)前記現在ピクチャの前記POC値が前記参照ピクチャの前記POC値に等しくないこと、および(2)前記現在ピクチャについての前記レイヤID値が前記参照ピクチャについての前記レイヤID値に等しくないことである、条件付きで生成することと、
マルチレイヤビデオデータの前記符号化ビットストリームを出力することとを行うように構成される、デバイス。
【請求項４０】
前記1つまたは複数のプロセッサが、
前記フラグを生成したこと、および重み付け予測が有効にされることを前記フラグが示すことに応答して、1つまたは複数の重み付け予測パラメータを、マルチレイヤビデオデータの前記符号化ビットストリームの中に含めるために生成するようにさらに構成される、請求項39に記載のデバイス。
【請求項４１】
前記1つまたは複数のプロセッサが、
前記2つの条件が偽であることの結果として、前記フラグを生成しないことに応答して、前記現在ピクチャについてのマルチレイヤビデオデータの符号化ビデオビットストリームを、1つまたは複数の重み付け予測パラメータを含めずに生成するようにさらに構成される、請求項39に記載のデバイス。
【請求項４２】
重み付け予測が有効それとも無効にされるかを示す前記フラグについての第1の値が、前記現在ピクチャのルーマ成分についての重み付け因子がマルチレイヤビデオデータの前記符号化ビットストリームの中に存在することを示し、重み付け予測が有効それとも無効にされるかを示す前記フラグについての第2の値が、前記現在ピクチャの前記ルーマ成分についての重み付け因子がマルチレイヤビデオデータの前記符号化ビットストリームの中に存在しないことを示す、請求項39に記載のデバイス。
【請求項４３】
前記マルチレイヤビデオデータを含む符号化ビットストリームを送信するように構成された送信機をさらに備えるワイヤレス通信デバイスを備える、請求項39に記載のデバイス。
【請求項４４】
前記ワイヤレス通信デバイスが電話ハンドセットを備え、前記送信機が、ワイヤレス通信規格に従って、前記符号化ビットストリームを備える信号を変調するように構成される、請求項43に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、2016年2月20日に出願された米国仮特許出願第62/297,858号の利益を主張するものである。
【０００２】
本開示は、ビデオ符号化およびビデオ復号に関する。
【背景技術】
【０００３】
デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、アドバンストビデオコーディング(AVC)、現在開発中の高効率ビデオコーディング(HEVC)規格、およびそのような規格の拡張によって定義された規格に記載されるものなどのビデオ圧縮技法を実施する。ビデオデバイスは、そのようなビデオ圧縮技法を実施することにより、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶することができる。
【０００４】
ビデオ圧縮技法は、空間(ピクチャ内)予測および/または時間(ピクチャ間)予測を実施して、ビデオシーケンスに固有の冗長性を低減または除去する。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)がビデオブロックに区分化される場合があり、ビデオブロックは、ツリーブロック、コーディングユニット(CU)、および/またはコーディングノードと呼ばれる場合もある。ピクチャのイントラコーディングされた(I)スライスの中のビデオブロックは、同じピクチャにおける隣接ブロックの中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライスの中のビデオブロックは、同じピクチャにおける隣接ブロックの中の参照サンプルに対する空間予測、または他の参照ピクチャの中の参照サンプルに対する時間予測を使用することができる。ピクチャはフレームと呼ばれる場合があり、参照ピクチャは参照フレームと呼ばれる場合がある。
【０００５】
空間予測または時間予測は、コーディングされるべきブロック用の予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコーディングされたブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらす場合があり、残差変換係数は、次いで量子化される場合がある。最初に2次元アレイに配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査される場合があり、さらなる圧縮を実現するために、エントロピーコーディングが適用される場合がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
本開示は、スクリーンコンテンツコーディングとマルチレイヤコーディングの両方をサポートするビデオコーディング規格における使用に特に関連した、重み付け予測プロセスの有効化および無効化を改善することができる技法を記載する。
【０００７】
本開示の技法の一例によると、マルチレイヤビデオデータを復号する方法は、マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定するステップと、現在ピクチャの参照ピクチャについてのPOC値を決定するステップと、現在ピクチャについてのレイヤ識別(ID)値を決定するステップと、参照ピクチャについてのレイヤID値を決定するステップと、重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで受信するステップであって、フラグを条件付きで受信するステップが、2つの条件のうちの少なくとも1つが真であることに応答してフラグを受信するステップ、および2つの条件が偽であることに応答してフラグを受信しないステップを備え、2つの条件が、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである、ステップと、重み付け予測が有効それとも無効にされるかの決定に基づいて、現在ピクチャのマルチレイヤビデオデータのブロックを復号するステップとを含む。
【０００８】
本開示の技法の別の例では、マルチレイヤビデオデータを復号するためのデバイスは、マルチレイヤビデオデータを記憶するように構成されたメモリと、マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定することと、現在ピクチャの参照ピクチャについてのPOC値を決定することと、現在ピクチャについてのレイヤ識別(ID)値を決定することと、参照ピクチャについてのレイヤID値を決定することと、重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで受信することであって、フラグを条件付きで受信するために、1つまたは複数のプロセッサが、2つの条件のうちの少なくとも1つが真であることに応答してフラグを受信し、2つの条件が偽であることに応答してフラグを受信しないようにさらに構成され、2つの条件が、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである、条件付きで受信することと、重み付け予測が有効それとも無効にされるかの決定に基づいて、現在ピクチャのマルチレイヤビデオデータのブロックを復号することとを行うように構成された1つまたは複数のプロセッサとを含む。
【０００９】
本開示の技法の別の例では、マルチレイヤビデオデータを復号するための装置は、マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定するための手段と、現在ピクチャの参照ピクチャについてのPOC値を決定するための手段と、現在ピクチャについてのレイヤ識別(ID)値を決定するための手段と、参照ピクチャについてのレイヤID値を決定するための手段と、重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで受信するための手段であって、フラグを条件付きで受信するための手段が、2つの条件のうちの少なくとも1つが真であることに応答してフラグを受信するための手段、および2つの条件が偽であることに応答してフラグを受信しないための手段を備え、2つの条件が、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである、手段と、重み付け予測が有効それとも無効にされるかの決定に基づいて、現在ピクチャのマルチレイヤビデオデータのブロックを復号するための手段とを備える。
【００１０】
本開示の技法の別の例では、コンピュータ可読記憶媒体は、1つまたは複数のプロセッサによって実行されると、マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定することと、現在ピクチャの参照ピクチャについてのPOC値を決定することと、現在ピクチャについてのレイヤ識別(ID)値を決定することと、参照ピクチャについてのレイヤID値を決定することと、重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで受信することであって、フラグを条件付きで受信するために、命令が、1つまたは複数のプロセッサに、2つの条件のうちの少なくとも1つが真であることに応答してフラグを受信させ、2つの条件が偽であることに応答してフラグを受信させず、2つの条件が、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである、条件付きで受信することと、重み付け予測が有効それとも無効にされるかの決定に基づいて、現在ピクチャのマルチレイヤビデオデータのブロックを復号することとを1つまたは複数のプロセッサに行わせる命令を記憶する。
【００１１】
本開示の技法の別の例では、マルチレイヤビデオデータを符号化する方法は、マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定するステップと、現在ピクチャの参照ピクチャについてのPOC値を決定するステップと、現在ピクチャについてのレイヤ識別(ID)値を決定するステップと、参照ピクチャについてのレイヤID値を決定するステップと、重み付け予測が有効それとも無効にされるかを示すフラグを、マルチレイヤビデオデータの符号化ビットストリームに含めるために条件付きで生成するステップであって、フラグを条件付きで生成するステップが、2つの条件のうちの少なくとも1つが真であることに応答してフラグを生成するステップ、および2つの条件が偽であることに応答してフラグを生成しないステップを備え、2つの条件が、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである、ステップと、マルチレイヤビデオデータの符号化ビットストリームを出力するステップとを含む。
【００１２】
本開示の技法の別の例では、ビデオデータを符号化するためのデバイスは、マルチレイヤビデオデータを記憶するように構成されたメモリと、マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定することと、現在ピクチャの参照ピクチャについてのPOC値を決定することと、現在ピクチャについてのレイヤ識別(ID)値を決定することと、参照ピクチャについてのレイヤID値を決定することと、重み付け予測が有効それとも無効にされるかを示すフラグを、マルチレイヤビデオデータの符号化ビットストリームに含めるために条件付きで生成することであって、フラグを条件付きで生成するために、1つまたは複数のプロセッサが、2つの条件のうちの少なくとも1つが真であることに応答してフラグを生成し、2つの条件が偽であることに応答してフラグを生成しないように構成され、2つの条件が、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである、条件付きで生成することと、マルチレイヤビデオデータの符号化ビットストリームを出力することとを行うように構成された1つまたは複数のプロセッサとを含む。
【００１３】
本開示の技法の別の例では、マルチレイヤビデオデータを符号化するための装置は、マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定するための手段と、現在ピクチャの参照ピクチャについてのPOC値を決定するための手段と、現在ピクチャについてのレイヤ識別(ID)値を決定するための手段と、参照ピクチャについてのレイヤID値を決定するための手段と、重み付け予測が有効それとも無効にされるかを示すフラグを、マルチレイヤビデオデータの符号化ビットストリームに含めるために条件付きで生成するための手段であって、フラグを条件付きで生成するための手段が、2つの条件のうちの少なくとも1つが真であることに応答してフラグを生成するための手段、および2つの条件が偽であることに応答してフラグを生成しないための手段を備え、2つの条件が、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである、手段と、マルチレイヤビデオデータの符号化ビットストリームを出力するための手段とを含む。
【００１４】
本開示の技法の別の例では、コンピュータ可読記憶媒体は、1つまたは複数のプロセッサによって実行されると、マルチレイヤビデオデータの現在ピクチャについてのピクチャ順序カウント(POC)値を決定することと、現在ピクチャの参照ピクチャについてのPOC値を決定することと、現在ピクチャについてのレイヤ識別(ID)値を決定することと、参照ピクチャについてのレイヤID値を決定することと、重み付け予測が有効それとも無効にされるかを示すフラグを、マルチレイヤビデオデータの符号化ビットストリームに含めるために条件付きで生成することであって、フラグを条件付きで生成することが、2つの条件のうちの少なくとも1つが真であることに応答してフラグを生成すること、および2つの条件が偽であることに応答してフラグを生成しないことを備え、2つの条件が、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである、条件付きで生成することと、マルチレイヤビデオデータの符号化ビットストリームを出力することとを1つまたは複数のプロセッサに行わせる命令を記憶する。
【００１５】
本開示の1つまたは複数の例の詳細が、添付の図面および下記の説明に記載されている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになる。
【図面の簡単な説明】
【００１６】
【図１】本開示において記載される技法を利用することができる例示的なビデオ符号化および復号システムを示すブロック図である。
【図２】例示的なイントラブロックコピー(IBC)技法を示す概念図である。
【図３】本開示において記載される技法を実施することができる例示的なビデオエンコーダを示すブロック図である。
【図４】本開示において記載される技法を実施することができる例示的なビデオデコーダを示すブロック図である。
【図５】本開示の技法による、ビデオデータを復号する方法を示すフローチャートである。
【図６】本開示の技法による、ビデオデータを符号化する方法を示すフローチャートである。
【発明を実施するための形態】
【００１７】
最近開発された高効率ビデオコーディング(HEVC)規格を含む様々なビデオコーディング規格は、ビデオブロック用の予測コーディングモードを含み、予測コーディングモードでは、現在コーディングされている(すなわち、符号化または復号されている)ブロックが、ビデオデータのすでにコーディングされたブロックに基づいて予測される。イントラ予測モードでは、現在ブロックは、現在ブロックと同じピクチャ内の1つまたは複数の以前コーディングされた隣接ブロックに基づいて予測され、インター予測モードでは、現在ブロックは、参照ピクチャと呼ばれるときがある、異なるピクチャ内のすでにコーディングされたブロックに基づいて予測される。インター予測モードでは、予測ブロックとして使用するために以前コーディングされたフレームのブロックを特定するプロセスは、動き推定と呼ばれるときがあり、それは概してビデオエンコーダによって実施され、予測ブロックを識別し取り出すプロセスは、動き補償と呼ばれるときがあり、それはビデオエンコーダとビデオデコーダの両方によって実施される。
【００１８】
ビデオエンコーダは、通常、複数のコーディングシナリオ(たとえば、ブロックサイズ、コーディングモード、フィルタリングなどの異なる組合せ)を利用してビデオをコーディングすること、および望ましいレート-ひずみトレードオフを作成するコーディングシナリオを識別することにより、ビデオデータのシーケンスをどのようにコーディングするかを決定する。特定のビデオブロックのためのイントラ予測コーディングモードをテストするとき、ビデオエンコーダは、通常、ピクセルの隣接行(すなわち、コーディングされているブロックの真上のピクセルの行)をテストし、ピクセルの隣接列(すなわち、コーディングされているブロックのすぐ左のピクセルの列)をテストする。対照的に、インター予測シナリオをテストするとき、ビデオエンコーダは、通常、はるかに大きい探索エリア内で候補予測ブロックを識別し、探索エリアは、ビデオデータの以前コーディングされたフレームまたはピクチャ内のビデオブロックに対応する。
【００１９】
インター予測は、ビデオのピクチャにおける時間冗長性に依拠する。具体的には、すでに復号されたピクチャの中のビデオのブロックは、現在復号されているピクチャの中のブロック用の予測ブロックとして働き得る。インター予測は通常、現在ピクチャの中のブロックが、すでに復号されたピクチャの中のブロックと厳密に一致するとき、最もよく働く(たとえば、最良のレート-ひずみトレードオフを達成する)。照明、またはフェードなど、他のトリック効果における変動により、現在ピクチャの中のブロックと、すでに復号されたピクチャの中のブロックとの間の類似度を低下することによって、インター予測で達成されるコーディング利得が小さくなり得る。そのような状況においてインター予測で達成されるコーディング利得を改善するために、HEVCは、重み付け予測と呼ばれるコーディングツールを含んでいる。重み付け予測を用いると、乗法重み付け因子(multiplicative weighting factor)および/または加法オフセット(additive offset)がビットストリームの中でシグナリングされ、これらのパラメータに基づいて、動き補償された予測が修正される。
【００２０】
テキスト、シンボルまたは繰返しパターンを含むビデオ画像などの、ある特定のタイプのビデオ画像の場合、コーディング利得は、イントラ動き補償(IMC)モードと呼ばれることもある、イントラブロックコピー(IBC)モードを利用することにより、イントラ予測およびインター予測と比較して実現することができることが発見されている。様々なコーディング規格の開発において、元はIMCモードという用語が使用されたが、後にIBCモードに修正された。IBCモードは、「参照としての現在ピクチャ」モードとも呼ばれ、というのは、いくつかの実装形態では、IBCモードは、参照ピクチャが現在ピクチャである、インター予測の特殊ケースとして実装されるからである。
【００２１】
IBCモードでは、ビデオエンコーダは、イントラ予測モードにおけるように、コーディングされているブロックと同じフレームまたはピクチャ内の予測ブロックを探索するが、ビデオエンコーダは、ピクセルの隣接する行および列だけではなく、より幅広い探索エリアを探索する。IBCモードでは、ビデオエンコーダは、予測されているブロックと同じフレームまたはピクチャ内の予測ブロックを識別するために、動きベクトルまたはブロックベクトルと呼ばれることもあるオフセットベクトルを特定することができる。オフセットベクトルは、たとえば、x成分およびy成分を含み、x成分は、予測されているビデオブロックと予測ブロックとの間の水平変位を識別し、y成分は、予測されているビデオブロックと予測ブロックとの間の垂直変位を識別する。ビデオエンコーダは、符号化ビットストリーム内で、特定されたオフセットベクトルを通知し、その結果、ビデオデコーダは、符号化ビットストリームを復号するとき、ビデオエンコーダによって選択された同じ予測ブロックを識別することができる。HEVCは、IBCと、テキスト、シンボル、または繰返しパターンなど、一般にスクリーンコンテンツと呼ばれるものをコーディングするための他のツールとを含むスクリーンコンテンツコーディング(SCC)拡張を含む。
【００２２】
HEVCおよび他のコーディング規格は、スケーラブルビデオコーディングとマルチビュービデオコーディングの両方を含むマルチレイヤビデオコーディングもサポートする。スケーラブルビデオコーディングは概して、時間、SNR、および空間スケーラビリティをサポートするのに、複数のレイヤ、すなわち、ベースプレーヤに加えて1つまたは複数の強化レイヤを使用することを指し、マルチビュービデオコーディングは概して、複数の視点および/または3次元効果をサポートするのに、異なるビューを各々が表し得る複数のレイヤを使用することを指す。
【００２３】
本開示は、スクリーンコンテンツコーディングとマルチレイヤコーディングの両方をサポートするビデオコーディング規格における使用に特に関連した、重み付け予測プロセスの有効化および無効化を改善することができる技法を記載する。同様に、重み付け予測を用いると、乗法重み付け因子および場合によっては加法オフセットがビットストリームの中でシグナリングされ、これらのパラメータに基づいて、動き補償された予測が修正される。提案される技法は、スクリーンコンテンツコーディング、マルチレイヤコーディングに適用可能であり、ここではたとえば、レイヤのうちの1つまたは複数が、SCCプロファイルにおいて現在定義されているイントラブロックコピーツールを使用してコーディングされ得る。本開示の技法は、高ビット深度(8ビットを超える)および/または4:4:4、4:2:2、4:2:0、4:0:0などの異なるクロマサンプリングフォーマットをサポートする規格または規格のプロファイルとともに使用することもできる。
【００２４】
下記でより詳細に説明されるように、HEVCおよび他の既存のビデオコーディング規格は、重み付け予測が無効にされるかどうかを、暗黙的に、たとえば、明示的シグナリングなしで決定するのに、参照ピクチャおよび現在ピクチャのピクチャ順序カウント(POC)値を利用する。そのような暗黙的無効化は、いくつかのシンタックス要素を、そのようなシンタックス要素が必要とされないときは受信する必要をなくすことによって、圧縮効率を改善し得る。マルチレイヤビデオコーディングのコンテキストでは、しかしながら、そのような既存の技法は、重み付け予測を利用することが有利な場合があるコーディングシナリオにおいて重み付け予測を無効にする場合がある。下記でより詳細に説明されるように、本開示の技法は、重み付け予測をいつ暗黙的に無効にするかを決定するために、POC値とともにレイヤ識別値をさらに利用する。既存の技法と比較した本開示の技法は、いくつかのコーディングシナリオのために重み付け予測を暗黙的に無効にするという利益を維持しながら、重み付け予測がコーディング利得を潜在的に生成する、より多くのコーディングシナリオのために重み付け予測を潜在的に有効にすることができる。
【００２５】
添付の図面は例を示す。添付の図面において参照番号によって示される要素は、以下の説明において同様の参照番号によって示される要素に対応する。本開示では、序数語(たとえば、「第1の」、「第2の」、「第3の」など)で始まる名称を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じまたは類似のタイプの異なる要素を指すために使用されるにすぎない。
【００２６】
図1は、マルチレイヤビデオをコーディングするため、IBCモードでブロックをコーディングするため、および重み付け予測を使用してブロックをコーディングするための技法を含む、本開示において記載される技法を利用することができる、例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されたように、システム10は、後で宛先デバイス14によって復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのうちのいずれかを備える場合がある。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信用に装備される場合がある。
【００２７】
宛先デバイス14は、リンク16を介して、復号されるべき符号化ビデオデータを受信することができる。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備える場合がある。一例では、リンク16は、ソースデバイス12がリアルタイムで宛先デバイス14に直接符号化ビデオデータを送信することを可能にするために、通信媒体を備える場合がある。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信される場合がある。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの、任意のワイヤレスまたは有線の通信媒体を備える場合がある。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成する場合がある。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含む場合がある。
【００２８】
代替として、符号化データは、出力インターフェース22からストレージデバイス32に出力される場合がある。同様に、符号化データは、入力インターフェースによってストレージデバイス32からアクセスされる場合がある。ストレージデバイス32は、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または、符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、様々な分散された、または局所的にアクセスされるデータ記憶媒体のうちのいずれかを含む場合がある。さらなる一例では、ストレージデバイス32は、ソースデバイス12によって生成された符号化ビデオを保持することができる、ファイルサーバまたは別の中間ストレージデバイスに対応する場がある。宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイス32からの記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブが含まれる。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して、符号化ビデオデータにアクセスすることができる。これには、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せが含まれる場合がある。ストレージデバイス32からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００２９】
本開示の技法は、必ずしもワイヤレスの用途または設定に限定されるとは限らない。技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途などの、様々なマルチメディア用途のうちのいずれかをサポートするビデオコーディングに適用される場合がある。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成される場合がある。
【００３０】
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含む場合がある。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前キャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、またはそのようなソースの組合せなどのソースを含む場合がある。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成する場合がある。しかしながら、本開示において記載される技法は、ビデオコーディング全般に適用可能な場合があり、ワイヤレス用途および/または有線用途に適用される場合がある。
【００３１】
キャプチャされたビデオ、以前キャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化される場合がある。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して、宛先デバイス14に直接送信される場合がある。符号化ビデオデータは、同様に(または、代替的に)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのために、ストレージデバイス32に記憶される場合がある。
【００３２】
宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス34とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含む場合がある。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信された、またはストレージデバイス32に供給された符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ30などのビデオデコーダによって使用するための、ビデオエンコーダ20によって生成された様々なシンタックス要素を含む場合がある。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体に記憶された、またはファイルサーバに記憶された符号化ビデオデータとともに含まれる場合がある。
【００３３】
ディスプレイデバイス34は、宛先デバイス14と統合されるか、または宛先デバイス14の外部にあってもよい。いくつかの例では、宛先デバイス14は、集積ディスプレイデバイスを含み、また外部ディスプレイデバイスとインターフェースするように構成される場合もある。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス34は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備える場合がある。
【００３４】
ビデオエンコーダ20およびビデオデコーダ30は、1つまたは複数のビデオコーディング規格に従って動作することができる。ビデオコーディング規格には、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が含まれる。MVCの最新のジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ITU-T勧告H.264、2010年3月に記載されている。
【００３５】
加えて、新しく開発されたビデオコーディング規格、ITU-Tビデオコーディングエキスパートグループ(VCEG)およびISO/IECモーションピクチャエキスパートグループ(MPEG)のビデオコーディング共同研究部会(JCT-VC)によって開発されたHEVCが存在する。HEVCの最新ドラフトは、phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zipから入手可能である。HEVC規格はまた、両方とも「High efficiency video coding」と題し、両方とも2014年10月に公開された、勧告ITU-T H.265および国際規格ISO/IEC 23008-2において一緒に提示されている。
【００３６】
動き付きのテキストおよびグラフィックスなどのスクリーンコンテンツ素材用の新しいコーディングツールも現在開発中である。これらの新しいコーディングツールは、H.265/HEVC SCC拡張などの、HEVCに対する拡張において実装される場合がある。SCCワーキングドラフト(SCC WD)、JCTVC-U1005は、http://phenix.int-evry.fr/jct/doc_end_user/documents/21_Warsaw/wg11/JCTVC-U1005-v1.zipにおいて入手可能である。これらの新しいコーディングツールも、HEVCに対する後継規格において実装される場合がある。
【００３７】
本開示は、全体的に、最近確定されたHEVC仕様テキストを、HEVCバージョン1またはベースHEVCとして参照する。範囲拡張仕様は、HEVCのバージョン2となる場合がある。動きベクトル予測などの多くのコーディングツールに関して、HEVCバージョン1または範囲拡張仕様は技術的に同様である。したがって、本開示がHEVCバージョン1に対する変更を記載するときはいつでも、全体的にベースHEVC仕様プラスいくつかの追加コーディングツールを含む範囲拡張仕様にも、同じ変更が適用される場合がある。さらに、HEVCバージョン1のモジュールがHEVC範囲拡張を実装するデコーダに組み込まれる場合もあることが、全体的に想定され得る。
【００３８】
ソースデバイス12のビデオエンコーダ20は、これらの現在または将来の規格のいずれかに従って、ビデオデータを符号化するように構成される場合があると一般的に考えられる。同様に、宛先デバイス14のビデオデコーダ30は、これらの現在または将来の規格のいずれかに従って、ビデオデータを復号するように構成される場合があるとも一般的に考えられる。本明細書に記載される技法はHEVCに関して記載されるが、本明細書における技法は、HEVCに対する後継規格を含む他のビデオコーディング規格とも適合することができる。
【００３９】
図1に示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、各々、オーディオエンコーダおよびオーディオデコーダと一体化される場合があり、共通のデータストリームまたは別個のデータストリームの中のオーディオとビデオの両方の符号化を処理するために、適切なMUX-DEMUXユニット、または他のハードウェアおよびソフトウェアを含む場合がある。適用可能な場合、いくつかの例では、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠することができる。
【００４０】
ビデオエンコーダ20およびビデオデコーダ30は、各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装される場合がある。本技法が部分的にソフトウェアに実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェア用の命令を記憶し、1つまたは複数のプロセッサを使用してハードウェアにおいてその命令を実行して、本開示の技法を実行することができる。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれる場合があり、これらのいずれも、それぞれのデバイス内で複合エンコーダ/デコーダ(CODEC)の一部として統合される場合がある。
【００４１】
HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは、通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれる場合もある。ピクチャは、SL、SCb、およびSCrと表記される3つのサンプルアレイを含む場合がある。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれる場合もある。他の事例では、ピクチャはモノクロームの場合があり、ルーマサンプルのアレイしか含まない場合がある。
【００４２】
ピクチャの符号化表現を生成するために、ビデオエンコーダ20は、コーディングツリーユニット(CTU)のセットを生成することができる。CTUの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備える場合がある。モノクロームピクチャ、または3つの別個のカラープレーンを有するピクチャでは、CTUは、単一のコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備える場合がある。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)と呼ばれる場合もある。HEVCのCTUは、H.264/AVCなどの他の規格のマクロブロックに大まかに類似する場合がある。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含む場合がある。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のCTUを含む場合がある。
【００４３】
コード化CTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロック上で4分木区分化を再帰的に実行して、コーディングツリーブロックをコーディングブロックに分割することができ、したがって、「コーディングツリーユニット」という名前である。コーディングブロックは、サンプルのN×Nブロックであり得る。CUは、ルーマサンプルアレイ、Cbサンプルアレイ、およびCrサンプルアレイを有するピクチャの、ルーマサンプルのコーディングブロック、およびクロマサンプルの2つの対応するコーディングブロック、ならびにコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備える場合がある。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、CUは、単一のコーディングブロック、およびそのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備える場合がある。
【００４４】
ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分化することができる。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックである。CUの予測ユニット(PU)は、ルーマサンプルの予測ブロック、クロマサンプルの2つの対応する予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備える場合がある。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、PUは、単一の予測ブロック、およびその予測ブロックを予測するために使用されるシンタックス構造を備える場合がある。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック用の予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成することができる。
【００４５】
ビデオエンコーダ20は、イントラ予測またはインター予測を使用して、PU用の予測ブロックを生成することができる。ビデオエンコーダ20がイントラ予測を使用してPUの予測ブロックを生成する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号サンプルに基づいて、PUの予測ブロックを生成することができる。ビデオエンコーダ20がインター予測を使用してPUの予測ブロックを生成する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ブロックを生成することができる。
【００４６】
ビデオエンコーダ20がCUの1つまたは複数のPU用の予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成した後、ビデオエンコーダ20は、CU用のルーマ残差ブロックを生成することができる。CUのルーマ残差ブロック内の各サンプルは、CUの予測ルーマブロックのうちの1つの中のルーマサンプルと、CUの元のルーマコーディングブロックの中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ20は、CU用のCb残差ブロックを生成することができる。CUのCb残差ブロックの中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルと、CUの元のCbコーディングブロックの中の対応するサンプルとの間の差分を示すことができる。ビデオエンコーダ20は、CU用のCr残差ブロックを生成することもできる。CUのCr残差ブロックの中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルと、CUの元のCrコーディングブロックの中の対応するサンプルとの間の差分を示すことができる。
【００４７】
さらに、ビデオエンコーダ20は、4分木区分化を使用して、CUのルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロックを、1つまたは複数のルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに分解することができる。変換ブロックは、同じ変換が適用されるサンプルの矩形(たとえば、正方形または非正方形)ブロックである。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロック、クロマサンプルの2つの対応する変換ブロック、およびそれらの変換ブロックサンプルを変換するために使用されるシンタックス構造を備える場合がある。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連付けられる場合がある。TUに関連付けられたルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、TUは、単一の変換ブロック、および変換ブロックのサンプルを変換するために使用されるシンタックス構造を備える場合がある。
【００４８】
ビデオエンコーダ20は、TUのルーマ変換ブロックに1つまたは複数の変換を適用して、TU用のルーマ係数ブロックを生成することができる。係数ブロックは、変換係数の2次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ20は、TUのCb変換ブロックに1つまたは複数の変換を適用して、TU用のCb係数ブロックを生成することができる。ビデオエンコーダ20は、TUのCr変換ブロックに1つまたは複数の変換を適用して、TU用のCr係数ブロックを生成することができる。
【００４９】
係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、ビデオエンコーダ20は、係数ブロックを量子化することができる。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ減らすために変換係数が量子化され、さらなる圧縮をもたらすプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実施することができる。
【００５０】
ビデオエンコーダ20は、コード化ピクチャの表現および関連するデータを形成するビットのシーケンスを含むビットストリームを出力することができる。ビットストリームは、NALユニットのシーケンスを備える場合がある。NALユニットは、NALユニット内のデータのタイプの指示と、必要に応じてエミュレーション防止ビットとともに組み入れられたRBSPの形態でそのデータを含むバイトとを含む、シンタックス構造である。NALユニットの各々は、NALユニットヘッダを含み、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含む場合がある。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化されている整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPは0個のビットを含む。
【００５１】
様々なタイプのNALユニットは、様々なタイプのRBSPをカプセル化することができる。たとえば、第1のタイプのNALユニットはPPS用のRBSPをカプセル化することができ、第2のタイプのNALユニットはコード化スライス用のRBSPをカプセル化することができ、第3のタイプのNALユニットはSEIメッセージ用のRBSPをカプセル化することができ、以下同様である。(パラメータセットおよびSEIメッセージ用のRBSPとは対照的に)ビデオコーディングデータ用のRBSPをカプセル化するNALユニットは、VCL NALユニットと呼ばれる場合がある。
【００５２】
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信することができる。加えて、ビデオデコーダ30は、ビットストリームを構文解析して、ビットストリームからシンタックス要素を取得することができる。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを復元することができる。ビデオデータを復元するプロセスは、全体的に、ビデオエンコーダ20によって実施されるプロセスの逆であり得る。加えて、ビデオデコーダ30は、現在CUのTUに関連付けられた係数ブロックを逆量子化することができる。ビデオデコーダ30は、係数ブロックに対して逆変換を実施して、現在CUのTUに関連付けられた変換ブロックを復元することができる。ビデオデコーダ30は、現在CUのPUの予測ブロックのサンプルを現在CUのTUの変換ブロックの対応するサンプルに加算することによって、現在CUのコーディングブロックを復元することができる。ピクチャのCUごとにコーディングブロックを復元することによって、ビデオデコーダ30はピクチャを復元することができる。
【００５３】
図2は、IBCモードの概念図を示す。ビデオエンコーダ20およびビデオデコーダ30は、たとえば、IBCモードを使用してビデオデータのブロックを符号化および復号するように構成される場合がある。リモートデスクトップ、リモートゲーミング、ワイヤレスディスプレイ、自動インフォテインメント、クラウドコンピューティングなどの多くの適用例が人々の日常生活における常套手段になりつつあり、そのようなコンテンツをコーディングするときのコーディング効率は、IBCモードの使用によって改善される場合がある。図1のシステム10は、これらの適用例のいずれかを実行するように構成されたデバイスを表すことができる。これらの適用例におけるビデオコンテンツは、しばしば、自然なコンテンツ、テキスト、人工グラフィックスなどの組合せである。ビデオフレームのテキストおよび人工グラフィックスの領域では、(文字、アイコン、シンボルなどの)繰返しパターンがしばしば存在する。上記で紹介されたように、IBCは、JCT-VC M0350において報告されたように、この種類の冗長性を除去し、イントラフレームコーディング効率を潜在的に改善することを可能にする専用の技法である。図2に示されたように、IBCを使用するCUの場合、予測信号は、同じフレーム内ですでに復元された領域から取得される。最終的に、現在CUから変位された予測信号の位置を示すオフセットベクトルは、残差信号と一緒に符号化される。
【００５４】
たとえば、図2は、たとえば、本開示の技法によるIBCモードに従って、本開示による、同じピクチャ内のビデオデータの予測ブロックからビデオデータのブロックのイントラ予測用のモードに従って、現在ピクチャ103内のビデオデータの現在ブロック102を予測するための例示的な技法を示す。図2は、現在ピクチャ103内のビデオデータの予測ブロック104を示す。ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、本開示の技法によるIBCモードに従って、予測ビデオブロック104を使用して現在ビデオブロック102を予測することができる。
【００５５】
ビデオエンコーダ20は、ビデオデータの以前復元されたブロックのセットから、現在ビデオブロック102を予測するための予測ビデオブロック104を選択する。ビデオエンコーダ20は、符号化ビデオビットストリームにも含まれるビデオデータを逆量子化および逆変換し、得られた残差ブロックを、ビデオデータの復元されたブロックを予測するために使用される予測ブロックと加算することによってビデオデータのブロックを復元する。図2の例では、ピクチャ103内の対象領域108は、「対象エリア」または「ラスタエリア」と呼ばれる場合もあり、以前復元されたビデオブロックのセットを含む。ビデオエンコーダ20は、下記でより詳細に記載されるように、様々な方法でピクチャ103内の対象領域108を定義することができる。ビデオエンコーダ20は、対象領域108内の様々なビデオブロックに基づいて現在ビデオブロック102を予測およびコーディングする相対的な効率および精度の分析に基づいて、対象領域108内のビデオブロックの中から現在ビデオブロック102を予測するように、予測ビデオブロック104を選択することができる。
【００５６】
対象領域108は、本開示ではIBC予測領域と呼ばれる場合もある。本開示は、対象領域108にどのブロックが含まれるかを修正することができる、様々な技法を記載する。したがって、本開示の技法を実施するとき、対象領域108のサイズおよび形状は、図2の例に示されたサイズおよび形状とは異なる場合がある。
【００５７】
ビデオエンコーダ20は、現在ビデオブロック102に対する予測ビデオブロック104の位置または変位を表す2次元ベクトル106を特定する。2次元ベクトル106は、オフセットベクトルの一例であり、現在ビデオブロック102に対する予測ビデオブロック104の水平変位および垂直変位をそれぞれ表す、水平変位成分112および垂直変位成分110を含む。ビデオエンコーダ20は、符号化ビデオビットストリーム内の、2次元ベクトル106を識別または定義する、たとえば、水平変位成分112および垂直変位成分110を定義する、1つまたは複数のシンタックス要素を含む場合がある。ビデオデコーダ30は、1つまたは複数のシンタックス要素を復号して2次元ベクトル106を特定し、特定されたベクトルを使用して現在ビデオブロック102用の予測ビデオブロック104を識別することができる。
【００５８】
現在ビデオブロック102は、CU、またはCUのPUであり得る。いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、IBCに従って予測されたCUをいくつかのPUに分割することができる。そのような例では、ビデオコーダは、CUのPUの各々のために、それぞれの(たとえば、異なる)2次元ベクトル106を特定することができる。たとえば、ビデオコーダは、2N×2NのCUを2つの2N×NのPU、2つのN×2NのPU、または4つのN×NのPUに分割することができる。他の例として、ビデオコーダは、2N×2NのCUを((N/2)×N+(3N/2)×N)のPU、((3N/2)×N+(N/2)×N)のPU、(N×(N/2)+N×(3N/2))のPU、(N×(3N/2)+N×(N/2))のPU、4つの(N/2)×2NのPU、または4つの2N×(N/2)のPUに分割することができる。いくつかの例では、ビデオコーダは、2N×2NのPUを使用して2N×2NのCUを予測することができる。
【００５９】
現在ビデオブロック102は、ルーマビデオブロック(たとえば、ルーマ成分)、およびルーマビデオブロックに対応するクロマビデオブロック(たとえば、クロマ成分)を含む。いくつかの例では、ビデオエンコーダ20は、ルーマビデオブロック用の2次元ベクトル106を定義する1つまたは複数のシンタックス要素のみを、符号化ビデオビットストリーム内に符号化することができる。そのような例では、ビデオデコーダ30は、ルーマブロック用にシグナリングされた2次元ベクトルに基づいて、ルーマブロックに対応する1つまたは複数のクロマブロックの各々のための2次元ベクトル106を導出することができる。本開示に記載された技法では、1つまたは複数のクロマブロックのための2次元ベクトルの導出において、ビデオデコーダ30は、ルーマブロック用の2次元ベクトルがクロマサンプル内のサブピクセル位置を指す場合、ルーマブロック用の2次元ベクトルを修正することができる。
【００６０】
色フォーマット、たとえば色サンプリングフォーマットまたはクロマサンプリングフォーマットに応じて、ビデオコーダは、ルーマビデオブロックに対して、対応するクロマビデオブロックをダウンサンプリングすることができる。色フォーマット4:4:4はダウンサンプリングを含まず、クロマブロックがルーマブロックと同じ数のサンプルを水平方向および垂直方向に含むことを意味する。色フォーマット4:2:2は水平方向にダウンサンプリングされ、ルーマブロックに対して、クロマブロック内で水平方向に半数のサンプルが存在することを意味する。色フォーマット4:2:0は水平方向および垂直方向にダウンサンプリングされ、ルーマブロックに対して、クロマブロック内で水平方向および垂直方向に半数のサンプルが存在することを意味する。
【００６１】
ビデオコーダが、対応するルーマブロック用のベクトル106に基づいてクロマビデオブロック用のベクトル106を特定する例では、ビデオコーダはルーマベクトルを修正する必要があり得る。たとえば、ルーマベクトル106が整数解像度を有し、水平変位成分112および/または垂直変位成分110が奇数の数のピクセルであり、色フォーマットが4:2:2または4:2:0である場合、変換されたルーマベクトルは、対応するクロマブロック内の整数ピクセル位置を指さない場合がある。そのような例では、ビデオコーダは、ルーマベクトルを、対応するクロマブロックを予測するクロマベクトルとして使用するためにスケーリングすることができる。
【００６２】
図2は、IBCモードでコーディングされている現在CUを示す。現在CU用の予測ブロックは、探索領域から取得される場合がある。探索領域は、現在CUと同じフレームからすでにコーディングされたブロックを含む。たとえば、フレームがラスタ走査順序(すなわち、左から右および上から下)でコーディングされていると仮定すると、図2に示されたように、フレームのすでにコーディングされたブロックは、現在CUの左および上にあるブロックに対応する。いくつかの例では、探索領域は、フレーム内のすでにコーディングされたブロックのすべてを含む場合があるが、他の例では、探索領域は、すでにコーディングされたブロックのすべてより少ないブロックを含む場合がある。図2のオフセットベクトルは、動きベクトルまたは予測ベクトルと呼ばれることがあり、現在CUの左上ピクセルと(図2において予測信号と標示された)予測ブロックの左上ピクセルとの間の差分を識別する。したがって、符号化ビデオビットストリーム内のオフセットベクトルをシグナリングすることにより、ビデオデコーダは、現在CUがIBCモードでコーディングされるとき、現在CU用の予測ブロックを識別することができる。
【００６３】
IBCは、HEVCに対するSCC拡張を含む、SCCの様々な実装形態に含まれている。IBCの一例が図2に関して上述され、そこでは、現在CU/PUは現在ピクチャ/スライスのすでに復号されたブロックから予測される。IBCでは、予測ブロック(たとえば、図2のブロック104)は、ループフィルタリングされていない、たとえば、デブロックフィルタリングまたはSAOフィルタリングされていない復元ブロックであり得る。
【００６４】
SCCのいくつかの実装形態では、ブロックベクトル予測子は、各CTBの最初に(-w、0)に設定され、ここで、wはCUの幅に相当する。そのようなブロックベクトル予測子は、それがIBCモードを用いてコーディングされる場合、最新のコード化CU/PUのうちの1つになるように更新される。CU/PUがIBCを用いてコーディングされない場合、ブロックベクトル予測子は変更されないままである。ブロックベクトル予測の後、HEVC内などのMV差分(MVD)コーディング方法を使用して、ブロックベクトルの差分が符号化される。
【００６５】
IBCのいくつかの実装形態は、CUレベルとPUレベルの両方におけるIBCコーディングを可能にする。PUレベルのIBCの場合、2N×NおよびN×2NのPU区分化がすべてのCUサイズに対してサポートされる。加えて、CUが最小のCUであるとき、N×NのPU区分化がサポートされる。
【００６６】
HEVC SCC仕様(JCTVC-W1005-v4)では、イントラBCシグナリングは、参照候補セットに現在ピクチャを追加することによって、インターと統合される。現在スライスの復号の前に、現在ピクチャは長期として印をつけられる。次いで、それは、現在ピクチャの復号の後、短期に変換し戻される。マージ/AMVPシグナリング、AMVP導出およびMVDコーディングを含むシグナリングおよびコーディング方法は、インターと同じである。しかしながら、イントラBCブロックは、対応する参照ピクチャを調べることによって、従来のインターブロックとは区別され得る。参照ピクチャが現在ピクチャである場合、それはイントラBCブロックである。そうでない場合、それはインターブロックである。双方向予測の場合、この解釈は、各動きベクトルに適用され得る。
【００６７】
POC値は、ビデオコーディング規格では、ピクチャを識別するのに使用され得る。ピクチャのPOC値は、参照ピクチャセットおよび参照ピクチャリストの構築のため、動きベクトル(MV)スケーリングのため、ならびに復号ピクチャを出力する順序の決定のために使用される。HEVCは、ピクチャ順序カウントを以下のように定義する。
ピクチャ順序カウント:各ピクチャと関連付けられる変数であって、CVS中のすべてのピクチャの中で関連するピクチャを一意に識別し、関連するピクチャが復号ピクチャバッファから出力されるべきであるとき、出力順序における関連するピクチャの場所を、復号ピクチャバッファから出力されるべき同じCVS中の他のピクチャの出力順序の場所に対して示す。
【００６８】
現在のSCC作業草案(JCTVC-W1005-v4)によると、重み付け予測は、参照ピクチャPOCが現在ピクチャPOCと同じであるとき、無効にされる。したがって、参照ピクチャおよび現在ピクチャのPOC(下記のテーブル1において下線を引かれている)に基づいて、下記のシンタックステーブルに示すように、無用な情報のシグナリングを避けるために、luma_weight_l0_flag、chroma_weight_l0_flag、luma_weight_l1_flag、chroma_weight_l1_flagなど、いくつかの重み付け予測情報はシグナリングされない。
【００６９】
【表１】
2019509669.tif 000003
【００７０】
マルチレイヤコーディングが使用されるとき、異なるレイヤからのピクチャが、復号される現在ピクチャと同じPOCを有する場合がある。したがって、現在のシンタックスによると、参照ピクチャが、異なるレイヤからであるが現在ピクチャと同じPOCをもつとき、重み付け予測は、どの重み付け予測パラメータもシグナリングされないので、暗黙的に無効にされる。この結果、重み付け予測が潜在的にコーディング利得を生成する可能性があるコーディングシナリオに対して重み付け予測が無効にされることによる性能低下が生じる場合がある。
【００７１】
JCTVC-W0076は、以下のように、PPSレベルIBCフラグが1であるかどうかという検査を導入することによって、この問題への解決策を提案する。
【００７２】
【表２】
2019509669.tif 000004
【００７３】
しかしながら、この提案は問題を解決しない。たとえば、将来のプロファイルまたはビデオコーディング規格が、SCCツールをマルチレイヤコーディングと組み合わせる可能性がある。そのような場合、PPSレベルIBCフラグが、あるピクチャについて1に等しいときはいつでも、参照ピクチャが別のレイヤからであるとともに現在ピクチャと同じPOCをもつとき、すなわち改善されたコーディング性能のためにインターレイヤ予測用に重み付け予測を有効にすることが望ましい場合があるコーディングシナリオであっても、重み付け予測は無効にされることになる。本開示の技法は、上述した問題に対処するための潜在的解決策を紹介する。
【００７４】
本開示の技法によると、luma_weight_l0_flag、chroma_weight_l0_flag、luma_weight_l1_flag、chroma_weight_l1_flagなど、いくつかの重み付け予測情報は、(a)参照および現在ピクチャのPOC値、ならびに(b)参照ピクチャおよび現在ピクチャについてのnuh_layer_idの値に基づいて条件付きでシグナリングされ得る。つまり、重み付け予測情報のシグナリングは、場合によってはシグナリングされ得るが、そのようなシグナリングは、他の場合には意図的にスキップされ得る。重み付けされた予測情報をシグナリングするか、それともそのシグナリングをスキップするかの決定は、参照ピクチャのPOC、現在ピクチャのPOC、参照ピクチャのnuh_layer_idおよび現在ピクチャのnuh_layer_idに基づき得る。
【００７５】
パラメータluma_weight_l0_flag、chroma_weight_l0_flag、luma_weight_l1_flag、chroma_weight_l1_flagは、以下の条件の一方または両方が真でない場合、条件付きでシグナリングされる(言い換えると、以下の条件の両方が真であるときのみ、重み付け予測が無効にされ、重み付け予測パラメータがシグナリングされない)。
・参照ピクチャおよび現在ピクチャのPOC値が同じである
・参照ピクチャおよび現在ピクチャのnuh_layer_id値が同じである。
テキスト修正が下記のTable 3(表3)に示され、ここで関数LayerIdVal(picX)は以下のように指定される。
LayerIdVal(picX)=ピクチャpicXのnuh_layer_id
【００７６】
【表３】
2019509669.tif 000005
【００７７】
シンタックス要素luma_weight_l0_flag、chroma_weight_l0_flag、luma_weight_l1_flag、chroma_weight_l1_flagの各々は条件付きでシグナリングされ、シンタックス要素は、2つの条件のうちの少なくとも1つが真である場合は受信され、2つの条件の両方が偽である場合は受信されない。第1の条件は、現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないことであり、これは、上記のTable 3(表3)において、以下のように示される。
PicOrderCnt(RefPicList0[i])!=PicOrderCnt(CurrPic)、および
PicOrderCnt(RefPicList1[i])!=PicOrderCnt(CurrPic)
【００７８】
第2の条件は、現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことであり、これは、上記のTable 3(表3)において、以下のように示される。
LayerIdVal(RefPicList0[i])!=LayerIdVal(CurrPic)、および
LayerIdVal(RefPicList1[i])!=LayerIdVal(CurrPic)
【００７９】
Table 1〜Table 3(表1〜表3)に関して上述したpred_weight_tableシンタックス構造は、たとえば、スライスヘッダまたは他のそのようなシンタックス構造の一部として実装され得る。HEVCのセクション7.4.7.3によると、Table 1〜Table 3(表1〜表3)のシンタックス要素は以下のように定義される。シンタックス要素「luma_log2_weight_denom」は、すべてのルーマ重み付け因子に対する分母の底2の対数である。luma_log2_weight_denomの値は、両端値を含む0〜7の範囲内であるものとする。シンタックス要素「delta_chroma_log2_weight_denom」は、すべてのクロマ重み付け因子に対する分母の底2の対数の差分である。1に等しく設定されたシンタックス要素「luma_weight_l0_flag[i]」は、RefPicList0[i]を使用するリスト0予測のルーマ成分に対する重み付け因子が存在することを指定する。0に等しいluma_weight_l0_flag[i]は、これらの重み付け因子が存在しないことを指定する。1に等しく設定されたシンタックス要素「chroma_weight_l0_flag[i]」は、RefPicList0[i]を使用するリスト0予測のクロマ予測値に対する重み付け因子が存在することを指定する。0に等しいchroma_weight_l0_flag[i]は、これらの重み付け因子が存在しないことを指定する。chroma_weight_l0_flag[i]が存在しないときには、0に等しいと推論される。シンタックス要素「delta_luma_weight_l0[i]」は、RefPicList0[i]を使用するリスト0予測のためのルーマ予測値に適用される重み付け因子の差分である。
【００８０】
シンタックス要素「luma_offset_l0[i]」は、RefPicList0[i]を使用するリスト0予測のためのルーマ予測値に適用される加法オフセットである。luma_offset_l0[i]の値は、両端を含む-128〜127の範囲内にあるものとする。luma_weight_l0_flag[i]が0に等しいとき、luma_offset_l0[i]は、0に等しいと推論される。シンタックス要素「delta_chroma_weight_l0[i][j]」は、Cbについては0に等しいjおよびCrについては1に等しいjをもつRefPicList0[i]を使用するリスト0予測のためのクロマ予測値に適用される重み付け因子の差分である。シンタックス要素「delta_chroma_offset_l0[i][j]」は、Cbについては0に等しいjおよびCrについては1に等しいjをもつRefPicList0[i]を使用するリスト0予測のためのクロマ予測値に適用される加法オフセットの差分である。
【００８１】
さらに、HEVCのセクション7.4.7.3によると、シンタックス要素luma_weight_l1_flag[i]、chroma_weight_l1_flag[i]、delta_luma_weight_l1[i]、luma_offset_l1[i]、delta_chroma_weight_l1[i][j]、およびdelta_chroma_offset_l1[i][j]は、それぞれ、luma_weight_l0_flag[i]、chroma_weight_l0_flag[i]、delta_luma_weight_l0[i]、luma_offset_l0[i]、delta_chroma_weight_l0[i][j]、およびdelta_chroma_offset_l0[i][j]と同じセマンティクスを有し、l0、L0、リスト0、およびList0が、それぞれ、l1、L1、リスト1、およびList1で置き換えられる。
【００８２】
図3は、本開示において記載されるIBCコーディング技法を実施することができる例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実施することができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオにおける空間冗長性を低減または除去するために空間予測に依存する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオにおける時間冗長性を低減または除去するために時間予測に依存する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのうちのいずれかを指す場合がある。
【００８３】
図3の例では、ビデオエンコーダ20は、ビデオデータメモリ40と、予測処理ユニット41と、復号ピクチャバッファ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、区分化ユニット35と、動き推定ユニット42と、動き補償ユニット44と、IBCユニット48と、イントラ予測処理ユニット46とを含む。ビデオブロック復元のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。加算器62と復号ピクチャバッファ64との間に、ループ内フィルタ(図示せず)が配置される場合がある。
【００８４】
様々な例では、ビデオエンコーダ20の固定またはプログラム可能なハードウェアユニットは、本開示の技法を実施するように仕事を課せられる場合がある。また、いくつかの例では、本開示の技法は、図3に示されたビデオエンコーダ20の示された固定またはプログラム可能なハードウェアユニットのうちの1つまたは複数の間で分割される場合があるが、他のデバイスが本開示の技法を実施する場合もある。たとえば、図3の例によると、ビデオエンコーダ20の動き補償ユニット44は、本開示の技法のうちのいくつかを単独で実施するか、または、動き推定ユニット42、IBCユニット48、およびエントロピー符号化ユニット56などの、ビデオエンコーダ20の他のユニットとの組合せで実施することができる。いくつかの例では、ビデオエンコーダ20は専用のIBCユニット48を含まない場合があり、その代わりに、IBCユニット48の機能は、動き推定ユニット42および/または動き補償ユニット44などの、予測処理ユニット41の他の構成要素によって実施される場合がある。
【００８５】
ビデオデータメモリ40は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶することができる。ビデオデータメモリ40内に記憶されるビデオデータは、たとえば、ビデオソース18から取得される場合がある。復号ピクチャバッファ(DPB)64は、(たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる、イントラコーディングモードまたはインターコーディングモードで)ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶するバッファである。ビデオデータメモリ40およびDPB64は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成される場合がある。ビデオデータメモリ40およびDPB64は、同じメモリデバイスまたは別個のメモリデバイスによって提供される場合がある。様々な例では、ビデオデータメモリ40は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【００８６】
図3に示されたように、ビデオエンコーダ20はビデオデータを受信し、区分化ユニット35はデータをビデオブロックに区分化する。この区分化は、スライス、タイル、または他のより大きい単位への区分化、ならびに、たとえば、LCUおよびCUの4分木構造によるビデオブロック区分化を含む場合もある。ビデオエンコーダ20は、全体的に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロック(および、場合によっては、タイルと呼ばれるビデオブロックのセット)に分割される場合がある。予測処理ユニット41は、エラー結果(たとえば、コーディングレートおよびひずみのレベル)に基づいて、現在ビデオブロックのために、複数のイントラコーディングモードのうちの1つまたは複数のインターコーディングモードのうちの1つなどの、複数の可能なコーディングモードのうちの1つを選択することができる。予測処理ユニット41は、IBCモードで符号化するための上述された本開示の技法を実施するように構成される場合がある。予測処理ユニット41は、残差ブロックデータを生成するために加算器50に、参照ピクチャとして使用するための符号化ブロックを復元するために加算器62に、得られたイントラコード化ブロックまたはインターコード化ブロックを供給することができる。
【００８７】
予測処理ユニット41内のイントラ予測処理ユニット46は、空間圧縮を実現するために、コーディングされるべき現在ブロックと同じフレームまたはスライス内の1つまたは複数の隣接ブロックに対する現在ビデオブロックのイントラ予測コーディングを実施することができる。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を実現するために、1つまたは複数の参照ピクチャの中の1つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを実施する。
【００８８】
動き推定ユニット42は、ビデオシーケンス用の所定のパターンに従って、ビデオスライス用のインター予測モードを決定するように構成される場合がある。所定のパターンは、シーケンス内のビデオスライスをPスライスまたはBスライスとして指定することができる。動き推定ユニット42および動き補償ユニット44は、高度に集積される場合があるが、概念的な目的のために別々に示されている。動き推定ユニット42によって実施される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示すことができる。IBCユニット48は、インター予測のための動き推定ユニット42による動きベクトルの特定と同様の方式で、IBCコーディングのためのベクトル、たとえばブロックベクトルを特定することができるか、または動き推定ユニット42を利用してブロックベクトルを特定することができる。
【００８９】
予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUと厳密に一致することが判明したブロックである。いくつかの例では、ビデオエンコーダ20は、復号ピクチャバッファ64に記憶された参照ピクチャのサブ整数ピクセル位置についての値を計算することができる。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間することができる。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力することができる。
【００９０】
動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することにより、インターコード化スライス内のビデオブロックのPU用の動きベクトルを計算する。参照ピクチャは、その各々が復号ピクチャバッファ64に記憶された1つまたは複数の参照ピクチャを識別する、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択される場合がある。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56および動き補償ユニット44に送る。参照ピクチャの中の参照ブロックを決定することの一部として、動き推定ユニット42は、重み付け予測を実施することもできる。
【００９１】
いくつかの例では、IBCユニット48は、動き推定ユニット42および動き補償ユニット44に関して上述された方式と同様の方式でベクトルを生成し、予測ブロックをフェッチすることができるが、予測ブロックは現在ブロックと同じピクチャまたはフレームの中にあり、ベクトルは動きベクトルの対語としてブロックベクトルと呼ばれる。他の例では、IBCユニット48は、動き推定ユニット42および動き補償ユニット44を使用して、全体的または部分的に、本明細書に記載された技法によるIBC予測のためのそのような機能を実施することができる。いずれにせよ、IBCの場合、予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックと厳密に一致することが判明したブロックの場合があり、ブロックの識別は、サブ整数ピクセル位置についての値の計算を含む場合がある。
【００９２】
動き補償ユニット44によって実施される動き補償は、場合によっては、サブピクセル精度への補間を実施する、動き推定によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴う場合がある。現在ビデオブロックのPU用の動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つの中で動きベクトルが指す予測ブロックを位置決めすることができる。ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックに対する残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含む場合がある。加算器50は、この減算演算を実施する1つまたは複数の構成要素を表す。動き補償ユニット44は、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成することもできる。
【００９３】
上記で紹介されたように、インター予測モードでブロックをコーディングするとき、予測処理ユニットは、マージモードを使用して動き情報をシグナリングすることができる。たとえば、現在ピクチャの現在ブロックに対して、動き推定ユニット42および/またはIBCユニット48は、マージ候補リストを生成することができ、マージ候補リスト内の各候補は関連する動き情報を有する。動き情報は、現在ブロックまたは以前コーディングされたピクチャと同じピクチャを指す動きベクトルを含む場合がある。動き推定ユニット42および/またはIBCユニット48は、マージ候補リストからマージ候補を選択し、選択された候補の動き情報を使用して現在ブロックを符号化することができる。予測処理ユニット41は、選択されたマージ候補を識別するシンタックス要素をエントロピー符号化ユニット56に出力することができる。エントロピー符号化ユニット56は、符号化ビットストリーム内に含めるためのシンタックス要素をエントロピー符号化することができる。
【００９４】
予測ビデオブロックが、IBC予測に従って同じピクチャからか、インター予測に従って異なるピクチャからかにかかわらず、ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成することができる。ピクセル差分値はブロック用の残差データを形成し、ルーマ成分差とクロマ成分差の両方を含む場合がある。加算器50は、この減算演算を実施する1つまたは複数の構成要素を表す。IBCユニット48および/または動き補償ユニット44は、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30などのビデオデコーダによって使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成することもできる。シンタックス要素には、たとえば、予測ブロックを識別するために使用されるベクトルを定義するシンタックス要素、予測モードを示す任意のフラグ、または本開示の技法に関して記載された任意の他のシンタックスが含まれる場合がある。
【００９５】
イントラ予測処理ユニット46は、上述されたように、動き推定ユニット42および動き補償ユニット44によって実施されるインター予測、またはIBCユニット48によって実施されるIBC予測の代替として、現在ブロックをイントラ予測することができる。詳細には、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用する、IBCモードを含むイントラ予測モードを決定することができる。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別々の符号化パスの間、様々なイントラ予測モードを使用して現在ブロックを符号化することができ、イントラ予測処理ユニット46(または、いくつかの例では、モード選択ユニット)は、テストされたモードから使用する適切なイントラ予測モードを選択することができる。
【００９６】
たとえば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードに対してレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中から最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、一般に、符号化ブロックと、符号化ブロックを生成するために符号化された、元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロック用の最良のレートひずみ値を表すかを判定するために、様々な符号化ブロックについてのひずみおよびレートから比を計算することができる。
【００９７】
いずれの場合も、ブロック用のイントラ予測モードを選択した後、イントラ予測処理ユニット46は、エントロピー符号化ユニット56にブロック用の選択されたイントラ予測モードを示す情報を提供することができる。エントロピー符号化ユニット56は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ20は、(コードワードマッピングテーブルとも呼ばれる)複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブルを含む場合がある送信されたビットストリーム構成データの中に、コンテキストの各々のために使用する、様々なブロックのための符号化コンテキストの定義と、最も可能性の高いイントラ予測モードの指示と、イントラ予測モードインデックステーブルと、修正されたイントラ予測モードインデックステーブルとを含める場合がある。
【００９８】
予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して現在ビデオブロック用の予測ブロックを生成した後、ビデオエンコーダ20は、現在ビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つまたは複数のTUに含められ、変換処理ユニット52に適用される場合がある。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換することができる。
【００９９】
変換処理ユニット52は、得られた変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、変換係数を量子化してビットレートをさらに低減する。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって修正される場合がある。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実施することができる。代替として、エントロピー符号化ユニット56が走査を実施する場合がある。
【０１００】
量子化に続いて、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分化エントロピー(PIPE)コーディング、または別のエントロピー符号化の方法もしくは技法を実施することができる。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化ビットストリームは、ビデオデコーダ30に送信されるか、または後の送信もしくはビデオデコーダ30による取出しのためにアーカイブされる場合がある。エントロピー符号化ユニット56は、コーディングされている現在ビデオスライスの動きベクトルおよび他のシンタックス要素を符号化することもできる。
【０１０１】
逆量子化ユニット58および逆変換処理ユニット60は、それぞれ、逆量子化および逆変換を適用して、他のビデオブロックの予測のための参照ブロックとして後で使用するための、ピクセル領域における残差ブロックを復元する。動き補償ユニット44および/またはIBCユニット48は、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加算することにより、参照ブロックを計算することができる。動き補償ユニット44および/またはIBCユニット48は、復元された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算することもできる。
【０１０２】
加算器62は、動き補償ユニット44によって生成された動き補償予測ブロックに復元された残差ブロックを加算して、復号ピクチャバッファ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャの中のブロックをインター予測するために、参照ブロックとしてIBCユニット48、動き推定ユニット42、および動き補償ユニット44によって使用される場合がある。
【０１０３】
図3のビデオエンコーダ20は、マルチレイヤビデオデータの現在ピクチャについてのPOC値を決定し、現在ピクチャの参照ピクチャについてのPOC値を決定し、現在ピクチャについてのレイヤID値を決定し、参照ピクチャについてのレイヤID値を決定するように構成されたビデオエンコーダの例を表す。現在ピクチャについてのPOC値、現在ピクチャの参照ピクチャについてのPOC値、現在ピクチャについてのレイヤID値、および参照ピクチャについてのレイヤID値に基づいて、ビデオエンコーダ20は、重み付け予測が有効それとも無効にされるかを示すフラグを、マルチレイヤビデオデータの符号化ビットストリームに含めるために条件付きで生成する。フラグを条件付きで生成するために、ビデオエンコーダ20は、2つの条件のうちの少なくとも1つが真であることに応答してフラグを生成し、2つの条件が偽であることに応答してフラグを生成しない。2つの条件は、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである。2つの条件に基づいて、ビデオエンコーダ20は、マルチレイヤビデオデータの符号化ビットストリームを出力する。
【０１０４】
図4は、本開示において記載されるIBCモードのための技法を実施することができる例示的なビデオデコーダ30を示すブロック図である。図4の例では、ビデオデコーダ30は、ビデオデータメモリ79と、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換処理ユニット88と、加算器90と、復号ピクチャバッファ92とを含む。予測処理ユニット81は、IBCユニット85と、動き補償ユニット82と、イントラ予測処理ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図3からのビデオエンコーダ20に関して記載された符号化パスとは全体的に逆の復号パスを実施することができる。
【０１０５】
様々な例では、ビデオデコーダ30のユニットは、本開示の技法を実施するように仕事を課せられる場合がある。また、いくつかの例では、本開示の技法は、ビデオデコーダ30のユニットのうちの1つまたは複数の間で分割される場合がある。たとえば、IBCユニット85は、本開示の技法を単独で実施するか、または、動き補償ユニット82、イントラ予測処理ユニット84、およびエントロピー復号ユニット80などの、ビデオデコーダ30の他のユニットとの組合せで実施することができる。いくつかの例では、ビデオデコーダ30はIBCユニット85を含まない場合があり、IBCユニット85の機能は、動き補償ユニット82などの予測処理ユニット81の他の構成要素によって実施される場合がある。
【０１０６】
ビデオデータメモリ79は、ビデオデコーダ30の構成要素によって復号されるべき符号化ビデオビットストリームなどのビデオデータを記憶することができる。ビデオデータメモリ79内に記憶されたビデオデータは、たとえば、ストレージデバイス32から、カメラなどのローカルビデオソースから、ビデオデータの有線もしくはワイヤレスのネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得される場合がある。ビデオデータメモリ79は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成することができる。復号ピクチャバッファ92は、(たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれるイントラコーディングモードまたはインターコーディングモードで)ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する復号ピクチャバッファ(DPB)の一例である。ビデオデータメモリ79およびDPB92は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの様々なメモリデバイスのいずれかによって形成される場合がある。ビデオデータメモリ79およびDPB92は、同じメモリデバイスまたは別個のメモリデバイスによって提供される場合がある。様々な例では、ビデオデータメモリ79は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１０７】
復号プロセスの間に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、ビットストリームをエントロピー復号して、量子化係数、動きベクトル、および他のシンタックス要素を生成する。エントロピー復号ユニット80は、予測処理ユニット81に動きベクトルおよび他のシンタックス要素を転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信することができる。
【０１０８】
ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モード、および現在フレームまたは現在ピクチャの以前復号されたブロックからのデータに基づいて、現在ビデオスライスのビデオブロック用の予測データを生成することができる。予測処理ユニット81は、IBCコーディングモードのための本開示の技法を実施するように構成される場合がある。ビデオフレームがインターコーディングされた(すなわち、BまたはP)スライスとしてコーディングされたとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他の構文要素に基づいて、現在ビデオスライスのビデオブロック用の予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成される場合がある。ビデオデコーダ30は、復号ピクチャバッファ92内に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、リスト0およびリスト1を構築することができる。
【０１０９】
他の例では、ビデオブロックが本明細書に記載されたIBCモードに従ってコーディングされたとき、予測処理ユニット81のIBCユニット85は、エントロピー復号ユニット80から受信されたブロックベクトルおよび他のシンタックス要素に基づいて、現在ビデオブロック用の予測ブロックを生成する。予測ブロックは、ビデオエンコーダ20によって規定された現在ビデオブロックと同じピクチャ内の復元領域の中にあり、DPB92から取り出される場合がある。
【０１１０】
動き補償ユニット82および/またはIBCユニット85は、動きベクトルおよび他のシンタックス要素を構文解析することにより、現在ビデオスライスのビデオブロックについての予測情報を特定し、予測情報を使用して、復号されている現在ビデオブロック用の予測ブロックを生成する。たとえば、動き補償ユニット82は、受信されたシンタックス要素のうちのいくつかを使用して、現在ビデオスライス内のビデオブロックを復号するために、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)、スライス用の参照ピクチャリストのうちの1つまたは複数のための構築情報、スライスのインター符号化ビデオブロックごとの動きベクトル、スライスのインターコード化ビデオブロックごとのインター予測状態、および他の情報を特定する。
【０１１１】
同様に、IBCユニット85は、受信されたシンタックス要素のうちのいくつか、たとえばフラグを使用して、IBCモード、ピクチャのどのビデオブロックが復元領域内にあり、DPB92に記憶されるべきかを示す構築情報、スライスのIBC予測ビデオブロックごとのブロックベクトル、スライスのIBC予測ビデオブロックごとのIBC予測状況、および現在ビデオスライス内のビデオブロックを復号するための他の情報を使用して現在ビデオブロックが予測されたと判断することができる。
【０１１２】
動き補償ユニット82は、補間フィルタに基づいて補間を実施することもできる。動き補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用されたような補間フィルタを使用して、参照ブロックのサブ整数ピクセル用の補間値を計算することができる。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを特定し、補間フィルタを使用して予測ブロックを生成することができる。参照ピクチャの中の参照ブロックを決定することの一部として、動き補償ユニット82は、重み付け予測を実施することもできる。
【０１１３】
ビデオデコーダ30は、マージモードおよび/またはAMVPモードでコーディングされたブロックを復号するように構成されてよく、これらのモードは、インター予測パラメータを、および場合によってはIBCパラメータもシグナリングするためのモードである。そのような場合、予測処理ユニット81は、ビデオエンコーダ20によって組み立てられた同じ候補リストを組み立てるように構成される場合がある。たとえば、予測処理ユニット81は、図6および図7に関して上述された技法を実施することもできる。マージモードの例では、マージ候補リストを組み立てた後、予測処理ユニット81は、マージ候補リスト内の候補のインデックスを識別するシンタックス要素をエントロピー復号ユニット80から受信することができる。IBCユニット85および/またはイントラ予測処理ユニット84は、選択されたマージ候補に関連付けられた動き情報を使用して、予測ブロックを位置決めすることができる。選択されたマージ候補が、現在復号されているブロックを含むピクチャと同じピクチャを参照する場合、IBCユニット85および/またはイントラ予測処理ユニット84は、選択されたマージ候補の動きベクトルを低精度動きベクトルまで丸めて、隣接ブロックの動きベクトルの丸めバージョンを生成することができる。
【０１１４】
逆量子化ユニット86は、ビットストリーム内で供給され、エントロピー復号ユニット80によって復号された量子化変換係数を、逆量子化すなわち量子化解除する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス内のビデオブロックごとの、ビデオエンコーダ20によって計算された量子化パラメータの使用を含む場合がある。逆変換処理ユニット88は、ピクセル領域内の残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１１５】
動き補償ユニット82またはIBCユニット85が、ベクトルまたは他のシンタックス要素に基づいて現在ビデオブロック用の予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを、動き補償ユニット82およびIBCユニット85によって生成された対応する予測ブロックと加算することによって復号ビデオブロックを形成する。加算器90は、この加算演算を実施して復元ビデオブロックを生成する1つまたは複数の構成要素を表す。
【０１１６】
加算器90は、この加算演算を実施する1つまたは複数の構成要素を表す。加算器90と復号ピクチャバッファ92との間に、ループ内フィルタ(図示せず)が配置される場合がある。次いで、所与のフレームまたはピクチャ内の復号ビデオブロックは、後続の動き補償に使用される参照ピクチャを記憶する復号ピクチャバッファ92に記憶される。復号ピクチャバッファ92はまた、図1のディスプレイデバイス34などのディスプレイデバイスに後で提示するための復号ビデオを記憶する。
【０１１７】
図4のビデオデコーダ30は、マルチレイヤビデオデータの現在ピクチャについてのPOC値を決定し、現在ピクチャの参照ピクチャについてのPOC値を決定し、現在ピクチャについてのレイヤID値を決定し、参照ピクチャについてのレイヤID値を決定するように構成されたビデオデコーダの例を表す。ビデオデコーダ30は、重み付け予測が有効それとも無効にされるかを示すフラグ(たとえば、上記のテーブル3からのluma_weight_l0_flag、chroma_weight_l0_flag、luma_weight_l1_flag、またはchroma_weight_l1_flag)を条件付きで受信する。フラグを条件付きで受信するために、ビデオデコーダ30は、2つの条件のうちの少なくとも1つが真であることに応答してフラグを受信し、2つの条件の両方が偽であることに応答してフラグを受信しない(たとえば、フラグを受信するのをスキップする)。2つの条件は、(1)現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないこと、および(2)現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくないことである。ビデオデコーダ30は、重み付け予測が有効それとも無効にされるかの決定に基づいて、現在ピクチャのマルチレイヤビデオデータのブロックを復号することができる。
【０１１８】
ビデオデコーダ30は、たとえば、参照ピクチャについてのPOC値を現在ピクチャと比較することによって、現在ピクチャのPOC値が参照ピクチャのPOC値に等しくないかどうかを決定することができる。ビデオデコーダ30は、たとえば、現在ピクチャについてのnuh_layer_id値を参照ピクチャのレイヤID値と比較することによって、現在ピクチャについてのレイヤID値が、参照ピクチャについてのレイヤID値に等しくないかどうかを決定することができる。
【０１１９】
フラグを受信したこと、および重み付け予測が有効にされることをフラグが示すことに応答して、ビデオデコーダ30は、1つまたは複数の重み付け予測パラメータを受信し、重み付け予測プロセスを使用して現在ピクチャのブロックを予測する。フラグを受信したこと、および重み付け予測が無効にされることをフラグが示すことに応答して、ビデオデコーダ30は、1つまたは複数の重み付け予測パラメータを受信することなく、現在ピクチャを復号する。両方の条件が偽であることの結果として、フラグを受信しないことに応答して、ビデオデコーダ30は、1つまたは複数の重み付け予測パラメータを受信することなく、現在ピクチャを復号する。
【０１２０】
いくつかの例では、フラグについての第1の値は、現在ピクチャのルーマ成分についての重み付けおよびオフセット因子が存在する(すなわち、重み付け予測が有効にされる)ことを示すことができ、フラグについての第2の値は、現在ピクチャのルーマ成分についての重み付けおよびオフセット因子が存在しない(すなわち、重み付け予測が無効にされる)かどうかを示すことができる。いくつかの例では、フラグについての第1の値は、現在ピクチャのクロマ成分についての重み付けおよびオフセット因子が存在する(すなわち、重み付け予測が有効にされる)ことを示すことができ、フラグについての第2の値は、現在ピクチャのクロマ成分についての重み付けおよびオフセット因子が存在しない(すなわち、重み付け予測が無効にされる)かどうかを示すことができる。
【０１２１】
重み付け予測が有効それとも無効にされるかを示す、上述したフラグは、複数のフラグのうちの1つであり得る。たとえば、上記のTable 3(表3)は、4つのそのようなフラグ(たとえば、luma_weight_l0_flag、chroma_weight_l0_flag、luma_weight_l1_flag、およびchroma_weight_l1_flag)を示す。
【０１２２】
図5は、本開示の技法による、ビデオデータを復号する方法を示すフローチャートである。図5は、マルチレイヤビデオデータを復号するための汎用ビデオデコーダを参照して記載される。図5に明示的には示されないが、図5の例において、ビデオデコーダは、マルチレイヤビデオデータの現在ピクチャについてのPOC値を決定し、現在ピクチャの参照ピクチャについてのPOC値を決定する。ビデオデコーダは、現在ピクチャについてのレイヤID値および参照ピクチャについてのレイヤID値も決定する。ビデオデコーダは次いで、マルチレイヤビデオデータの現在ピクチャについてのPOC値、参照ピクチャについてのPOC値、現在ピクチャについてのレイヤID値、および参照ピクチャについてのレイヤID値に基づいて、重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで受信する。
【０１２３】
図5は、ビデオデコーダがどのようにしてフラグを条件付きで受信するかを示す。現在ピクチャのPOC値が参照ピクチャのPOC値に等しくない場合(200、yes経路)および/または現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくない場合(202、yes経路)、ビデオデコーダは、重み付け予測が有効それとも無効にされるかを示すフラグを受信する(204)。現在ピクチャのPOC値が参照ピクチャのPOC値に等しい場合(200、no経路)および現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しい場合(202、no経路)、ビデオデコーダは、重み付け予測が有効それとも無効にされるかを示すフラグを受信するのをスキップする(206)。
【０１２４】
ビデオデコーダが、重み付け予測が有効それとも無効にされるかを示すフラグを受信するのをスキップした場合、ビデオデコーダは、重み付け予測を暗黙的に無効にする。ビデオデコーダが、重み付け予測が有効それとも無効にされるかを示すフラグを受信した場合、ビデオデコーダは、フラグの値に基づいて、重み付け予測を有効または無効にする。ビデオデコーダは、重み付け予測が有効それとも無効にされるかの決定に基づいて、現在ピクチャのビデオデータのブロックを復号する。
【０１２５】
図6は、本開示の技法による、ビデオデータを符号化する方法を示すフローチャートである。図6は、マルチレイヤビデオデータを符号化するための汎用ビデオエンコーダを参照して記載される。図6に明示的には示されないが、図6の例において、ビデオエンコーダは、マルチレイヤビデオデータの現在ピクチャについてのPOC値を決定し、現在ピクチャの参照ピクチャについてのPOC値を決定する。ビデオエンコーダは、現在ピクチャについてのレイヤID値および参照ピクチャについてのレイヤID値も決定する。ビデオエンコーダは次いで、マルチレイヤビデオデータの現在ピクチャについてのPOC値、参照ピクチャについてのPOC値、現在ピクチャについてのレイヤID値、および参照ピクチャについてのレイヤID値に基づいて、重み付け予測が有効それとも無効にされるかを示すフラグを条件付きで生成する。
【０１２６】
図6は、ビデオエンコーダがどのようにしてフラグを条件付きで生成するかを示す。現在ピクチャのPOC値が参照ピクチャのPOC値に等しくない場合(300、yes経路)および/または現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しくない場合(302、yes経路)、ビデオエンコーダは、重み付け予測が有効それとも無効にされるかを示すフラグを、マルチレイヤビデオデータの符号化ビットストリームの中に含めるために生成する(304)。現在ピクチャのPOC値が参照ピクチャのPOC値に等しい場合(300、no経路)および現在ピクチャについてのレイヤID値が参照ピクチャについてのレイヤID値に等しい場合(302、no経路)、ビデオエンコーダは、重み付け予測が有効それとも無効にされるかを示すフラグなしの符号化ビデオビットストリームを生成する(306)。
【０１２７】
1つまたは複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装される場合がある。ソフトウェアに実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行される場合がある。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含む場合がある。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に相当する場合がある。データ記憶媒体は、本開示に記載された技法の実装のための命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含む場合がある。
【０１２８】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形式の所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続も適切にコンピュータ可読媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから命令が送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１２９】
命令は、1つまたは複数のDSP、汎用マイクロプロセッサ、ASIC、FPGA、または他の等価な集積論理回路もしくはディスクリート論理回路などの、1つまたは複数のプロセッサによって実行される場合がある。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書に記載された技法の実装に適した任意の他の構造のいずれかを指す場合がある。加えて、いくつかの態様では、本明細書に記載された機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内に提供されるか、または複合コーデックに組み込まれる場合がある。また、技法は、1つまたは複数の回路または論理要素の中に完全に実装される可能性がある。
【０１３０】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装される場合がある。開示された技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが本開示に記載されているが、それらは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上述されたように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わされるか、または適切なソフトウェアおよび/もしくはファームウェアとともに、上述された1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供される場合がある。
【０１３１】
様々な例が記載されている。これらおよび他の例は、以下の特許請求の範囲内に入る。
【符号の説明】
【０１３２】
10  ビデオ符号化および復号システム
12  ソースデバイス
14  宛先デバイス
16  リンク
18  ビデオソース
20  ビデオエンコーダ
22  出力インターフェース
28  入力インターフェース
30  ビデオデコーダ
32  ストレージデバイス
34  ディスプレイデバイス
35  区分化ユニット
40  ビデオデータメモリ
41  予測処理ユニット
42  動き推定ユニット
44  動き補償ユニット
46  イントラ予測処理ユニット
48  IBCユニット
50  加算器
52  変換処理ユニット
54  量子化ユニット
56  エントロピー符号化ユニット
58  逆量子化ユニット
60  逆変換処理ユニット
62  加算器
64  復号ピクチャバッファ
79  ビデオデータメモリ
80  エントロピー復号ユニット
81  予測処理ユニット
82  動き補償ユニット
84  イントラ予測処理ユニット
85  IBCユニット
86  逆量子化ユニット
88  逆変換処理ユニット
90  加算器
92  復号ピクチャバッファ
102  現在ビデオブロック
103  現在ピクチャ
104  予測ビデオブロック
106  2次元ベクトル
108  対象領域
110  垂直変位成分
112  水平変位成分
【図１】
2019509669.tif 000006
【図２】
2019509669.tif 000007
【図３】
2019509669.tif 000008
【図４】
2019509669.tif 000009
【図５】
2019509669.tif 000010
【図６】
2019509669.tif 000011
【国際調査報告】
2019509669.tif 000012
2019509669.tif 000013
2019509669.tif 000014