(57)【要約】  ビデオコーダは、照明補償(IC)を使用してビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成する。そうすることにおいて、ビデオコーダは、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しくなるように、参照サンプルの第1のセットをサブサンプリングする。加えて、ビデオコーダは、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しくなるように、ビュー参照サンプルの第2のセットをサブサンプリングする。ビデオコーダは、参照サンプルの第1のサブサンプリングされたセットおよび参照サンプルの第2のサブサンプリングされたセットに基づいて第1のICパラメータを決定する。ビデオコーダは、第1のICパラメータを使用して非正方形予測ブロックのサンプルを決定する。
2019500778.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
ビデオデコーダによって、前記ビデオデータの符号化された表現を備えるビットストリームを受信するステップと、
前記ビデオデコーダによって、照明補償(IC)を使用して前記ビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するステップとを備え、ICを使用して前記非正方形予測ブロックを生成するステップが、
前記ビデオデコーダによって、前記現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定するステップであって、前記参照ブロックおよび前記非正方形予測ブロックが同じサイズおよび形状である、ステップと、
前記ビデオデコーダによって、参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成するステップであって、参照サンプルの前記第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第1のセットが前記非正方形予測ブロックの左辺および上辺に沿って前記非正方形予測ブロックの外側にあるサンプルを備え、mが整数である、ステップと、
前記ビデオデコーダによって、参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成するステップであって、参照サンプルの前記第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第2のセットが前記参照ブロックの左辺および上辺に沿って前記参照ブロックの外側にあるサンプルを備える、ステップと、
前記ビデオデコーダによって、参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数、参照サンプルの前記第1のサブサンプリングされたセット、ならびに参照サンプルの前記第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定するステップと、
前記ビデオデコーダによって、前記第1のICパラメータに基づいて前記非正方形予測ブロックのサンプルを決定するステップと、
前記ビデオデコーダによって、前記非正方形予測ブロックに基づいて、前記現在のCUのコーディングブロックを再構築するステップと
を備える、方法。
【請求項２】
前記現在のPUの前記ベクトルが前記現在のPUの視差ベクトルであり、前記参照ピクチャがビュー間参照ピクチャである、請求項1に記載の方法。
【請求項３】
前記第1のICパラメータを決定するステップが、前記ビデオデコーダによって、前記第1のICパラメータが
【数１】
2019500778.tif 000082
に基づくように前記第1のICパラメータを決定するステップを備え、2Nが参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数を表し、Recneig(i)が参照サンプルの前記第1のサブサンプリングされたセットの中のi番目の参照サンプルを表し、Recrefneig(i)が参照サンプルの前記第2のサブサンプリングされたセットの中のi番目の参照サンプルを表し、
前記非正方形予測ブロックの前記サンプルが、前記現在のピクチャの左上の角に対する相対的な座標(i, j)にあり、前記非正方形予測ブロックの前記サンプルを決定するステップが、前記ビデオデコーダによって、前記サンプルが
a * r( i + dvx, j + dvy + b )
に基づくように前記非正方形予測ブロックの前記サンプルを決定するステップを備え、bが前記第1のICパラメータであり、aが第2のICパラメータであり、rが前記参照ピクチャであり、dvxが前記現在のPUの前記ベクトルの水平成分であり、dvyが前記現在のPUの前記ベクトルの垂直成分である、請求項1に記載の方法。
【請求項４】
前記現在のPUの前記ベクトルが前記現在のPUの視差ベクトルであり、前記参照ピクチャがビュー間参照ピクチャである、請求項3に記載の方法。
【請求項５】
ICを使用して前記非正方形予測ブロックを生成するステップがさらに、
前記ビデオデコーダによって、前記第2のICパラメータが
【数２】
2019500778.tif 000083
に基づくように前記第2のICパラメータを決定するステップを備える、請求項1に記載の方法。
【請求項６】
参照サンプルの前記第1のセットをサブサンプリングするステップが、前記ビデオデコーダによって、参照サンプルの前記第1のセットをデシメーションして参照サンプルの前記第1のサブサンプリングされたセットを生成するステップを備えることと、
参照サンプルの前記第2のセットをサブサンプリングするステップが、前記ビデオデコーダによって、参照サンプルの前記第2のセットをデシメーションして参照サンプルの前記第2のサブサンプリングされたセットを生成するステップを備えること
のうちの少なくとも1つが当てはまる、請求項1に記載の方法。
【請求項７】
参照サンプルの前記第1のセットをサブサンプリングするステップが、前記ビデオデコーダによって、参照サンプルの前記第1のセットの補間されたサンプリングを実行して参照サンプルの前記第1のサブサンプリングされたセットを生成するステップを備えることと、
参照サンプルの前記第2のセットをサブサンプリングするステップが、前記ビデオデコーダによって、参照サンプルの前記第2のセットの補間されたサンプリングを実行して参照サンプルの前記第2のサブサンプリングされたセットを生成するステップを備えること
のうちの少なくとも1つが当てはまる、請求項1に記載の方法。
【請求項８】
前記ビデオデコーダによって、サブサンプリング方法を示すシンタックス要素を前記ビットストリームから取得するステップをさらに備え、
参照サンプルの前記第1のセットをサブサンプリングするステップが、前記ビデオデコーダによって、前記示されたサブサンプリング方法を使用して参照サンプルの前記第1のセットをサブサンプリングし参照サンプルの前記第1のサブサンプリングされたセットを生成するステップを備えること、または、
参照サンプルの前記第2のセットをサブサンプリングするステップが、前記ビデオデコーダによって、前記示されたサブサンプリング方法を使用して参照サンプルの前記第2のセットをサブサンプリングし参照サンプルの前記第2のサブサンプリングされたセットを生成するステップを備えること
のうちの少なくとも1つが当てはまる、請求項1に記載の方法。
【請求項９】
前記ビデオデコーダによって、前記現在のPUのサイズに基づいて、サブサンプリング方法を決定するステップをさらに備え、
参照サンプルの前記第1のセットをサブサンプリングするステップが、前記ビデオデコーダによって、前記決定されたサブサンプリング方法を使用して参照サンプルの前記第1のセットをサブサンプリングし参照サンプルの前記第1のサブサンプリングされたセットを生成するステップを備えること、または、
参照サンプルの前記第2のセットをサブサンプリングするステップが、前記ビデオデコーダによって、前記決定されたサブサンプリング方法を使用して参照サンプルの前記第2のセットをサブサンプリングし参照サンプルの前記第2のサブサンプリングされたセットを生成するステップを備えること
のうちの少なくとも1つが当てはまる、請求項1に記載の方法。
【請求項１０】
ビデオデータを符号化する方法であって、
ビデオエンコーダによって、前記ビデオデータを受信するステップと、
前記ビデオエンコーダによって、照明補償(IC)を使用して前記ビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するステップとを備え、ICを使用して前記非正方形予測ブロックを生成するステップが、
前記ビデオエンコーダによって、前記現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定するステップであって、前記参照ブロックおよび前記非正方形予測ブロックが同じサイズおよび形状である、ステップと、
前記ビデオエンコーダによって、参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成するステップであって、参照サンプルの前記第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第1のセットが前記非正方形予測ブロックの左辺および上辺に沿って前記非正方形予測ブロックの外側にあるサンプルを備え、mが整数である、ステップと、
前記ビデオエンコーダによって、参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成するステップであって、参照サンプルの前記第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第2のセットが前記参照ブロックの左辺および上辺に沿って前記参照ブロックの外側にあるサンプルを備える、ステップと、
前記ビデオエンコーダによって、参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数、参照サンプルの前記第1のサブサンプリングされたセット、ならびに参照サンプルの前記第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定するステップと、
前記ビデオエンコーダによって、前記非正方形予測ブロックに基づいて残差データを生成するステップと、
前記ビデオエンコーダによって、前記残差データに基づくデータを含むビットストリームを出力するステップと
を備える、方法。
【請求項１１】
前記現在のPUの前記ベクトルが前記現在のPUの視差ベクトルであり、前記参照ピクチャがビュー間参照ピクチャである、請求項10に記載の方法。
【請求項１２】
前記第1のICパラメータを決定するステップが、前記ビデオエンコーダによって、前記第1のICパラメータが
【数３】
2019500778.tif 000084
に基づくように前記第1のICパラメータを決定するステップを備え、2Nが参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数を表し、Recneig(i)が参照サンプルの前記第1のサブサンプリングされたセットの中のi番目の参照サンプルを表し、Recrefneig(i)が参照サンプルの前記第2のサブサンプリングされたセットの中のi番目の参照サンプルを表し、
前記非正方形予測ブロックの前記サンプルが、前記現在のピクチャの左上の角に対する相対的な座標(i, j)にあり、前記非正方形予測ブロックの前記サンプルを決定するステップが、前記ビデオエンコーダによって、前記サンプルが
a * r( i + dvx, j + dvy + b )
に基づくように前記非正方形予測ブロックの前記サンプルを決定するステップを備え、bが前記第1のICパラメータであり、aが第2のICパラメータであり、rが前記参照ピクチャであり、dvxが前記現在のPUの前記ベクトルの水平成分であり、dvyが前記現在のPUの前記ベクトルの垂直成分である、請求項10に記載の方法。
【請求項１３】
前記現在のPUの前記ベクトルが前記現在のPUの視差ベクトルであり、前記参照ピクチャがビュー間参照ピクチャである、請求項12に記載の方法。
【請求項１４】
ICを使用して前記非正方形予測ブロックを生成するステップがさらに、
前記ビデオエンコーダによって、前記第2のICパラメータが
【数４】
2019500778.tif 000085
に基づくように前記第2のICパラメータを決定するステップを備える、請求項10に記載の方法。
【請求項１５】
参照サンプルの前記第1のセットをサブサンプリングするステップが、前記ビデオエンコーダによって、参照サンプルの前記第1のセットをデシメーションして参照サンプルの前記第1のサブサンプリングされたセットを生成するステップを備えることと、
参照サンプルの前記第2のセットをサブサンプリングするステップが、前記ビデオエンコーダによって、参照サンプルの前記第2のセットをデシメーションして参照サンプルの前記第2のサブサンプリングされたセットを生成するステップを備えること
のうちの少なくとも1つが当てはまる、請求項10に記載の方法。
【請求項１６】
参照サンプルの前記第1のセットをサブサンプリングするステップが、前記ビデオエンコーダによって、参照サンプルの前記第1のセットの補間されたサンプリングを実行して参照サンプルの前記第1のサブサンプリングされたセットを生成するステップを備えることと、
参照サンプルの前記第2のセットをサブサンプリングするステップが、前記ビデオエンコーダによって、参照サンプルの前記第2のセットの補間されたサンプリングを実行して参照サンプルの前記第2のサブサンプリングされたセットを生成するステップを備えること
のうちの少なくとも1つが当てはまる、請求項10に記載の方法。
【請求項１７】
前記ビデオエンコーダによって、サブサンプリング方法を示すシンタックス要素を前記ビットストリームに含めるステップをさらに備え、
参照サンプルの前記第1のセットをサブサンプリングするステップが、前記ビデオエンコーダによって、前記示されたサブサンプリング方法を使用して参照サンプルの前記第1のセットをサブサンプリングし参照サンプルの前記第1のサブサンプリングされたセットを生成するステップを備えること、または、
参照サンプルの前記第2のセットをサブサンプリングするステップが、前記ビデオエンコーダによって、前記示されたサブサンプリング方法を使用して参照サンプルの前記第2のセットをサブサンプリングし参照サンプルの前記第2のサブサンプリングされたセットを生成するステップを備えること
のうちの少なくとも1つが当てはまる、請求項10に記載の方法。
【請求項１８】
前記ビデオエンコーダによって、前記現在のPUのサイズに基づいて、サブサンプリング方法を決定するステップをさらに備え、
参照サンプルの前記第1のセットをサブサンプリングするステップが、前記ビデオエンコーダによって、前記決定されたサブサンプリング方法を使用して参照サンプルの前記第1のセットをサブサンプリングし参照サンプルの前記第1のサブサンプリングされたセットを生成するステップを備えること、および、
参照サンプルの前記第2のセットをサブサンプリングするステップが、前記ビデオエンコーダによって、前記決定されたサブサンプリング方法を使用して参照サンプルの前記第2のセットをサブサンプリングし参照サンプルの前記第2のサブサンプリングされたセットを生成するステップを備えること
のうちの少なくとも1つが当てはまる、請求項10に記載の方法。
【請求項１９】
ビデオデータを復号するための装置であって、
前記ビデオデータを記憶するように構成される1つまたは複数の記憶媒体と、
ビデオデコーダとを備え、前記ビデオデコーダが、
前記ビデオデータの符号化された表現を備えるビットストリームを受信し、
照明補償(IC)を使用して前記ビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するように構成され、前記ビデオデコーダが、ICを使用して前記非正方形予測ブロックを生成することの一部として、
前記現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定し、前記参照ブロックおよび前記非正方形予測ブロックが同じサイズおよび形状であり、
参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成し、参照サンプルの前記第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第1のセットが前記非正方形予測ブロックの左辺および上辺に沿って前記非正方形予測ブロックの外側にあるサンプルを備え、mが整数であり、
参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成し、参照サンプルの前記第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第2のセットが前記参照ブロックの左辺および上辺に沿って前記参照ブロックの外側にあるサンプルを備え、
参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数、参照サンプルの前記第1のサブサンプリングされたセット、ならびに参照サンプルの前記第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し、
前記第1のICパラメータに基づいて前記非正方形予測ブロックのサンプルを決定し、
前記非正方形予測ブロックに基づいて、前記現在のCUのコーディングブロックを再構築する
ように構成される、装置。
【請求項２０】
前記現在のPUの前記ベクトルが前記現在のPUの視差ベクトルであり、前記参照ピクチャがビュー間参照ピクチャである、請求項19に記載の装置。
【請求項２１】
前記ビデオデコーダが、前記第1のICパラメータが
【数５】
2019500778.tif 000086
に基づくように前記第1のICパラメータを決定するように構成され、2Nが参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数を表し、Recneig(i)が参照サンプルの前記第1のサブサンプリングされたセットの中のi番目の参照サンプルを表し、Recrefneig(i)が参照サンプルの前記第2のサブサンプリングされたセットの中のi番目の参照サンプルを表し、
前記非正方形予測ブロックの前記サンプルが、前記現在のピクチャの左上の角に対する相対的な座標(i, j)にあり、前記ビデオデコーダが、前記サンプルが
a * r( i + dvx, j + dvy + b )
に基づくように前記非正方形予測ブロックの前記サンプルを決定するように構成され、bが前記第1のICパラメータであり、aが第2のICパラメータであり、rが前記参照ピクチャであり、dvxが前記現在のPUの前記ベクトルの水平成分であり、dvyが前記現在のPUの前記ベクトルの垂直成分である、請求項19に記載の装置。
【請求項２２】
前記現在のPUの前記ベクトルが前記現在のPUの視差ベクトルであり、前記参照ピクチャがビュー間参照ピクチャである、請求項21に記載の装置。
【請求項２３】
前記ビデオデコーダが、ICを使用して前記非正方形予測ブロックを生成することの一部として、
前記第2のICパラメータが
【数６】
2019500778.tif 000087
に基づくように前記第2のICパラメータを決定するように構成される、請求項19に記載の装置。
【請求項２４】
前記ビデオデコーダが、参照サンプルの前記第1のセットをサブサンプリングすることの一部として、参照サンプルの前記第1のセットをデシメーションして参照サンプルの前記第1のサブサンプリングされたセットを生成するように構成されることと、
前記ビデオデコーダが、参照サンプルの前記第2のセットをサブサンプリングすることの一部として、参照サンプルの前記第2のセットをデシメーションして参照サンプルの前記第2のサブサンプリングされたセットを生成するように構成されること
のうちの少なくとも1つが当てはまる、請求項19に記載の装置。
【請求項２５】
前記ビデオデコーダが、参照サンプルの前記第1のセットをサブサンプリングすることの一部として、参照サンプルの前記第1のセットの補間されたサンプリングを実行して参照サンプルの前記第1のサブサンプリングされたセットを生成するように構成されることと、
前記ビデオデコーダが、参照サンプルの前記第2のセットをサブサンプリングすることの一部として、参照サンプルの前記第2のセットの補間されたサンプリングを実行して参照サンプルの前記第2のサブサンプリングされたセットを生成するように構成されること
のうちの少なくとも1つが当てはまる、請求項19に記載の装置。
【請求項２６】
前記ビデオデコーダがさらに、サブサンプリング方法を示すシンタックス要素を前記ビットストリームから取得するように構成され、
前記ビデオデコーダが、参照サンプルの前記第1のセットをサブサンプリングすることの一部として、前記示されたサブサンプリング方法を使用して参照サンプルの前記第1のセットをサブサンプリングし参照サンプルの前記第1のサブサンプリングされたセットを生成するように構成されること、または、
前記ビデオデコーダが、参照サンプルの前記第2のセットをサブサンプリングすることの一部として、前記示されたサブサンプリング方法を使用して参照サンプルの前記第2のセットをサブサンプリングし参照サンプルの前記第2のサブサンプリングされたセットを生成するように構成されること
のうちの少なくとも1つが当てはまる、請求項19に記載の装置。
【請求項２７】
前記ビデオデコーダがさらに、前記現在のPUのサイズに基づいて、サブサンプリング方法を決定するように構成され、
前記ビデオデコーダが、参照サンプルの前記第1のセットをサブサンプリングすることの一部として、前記決定されたサブサンプリング方法を使用して参照サンプルの前記第1のセットをサブサンプリングし参照サンプルの前記第1のサブサンプリングされたセットを生成するように構成されること、または、
前記ビデオデコーダが、参照サンプルの前記第2のセットをサブサンプリングすることの一部として、前記決定されたサブサンプリング方法を使用して参照サンプルの前記第2のセットをサブサンプリングし参照サンプルの前記第2のサブサンプリングされたセットを生成するように構成されること
のうちの少なくとも1つが当てはまる、請求項19に記載の装置。
【請求項２８】
ビデオデータを符号化するための装置であって、
ビデオデータを記憶するように構成される1つまたは複数の記憶媒体と、
ビデオエンコーダとを備え、前記ビデオエンコーダが、
照明補償(IC)を使用して前記ビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するように構成され、前記ビデオエンコーダが、ICを使用して前記非正方形予測ブロックを生成することの一部として、
前記現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定し、前記参照ブロックおよび前記非正方形予測ブロックが同じサイズおよび形状であり、
参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成し、参照サンプルの前記第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第1のセットが前記非正方形予測ブロックの左辺および上辺に沿って前記非正方形予測ブロックの外側にあるサンプルを備え、mが整数であり、
参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成し、参照サンプルの前記第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第2のセットが前記参照ブロックの左辺および上辺に沿って前記参照ブロックの外側にあるサンプルを備え、
参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数、参照サンプルの前記第1のサブサンプリングされたセット、ならびに参照サンプルの前記第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し、
前記第1のICパラメータに基づいて前記非正方形予測ブロックのサンプルを決定し、
前記非正方形予測ブロックに基づいて残差データを生成し、
前記残差データに基づくデータを含むビットストリームを出力する
ように構成される、装置。
【請求項２９】
前記現在のPUの前記ベクトルが前記現在のPUの視差ベクトルであり、前記参照ピクチャがビュー間参照ピクチャである、請求項28に記載の装置。
【請求項３０】
前記ビデオエンコーダが、前記第1のICパラメータが
【数７】
2019500778.tif 000088
に基づくように前記第1のICパラメータを決定するように構成され、2Nが参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数を表し、Recneig(i)が参照サンプルの前記第1のサブサンプリングされたセットの中のi番目の参照サンプルを表し、Recrefneig(i)が参照サンプルの前記第2のサブサンプリングされたセットの中のi番目の参照サンプルを表し、
前記非正方形予測ブロックの前記サンプルが、前記現在のピクチャの左上の角に対する相対的な座標(i, j)にあり、前記ビデオエンコーダが、前記サンプルが
a * r( i + dvx, j + dvy + b )
に基づくように前記非正方形予測ブロックの前記サンプルを決定するように構成され、bが前記第1のICパラメータであり、aが第2のICパラメータであり、rが前記参照ピクチャであり、dvxが前記現在のPUの前記ベクトルの水平成分であり、dvyが前記現在のPUの前記ベクトルの垂直成分である、請求項28に記載の装置。
【請求項３１】
前記現在のPUの前記ベクトルが前記現在のPUの視差ベクトルであり、前記参照ピクチャがビュー間参照ピクチャである、請求項30に記載の装置。
【請求項３２】
前記ビデオエンコーダが、ICを使用して前記非正方形予測ブロックを生成することの一部として、
前記第2のICパラメータが
【数８】
2019500778.tif 000089
に基づくように前記第2のICパラメータを決定するように構成される、請求項28に記載の装置。
【請求項３３】
前記ビデオエンコーダが、参照サンプルの前記第1のセットをサブサンプリングすることの一部として、参照サンプルの前記第1のセットをデシメーションして参照サンプルの前記第1のサブサンプリングされたセットを生成するように構成されることと、
前記ビデオエンコーダが、参照サンプルの前記第2のセットをサブサンプリングすることの一部として、参照サンプルの前記第2のセットをデシメーションして参照サンプルの前記第2のサブサンプリングされたセットを生成するように構成されること
のうちの少なくとも1つが当てはまる、請求項28に記載の装置。
【請求項３４】
前記ビデオエンコーダが、参照サンプルの前記第1のセットをサブサンプリングすることの一部として、参照サンプルの前記第1のセットの補間されたサンプリングを実行して参照サンプルの前記第1のサブサンプリングされたセットを生成するように構成されることと、
前記ビデオエンコーダが、参照サンプルの前記第2のセットをサブサンプリングすることの一部として、参照サンプルの前記第2のセットの補間されたサンプリングを実行して参照サンプルの前記第2のサブサンプリングされたセットを生成するように構成されること
のうちの少なくとも1つが当てはまる、請求項28に記載の装置。
【請求項３５】
前記ビデオエンコーダがさらに、サブサンプリング方法を示すシンタックス要素を前記ビットストリームから取得するように構成され、
前記ビデオエンコーダが、参照サンプルの前記第1のセットをサブサンプリングすることの一部として、前記示されたサブサンプリング方法を使用して参照サンプルの前記第1のセットをサブサンプリングし参照サンプルの前記第1のサブサンプリングされたセットを生成するように構成されること、または、
前記ビデオエンコーダが、参照サンプルの前記第2のセットをサブサンプリングすることの一部として、前記示されたサブサンプリング方法を使用して参照サンプルの前記第2のセットをサブサンプリングし参照サンプルの前記第2のサブサンプリングされたセットを生成するように構成されること
のうちの少なくとも1つが当てはまる、請求項28に記載の装置。
【請求項３６】
前記ビデオエンコーダがさらに、前記現在のPUのサイズに基づいて、サブサンプリング方法を決定するように構成され、
前記ビデオエンコーダが、参照サンプルの前記第1のセットをサブサンプリングすることの一部として、前記決定されたサブサンプリング方法を使用して参照サンプルの前記第1のセットをサブサンプリングし参照サンプルの前記第1のサブサンプリングされたセットを生成するように構成されること、または、
前記ビデオエンコーダが、参照サンプルの前記第2のセットをサブサンプリングすることの一部として、前記決定されたサブサンプリング方法を使用して参照サンプルの前記第2のセットをサブサンプリングし参照サンプルの前記第2のサブサンプリングされたセットを生成するように構成されること
のうちの少なくとも1つが当てはまる、請求項28に記載の装置。
【請求項３７】
ビデオデータを復号するための装置であって、
前記ビデオデータの符号化された表現を備えるビットストリームを受信するための手段と、
照明補償(IC)を使用して前記ビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するための手段とを備え、ICを使用して前記非正方形予測ブロックを生成するための前記手段が、
前記現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定するための手段であって、前記参照ブロックおよび前記非正方形予測ブロックが同じサイズおよび形状である、手段と、
参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成するための手段であって、参照サンプルの前記第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第1のセットが前記非正方形予測ブロックの左辺および上辺に沿って前記非正方形予測ブロックの外側にあるサンプルを備え、mが整数である、手段と、
参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成するための手段であって、参照サンプルの前記第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第2のセットが前記参照ブロックの左辺および上辺に沿って前記参照ブロックの外側にあるサンプルを備える、手段と、
参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数、参照サンプルの前記第1のサブサンプリングされたセット、ならびに参照サンプルの前記第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定するための手段と、
前記第1のICパラメータに基づいて前記非正方形予測ブロックのサンプルを決定するための手段と、
前記ビデオデコーダによって、前記非正方形予測ブロックに基づいて、前記現在のCUのコーディングブロックを再構築するための手段と
を備える、装置。
【請求項３８】
ビデオデータを符号化するための装置であって、
前記ビデオデータを受信するための手段と、
照明補償(IC)を使用して前記ビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するための手段とを備え、ICを使用して前記非正方形予測ブロックを生成するための前記手段が、
前記現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定するための手段であって、前記参照ブロックおよび前記非正方形予測ブロックが同じサイズおよび形状である、手段と、
参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成するための手段であって、参照サンプルの前記第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第1のセットが前記非正方形予測ブロックの左辺および上辺に沿って前記非正方形予測ブロックの外側にあるサンプルを備え、mが整数である、手段と、
参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成するための手段であって、参照サンプルの前記第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第2のセットが前記参照ブロックの左辺および上辺に沿って前記参照ブロックの外側にあるサンプルを備える、手段と、
参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数、参照サンプルの前記第1のサブサンプリングされたセット、ならびに参照サンプルの前記第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定するための手段と、
前記第1のICパラメータに基づいて前記非正方形予測ブロックのサンプルを決定するための手段と、
前記非正方形予測ブロックに基づいて残差データを生成するための手段と、
前記残差データに基づくデータを含むビットストリームを出力するための手段と
を備える、装置。
【請求項３９】
命令を記憶したコンピュータ可読媒体であって、前記命令が、実行されると、
前記ビデオデータの符号化された表現を備えるビットストリームを受信し、
照明補償(IC)を使用して前記ビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するように、ビデオデータを復号するための装置を構成し、前記命令が、ICを使用して前記非正方形予測ブロックを生成することの一部として、前記装置が
前記現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定し、前記参照ブロックおよび前記非正方形予測ブロックが同じサイズおよび形状であり、
参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成し、参照サンプルの前記第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第1のセットが前記非正方形予測ブロックの左辺および上辺に沿って前記非正方形予測ブロックの外側にあるサンプルを備え、mが整数であり、
参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成し、参照サンプルの前記第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第2のセットが前記参照ブロックの左辺および上辺に沿って前記参照ブロックの外側にあるサンプルを備え、
参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数、参照サンプルの前記第1のサブサンプリングされたセット、ならびに参照サンプルの前記第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し、
前記第1のICパラメータに基づいて前記非正方形予測ブロックのサンプルを決定し、
前記非正方形予測ブロックに基づいて、前記現在のCUのコーディングブロックを再構築する
ように、前記装置を構成する、コンピュータ可読媒体。
【請求項４０】
命令を記憶したコンピュータ可読媒体であって、前記命令が、実行されると、
前記ビデオデータを受信し、
照明補償(IC)を使用して前記ビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するように、ビデオデータを符号化するための装置を構成し、前記命令が、実行されると、ICを使用して前記非正方形予測ブロックを生成することの一部として、前記装置が
前記現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定し、前記参照ブロックおよび前記非正方形予測ブロックが同じサイズおよび形状であり、
参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成し、参照サンプルの前記第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第1のセットが前記非正方形予測ブロックの左辺および上辺に沿って前記非正方形予測ブロックの外側にあるサンプルを備え、mが整数であり、
参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成し、参照サンプルの前記第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの前記第2のセットが前記参照ブロックの左辺および上辺に沿って前記参照ブロックの外側にあるサンプルを備え、
参照サンプルの前記第1のサブサンプリングされたセットの中の参照サンプルの前記総数および参照サンプルの前記第2のサブサンプリングされたセットの中の参照サンプルの前記総数、参照サンプルの前記第1のサブサンプリングされたセット、ならびに参照サンプルの前記第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し、
前記第1のICパラメータに基づいて前記非正方形予測ブロックのサンプルを決定し、
前記非正方形予測ブロックに基づいて残差データを生成し、
前記残差データに基づくデータを含むビットストリームを出力する
ように、前記装置を構成する、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2015年11月25日に出願された米国仮特許出願第62/260,103号、および2016年3月18日に出願された米国仮特許出願第62/310,271号の利益を主張するものであり、これらの各々の内容全体が、参照により本明細書に組み込まれている。
【０００２】
本開示は、ビデオ符号化およびビデオ復号に関する。
【背景技術】
【０００３】
デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、Advanced Video Coding(AVC)、High Efficiency Video Coding(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法などのビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、かつ/または記憶することができる。
【０００４】
ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的(ピクチャ内)予測および/または時間的(ピクチャ間)予測を含む。ブロックベースのビデオコーディングのために、ビデオスライス(たとえば、ビデオフレーム、またはビデオフレームの一部分)は、ビデオブロックに区分されることがあり、ビデオブロックは、ツリーブロック、コーディングユニット(CU)、および/またはコーディングノードと呼ばれることもある。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。さらなる圧縮のために、残差データは、画素領域から変換領域に変換され、残差変換係数をもたらすことがあり、その残差変換係数は、次いで量子化され得る。さらなる圧縮を達成するために、エントロピーコーディングが適用されることがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第2016/0219290 A1号
【非特許文献】
【０００７】
【非特許文献１】H. Liu、「Local Illumination Compensation」、ITU-Telecommunications Standardization Sector、Study Group 16 Question 6、Video Coding Experts Group(VCEG)、第52回会合、2015年6月19〜26日、ワルシャワ、ポーランド、文書VCEG-AZ06
【非特許文献２】Wang他、「High Efficiency Video Coding (HEVC) Defect Report」、Joint Collaborative Team in Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第14回会合、ウィーン、オーストリア、2013年7月25日〜8月2日、文書JCTVC-N1003_v1
【非特許文献３】Marpe他、「Transform Coding Using the Residual Quadtree (RQT)」、Fraunhofer Heinrich Hertz Institute
【非特許文献４】Jianle Chen他、「Further improvements to HMKTA-1.0」、文書: VCEG-AZ07_v2、第52回会合、2015年6月19〜26日、ワルシャワ、ポーランド
【非特許文献５】Xiaoran Cao他、「CE6.b1 Report on Short Distance Intra Prediction Method」、文書.JCTVC-E0278、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第5回会合、ジュネーブ、2011年3月16〜23日
【非特許文献６】Liu他、「Rectangular (2N×N, N×2N) Intra Prediction」、文書. JCTVC-G135、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第7回会合、ジュネーブ、2011年11月21〜30日
【非特許文献７】A. FordおよびA. Roberts、「Colour space conversions」、ウェストミンスター大学、ロンドン、Tech. Rep、1998年8月
【非特許文献８】Xiaoran Cao他、「Short distance intra coding scheme for HEVC」、2012 Picture Coding Symposium (PCS)、pp. 501〜504、2012年5月7〜9日、クラクフ、ポーランド
【非特許文献９】J. Chen他、「CE6.a.4: Chroma intra prediction by reconstructed luma samples」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、JCTVC-E266、第5回会合、ジュネーブ、2011年3月16〜23日
【非特許文献１０】Yi-Jen Chiu他、「Cross-channel techniques to improve intra chroma prediction」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、 JCTVC-F502、第6回会合、トリノ、イタリア、2011年7月14〜22日
【非特許文献１１】Yuan他、「Non-Square Quadtree Transform Structure for HEVC」、2012 Picture Coding Symposium (PCS)、pp. 505〜508、2012年5月7〜9日、クラクフ、ポーランド
【非特許文献１２】X. Zhao他、「Video coding with rate-distortion optimized transform」、IEEE Trans. Circuits Syst. Video Technol.、vol. 22、no. 1、pp. 138〜151、2012年1月
【非特許文献１３】Liu他、「3D-CE1.h related: Illumination Compensation for Inter-View Prediction」、Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG16 WP 3 and ISO/IEC JTC1/SC29/WG11、第1回会合、ストックホルム、スウェーデン、2012年7月16〜20日、文書JCT3V-A0086
【発明の概要】
【課題を解決するための手段】
【０００８】
本開示は、イントラおよびインター予測区分、非正方形変換、非正方形ブロックのためのイントラおよびインターコーディングモード、ならびに関連するエントロピーコーディングに関する。本開示の技法は、HEVCの拡張または次世代のビデオコーディング規格などの、先進的なビデオコーデックの文脈において使用され得る。一例では、照明補償プロセスが、非正方形予測単位(PU)とともに使用するために適合される。具体的には、非正方形予測ブロックの存在下でのICのために使用されるパラメータを決定するための技法が説明される。
【０００９】
一例では、本開示はビデオデータを復号する方法を説明し、この方法は、ビデオデコーダによって、ビデオデータの符号化された表現を備えるビットストリームを受信するステップと、ビデオデコーダによって、照明補償(IC)を使用してビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するステップとを備え、ICを使用して非正方形予測ブロックを生成するステップが、ビデオデコーダによって、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定するステップであって、参照ブロックおよび非正方形予測ブロックが同じサイズおよび形状である、ステップと、ビデオデコーダによって、参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成するステップであって、参照サンプルの第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第1のセットが非正方形予測ブロックの左辺および上辺に沿って非正方形予測ブロックの外側にあるサンプルを備え、mが整数である、ステップと、ビデオデコーダによって、参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成するステップであって、参照サンプルの第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第2のセットが参照ブロックの左辺および上辺に沿って参照ブロックの外側にあるサンプルを備える、ステップと、ビデオデコーダによって、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定するステップと、ビデオデコーダによって、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定するステップと、ビデオデコーダによって、非正方形予測ブロックに基づいて、現在のCUのコーディングブロックを再構築するステップとを備える。
【００１０】
別の例では、本開示は、ビデオデータを符号化する方法を説明し、この方法は、ビデオエンコーダによって、ビデオデータを受信するステップと、ビデオエンコーダによって、照明補償(IC)を使用してビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するステップとを備え、ICを使用して非正方形予測ブロックを生成するステップが、ビデオエンコーダによって、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定するステップであって、参照ブロックおよび非正方形予測ブロックが同じサイズおよび形状である、ステップと、ビデオエンコーダによって、参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成するステップであって、参照サンプルの第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第1のセットが非正方形予測ブロックの左辺および上辺に沿って非正方形予測ブロックの外側にあるサンプルを備え、mが整数である、ステップと、ビデオエンコーダによって、参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成するステップであって、参照サンプルの第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第2のセットが参照ブロックの左辺および上辺に沿って参照ブロックの外側にあるサンプルを備える、ステップと、ビデオエンコーダによって、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定するステップと、ビデオエンコーダによって、非正方形予測ブロックに基づいて残差データを生成するステップと、ビデオエンコーダによって、残差データに基づくデータを含むビットストリームを出力するステップとを備える。
【００１１】
別の例では、本開示はビデオデータを復号するための装置を説明し、この装置は、ビデオデータを記憶するように構成される1つまたは複数の記憶媒体と、ビデオデコーダとを備え、このビデオデコーダは、ビデオデータの符号化された表現を備えるビットストリームを受信し、照明補償(IC)を使用してビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するように構成され、ビデオデコーダは、ICを使用して非正方形予測ブロックを生成することの一部として、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定し、参照ブロックおよび非正方形予測ブロックが同じサイズおよび形状であり、参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成し、参照サンプルの第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第1のセットが非正方形予測ブロックの左辺および上辺に沿って非正方形予測ブロックの外側にあるサンプルを備え、mが整数であり、参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成し、参照サンプルの第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第2のセットが参照ブロックの左辺および上辺に沿って参照ブロックの外側にあるサンプルを備え、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定し、非正方形予測ブロックに基づいて、現在のCUのコーディングブロックを再構築するように、構成される。
【００１２】
別の例では、本開示はビデオデータを符号化するための装置を説明し、この装置は、ビデオデータを記憶するように構成される1つまたは複数の記憶媒体と、ビデオエンコーダとを備え、このビデオエンコーダは、照明補償(IC)を使用してビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するように構成され、ビデオエンコーダは、ICを使用して非正方形予測ブロックを生成することの一部として、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定し、参照ブロックおよび非正方形予測ブロックが同じサイズおよび形状であり、参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成し、参照サンプルの第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第1のセットが非正方形予測ブロックの左辺および上辺に沿って非正方形予測ブロックの外側にあるサンプルを備え、mが整数であり、参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成し、参照サンプルの第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第2のセットが参照ブロックの左辺および上辺に沿って参照ブロックの外側にあるサンプルを備え、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定し、非正方形予測ブロックに基づいて残差データを生成し、残差データに基づくデータを含むビットストリームを出力するように、構成される。
【００１３】
別の例では、本開示はビデオデータを復号するための装置を説明し、この装置は、ビデオデータの符号化された表現を備えるビットストリームを受信するための手段と、照明補償(IC)を使用してビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するための手段とを備え、ICを使用して非正方形予測ブロックを生成するための手段は、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定するための手段であって、参照ブロックおよび非正方形予測ブロックが同じサイズおよび形状である、手段と、参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成するための手段であって、参照サンプルの第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第1のセットが非正方形予測ブロックの左辺および上辺に沿って非正方形予測ブロックの外側にあるサンプルを備え、mが整数である、手段と、参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成するための手段であって、参照サンプルの第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第2のセットが参照ブロックの左辺および上辺に沿って参照ブロックの外側にあるサンプルを備える、手段と、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定するための手段と、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定するための手段と、ビデオデコーダによって、非正方形予測ブロックに基づいて、現在のCUのコーディングブロックを再構築するための手段とを備える。
【００１４】
別の例では、本開示はビデオデータを符号化するための装置を説明し、この装置は、ビデオデータを受信するための手段と、照明補償(IC)を使用してビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するための手段とを備え、ICを使用して非正方形予測ブロックを生成するための手段は、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定するための手段であって、参照ブロックおよび非正方形予測ブロックが同じサイズおよび形状である、手段と、参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成するための手段であって、参照サンプルの第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第1のセットが非正方形予測ブロックの左辺および上辺に沿って非正方形予測ブロックの外側にあるサンプルを備え、mが整数である、手段と、参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成するための手段であって、参照サンプルの第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第2のセットが参照ブロックの左辺および上辺に沿って参照ブロックの外側にあるサンプルを備える、手段と、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定するための手段と、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定するための手段と、非正方形予測ブロックに基づいて残差データを生成するための手段と、残差データに基づくデータを含むビットストリームを出力するための手段とを備える。
【００１５】
別の例では、本開示は命令を記憶したコンピュータ可読媒体を説明し、この命令は、実行されると、ビデオデータの符号化された表現を備えるビットストリームを受信し、照明補償(IC)を使用してビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するように、ビデオデータを復号するための装置を構成し、命令は、ICを使用して非正方形予測ブロックを生成することの一部として、装置が、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定し、参照ブロックおよび非正方形予測ブロックが同じサイズおよび形状であり、参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成し、参照サンプルの第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第1のセットが非正方形予測ブロックの左辺および上辺に沿って非正方形予測ブロックの外側にあるサンプルを備え、mが整数であり、参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成し、参照サンプルの第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第2のセットが参照ブロックの左辺および上辺に沿って参照ブロックの外側にあるサンプルを備え、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定し、非正方形予測ブロックに基づいて、現在のCUのコーディングブロックを再構築するように、装置を構成する。
【００１６】
別の例では、本開示は命令を記憶したコンピュータ可読媒体を説明し、この命令は、実行されると、ビデオデータを受信し、照明補償(IC)を使用してビデオデータの現在のピクチャの現在のコーディング単位(CU)の現在の予測単位(PU)の非正方形予測ブロックを生成するように、ビデオデータを符号化するための装置を構成し、命令は、実行されると、ICを使用して非正方形予測ブロックを生成することの一部として、装置が、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定し、参照ブロックおよび非正方形予測ブロックが同じサイズおよび形状であり、参照サンプルの第1のセットをサブサンプリングして第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成し、参照サンプルの第1のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第1のセットが非正方形予測ブロックの左辺および上辺に沿って非正方形予測ブロックの外側にあるサンプルを備え、mが整数であり、参照サンプルの第2のセットをサブサンプリングして第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成し、参照サンプルの第2のセットの中の参照サンプルの総数が2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数が2mに等しく、参照サンプルの第2のセットが参照ブロックの左辺および上辺に沿って参照ブロックの外側にあるサンプルを備え、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定し、非正方形予測ブロックに基づいて残差データを生成し、残差データに基づくデータを含むビットストリームを出力するように、装置を構成する。
【００１７】
本開示の1つまたは複数の態様の詳細が、添付の図面および下記の説明において記載される。本開示において説明される技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１８】
【図１】本開示の技法を実施するように構成された例示的なビデオ符号化および復号システムを示すブロック図である。
【図２Ａ】High Efficiency Video Coding(HEVC)における残差四分木に基づく例示的な変換方式を示す概念図である。
【図２Ｂ】図2Aのコーディング単位のための残差四分木を示す概念図である。
【図３】HEVCにおける係数グループに基づく例示的な係数走査を示す概念図である。
【図４】16×16ブロックに対するイントラ予測の例を示す概念図である。
【図５】HEVCにおいて定義される35個のイントラ予測モードの例を示す概念図である。
【図６】HEVCにおいて定義される平面モードを示す概念図である。
【図７】HEVCにおいて定義される例示的な角度モードの概念図である。
【図８】HEVCにおけるインター予測のためのコーディング単位を分割するための区分モードの概念図である。
【図９】短距離イントラ予測(SDIP)単位区分の概念図である。
【図１０】走査され8×8行列へと並べ替えられる16×4係数行列の概念図である。
【図１１】64個のイントラ予測モードの概念図である。
【図１２Ａ】イントラモード34に対する境界フィルタの概念図である。
【図１２Ｂ】イントラモード30〜33に対する境界フィルタの概念図である。
【図１３】線形モデル(LM)パラメータαおよびβの導出のために使用されるサンプルの例示的な位置を示す概念図である。
【図１４】現在の予測単位(PU)の再構築される輝度ブロックのサンプルをダウンサンプリングするための輝度場所および色差場所の例を示す概念図である。
【図１５】予測ブロックを生成するための輝度ブロックのサンプルをダウンサンプリングするための輝度場所および色差場所の例を示す概念図である。
【図１６】N×N変換を伴うnR×2N予測モードを示す概念図である。
【図１７】2N×N、2N×nD、および2N×nU予測モードのための非正方形四分木(NSQT)を示す概念図である。
【図１８】N×2N、nR×2N、およびnL×2N予測モードのためのNSQTを示す概念図である。
【図１９】照明補償(IC)モデルにおけるパラメータを推定するために使用される隣接画素を示す図である。
【図２０】現在のコーディング単位の参照ブロックが現在の予測単位の視差ベクトルまたは動きベクトルを使用することによって発見されるICモデルにおけるパラメータを推定するために使用される例示的な隣接画素を示す概念図である。
【図２１】2N×Nに等しい区分サイズのための例示的な変換構造を示す概念図である。
【図２２】本開示の技法による、N×N/4(U)に等しい区分サイズのための変換構造を示す概念図である。
【図２３】本開示の技法による、N×N/4(U)に等しい区分サイズのための変換構造を示す概念図である。
【図２４】本開示の技法を実施し得る例示的なビデオエンコーダを示すブロック図である。
【図２５】本開示の技法を実施するように構成される例示的なビデオデコーダを示すブロック図である。
【図２６】本開示の技法による、LMベースの符号化をサポートする例示的なビデオエンコーダを示すブロック図である。
【図２７】本開示の技法による、LMベースの復号をサポートする例示的なビデオデコーダを示すブロック図である。
【図２８】本開示のLMベースのコーディング技法による、ビデオエンコーダの例示的な動作を示すフローチャートである。
【図２９】本開示のLMベースのコーディング技法による、ビデオデコーダの例示的な動作を示すフローチャートである。
【図３０】本開示の量子化技法による、ビデオエンコーダの例示的な動作を示すフローチャートである。
【図３１】本開示の量子化技法による、ビデオデコーダの例示的な動作を示すフローチャートである。
【図３２】ICを使用する本開示の技法による、ビデオエンコーダの例示的な動作を示すフローチャートである。
【図３３】ICを使用する本開示の技法による、ビデオデコーダの例示的な動作を示すフローチャートである。
【図３４】柔軟性のある残差木を使用する本開示の技法による、ビデオエンコーダの例示的な動作を示すフローチャートである。
【図３５】柔軟性のある残差木を使用する本開示の技法による、ビデオデコーダの例示的な動作を示すフローチャートである。
【発明を実施するための形態】
【００１９】
全般に、本開示は、イントラおよびインター予測区分、非正方形変換、非正方形ブロックのためのイントラおよびインターコーディングモード、ならびに関連するエントロピーコーディングに関する。本開示の技法は、High Efficiency Video Coding(HEVC)の拡張または次世代のビデオコーディング規格などの、先進的なビデオコーデックの文脈において使用され得る。
【００２０】
HEVCでは、ビデオコーダ(すなわち、ビデオエンコーダまたはビデオデコーダ)が、ピクチャのコーディング単位(CU)を1つまたは複数の予測単位(PU)へと区分する。ビデオコーダは、CUの各PUの予測ブロックを生成するために、イントラ予測またはインター予測を使用する。CUの残差データは、CUのPUの予測ブロックとCUの元のコーディングブロックとの差を表す。CUがイントラ予測される(すなわち、CUのPUの予測ブロックがイントラ予測を使用して生成される)事例では、CUの残差データは1つまたは複数の正方形の変換単位(TU)へと区分され得る。しかしながら、CUがインター予測される(すなわち、CUのPUの予測ブロックがインター予測を使用して生成される)事例では、CUの残差データは1つまたは複数の正方形または非正方形のTUへと区分され得る。本開示では、単位(たとえば、CU、PU、TU)の形状への言及は、対応するブロックの形状を指すことがある。したがって、非正方形PUは非正方形予測ブロックを指すものとして解釈されることがあり、非正方形TUは非正方形変換ブロックを指すものとして解釈されることがあり、これらの逆も成り立つ。さらに、予測ブロックは、HEVCにおいて定義されるようなPUの概念に縛られる必要はなく、むしろ、予測(たとえば、インター予測、イントラ予測)が実行されるサンプルのブロックという意味であることに留意されたい。同様に、変換ブロックは、HEVCにおいて定義されるようなTUの概念に縛られる必要はなく、むしろ、変換が適用されるサンプルのブロックという意味である。
【００２１】
以下で説明されるように、非正方形TUの導入は、特定のコーディングツールとともに使用されると、いくつかの問題をもたらすことがある。
【００２２】
たとえば、線形モデリング(LM)予測モードは、HEVCの開発の間に研究された、成分間の相関を減らすための技法である。ビデオコーダがLM予測モードを使用するとき、ビデオコーダは、CUのPUの再構築された輝度サンプルに基づいて、PUの色差サンプルを予測する。PUの色差サンプルは、PUの色差予測ブロックの色差サンプルである。色差サンプルの例示的なタイプには、CbサンプルおよびCrサンプルがある。ビデオコーダは、PUの輝度予測ブロックのサンプルをPUの対応する輝度残差サンプルと加算することによって、PUの再構築された輝度サンプルを生成することができる。
【００２３】
具体的には、ビデオコーダがLM予測モードを使用するとき、ビデオコーダは、場所(i, j)におけるPUの予測される色差サンプルをα・recL(i, j) + βとして決定することができ、ここでrecL(i, j)は場所(i, j)におけるPUの再構築された輝度サンプルであり、αおよびβはパラメータである。4:2:0のカラーフォーマットなどのいくつかの場合には、1つのM×K色差ブロックが2M×2K輝度ブロックに対応し、この場合、recL(i, j)は、2M×2K輝度ブロックの(M×Kの)ダウンサンプリングされたバージョンの(i, j)に位置する値を示す。ビデオコーダは、再構築された輝度参照サンプルおよび再構築された色差参照サンプルの値に基づいて、αおよびβの値を決定する。再構築された輝度参照サンプルおよび再構築された色差参照サンプルは、PUの上辺および左辺に沿ったサンプルである。βを決定するための式は、参照サンプルの総数(Iと表記され、MとKの合計に等しい)による除算演算を伴う。典型的な場合には、MおよびKは等しく、HEVCでは2lによって表すことができ、lは正の整数値である。予測ブロックが正方形である限り、Iは2mに等しく、ここでmは異なる予測ブロックサイズに対して変化することがある。したがって、Iで割るために除算演算を実行する代わりに、ビデオコーダは、βの値を計算するときに右シフト演算を実行することができる。右シフト演算は、除算演算よりも実施するのがはるかに速く、かつ複雑ではない。本開示では、CU、TU、およびPUなどの様々なタイプのブロックのサイズへの言及は、それぞれ、CU、TU、およびPUの、コーディングブロック、変換ブロック、および予測ブロックのサイズを指す。さらに、本開示では、CU、TU、およびPUなどの様々なタイプのビデオコーディング単位の辺への言及は、様々なタイプのブロックに対応するブロック(たとえば、コーディングブロック、変換ブロック、予測(prediction)/予測(predictive)ブロック)の辺を指す。
【００２４】
しかしながら、輝度ブロック(たとえば、PUの輝度予測ブロック)が正方形ではない(たとえば、Mが12に等しくKが16に等しい)場合、Iは常に2mに等しいとは限らない。したがって、輝度ブロックが正方形ではない場合、βの値を計算するときに除算演算の代わりに右シフト演算を使用することは可能ではないことがある。したがって、ビデオコーダは、βの値を計算するために、高価な除算演算を実施する必要があり得る。
【００２５】
本開示は、非正方形ブロックのためのLM予測モードを使用するときにβの値を計算するときに、除算演算を実施する必要をなくすことができる技法を説明する。いくつかの場合、MがKに等しいがMが2のべき乗ではない正方形PUに対しても、ここで説明される技法が適用可能であり得る。本技法の例によれば、ビデオコーダは、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築することができる。輝度参照サンプルのセットは、ビデオデータの現在のピクチャの非正方形輝度ブロックの上辺に隣接する輝度サンプルと、非正方形輝度ブロックの左辺に隣接する輝度サンプルとを備え得る。非正方形輝度ブロックは、PUの輝度予測ブロックであり得る。したがって、PUは非正方形PUと見なされ得る。色差参照サンプルのセットは、非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備え得る。非正方形色差ブロックは、PUの色差予測ブロックであり得る。加えて、ビデオコーダは、非正方形予測ブロックの輝度サンプルを再構築し得る。さらに、ビデオコーダは、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをサブサンプリングし得る。ビデオコーダは、
【００２６】
【数１】
2019500778.tif 000003
【００２７】
に等しい第1のパラメータを決定することができ、ここでIは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中の輝度参照サンプルであり、yiは色差参照サンプルのセットの中の色差参照サンプルである。加えて、ビデオコーダは、
β=(Σyi-α・Σxi)/I
に等しい第2のパラメータを決定することができる。予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオコーダは、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルにより乗じられたαと、βとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し得る。予測色差ブロックは、非正方形PUの予測色差ブロックであり得る。ビデオコーダは、予測色差ブロックに一部基づいて、コーディングブロックを再構築し得る。
【００２８】
上の例では、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの総数と同じになるように輝度参照サンプルのセットをサブサンプリングすることによって、ビデオコーダは、輝度参照サンプルのセットの中の参照サンプルの総数が2のべき乗になることを確実にし得る。したがって、ビデオコーダは、βの値を計算するときに除算演算の代わりに右シフト演算を使用することが可能であり得る。したがって、上の例を実施するビデオコーダは、βの値を計算するときに除算演算を使用することを強いられるビデオデコーダよりも、複雑ではなく、かつ/または高速であり得る。ビデオコーダは、上の例で説明された活動を、シフト演算の代わりに除算演算を使用して実行することができるが、そのようなビデオコーダは除算演算の代わりにシフト演算を使用することの利益を得られないことに留意されたい。いくつかの例では、非正方形予測ブロックの短辺または長辺に隣接する参照サンプルが利用可能ではないことがあり、この場合、他方の辺に位置する利用可能な参照サンプルに対してサブサンプリング処理を実行する必要はないことがある。
【００２９】
HEVCでは、ビデオエンコーダは、残差データのブロックを変換係数のブロックへと変換するために、残差データのブロック(すなわち、変換ブロック)に変換を適用する。高いレベルにおいて、ビデオエンコーダは、N点の1次元DCT変換を変換ブロックの列に適用することで中間値のブロックをまず生成することによって、変換係数のブロック(すなわち、変換係数ブロック)を生成し得る。Nは変換ブロックの高さおよび幅に等しい。ビデオエンコーダは次いで、同じN点の1次元DCT変換を中間値のブロックの行に適用することによって、変換係数のブロックを生成し得る。ビデオデコーダは、変換ブロックを復元するのと同様の方法で変換を逆にする。
【００３０】
上の議論からわかるように、HEVCにおいて変換を適用するプロセスは、変換ブロックが正方形であることに依存する。しかしながら、変換ブロックが非正方形であることが望ましいことがある。たとえば、インター予測ブロックまたはイントラ予測ブロックの境界に変換ブロックの境界がまたがるとき、圧縮性能が低下することがある。非正方形予測ブロックの使用は、正方形の領域に入らないオブジェクトを捉えるのに価値があり得る。したがって、非正方形予測ブロックおよび/または非正方形変換は、コーディング性能の改善の点で有用であり得る。変換行列係数がN点の1次元DCT変換である場合、変換行列係数は、
【００３１】
【数２】
2019500778.tif 000004
【００３２】
に等しい分母を用いて定義される。本開示以前には、分母
【００３３】
【数３】
2019500778.tif 000005
【００３４】
は、正規化係数として考えられており、量子化プロセスでは右シフトによって実装されていた。2次元DCT変換、たとえばK×L変換を考慮すると、正規化係数は
【００３５】
【数４】
2019500778.tif 000006
【００３６】
である。Nが式log2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)を満たすものにより定義される場合、利用される正規化係数(sqrt(N)*sqrt(N))と実際の正規化係数
【００３７】
【数５】
2019500778.tif 000007
【００３８】
との比は、
【００３９】
【数６】
2019500778.tif 000008
【００４０】
である。正方形変換(たとえば、列と行の両方に適用されるN点の変換)を非正方形変換ブロックに直接適用すると、正規化係数の増大により、得られる変換係数ブロックにおける総エネルギー(すなわち、量子化後のすべての変換された係数の平方根の合計)が変わることがあり、これは圧縮性能の低下をもたらす。
【００４１】
本開示の他の箇所で詳細に説明されるように、サイズK×Lの変換ブロックに対して、(log2(K) + log2(L))が奇数であるときに変換係数を
【００４２】
【数７】
2019500778.tif 000009
【００４３】
と乗じるビデオエンコーダ、および、(log2(K) + log2(L))が奇数であるときに変換係数を
【００４４】
【数８】
2019500778.tif 000010
【００４５】
で割るビデオデコーダが、この問題に対処することができる。
【００４６】
3D-HEVCは、3次元(3D)ビデオデータのためのHEVCの拡張である。3D-HEVCは、異なる視点からの同じシーンの複数のビューを規定する。3D-HEVCの標準化作業には、HEVCに基づくマルチビュービデオコーデックの標準化が含まれる。3D-HEVCでは、異なるビューからの再構築されたビュー成分(すなわち、再構築されたピクチャ)に基づくビュー間予測が可能である。さらに、3D-HEVCは、ビュー間動き予測およびビュー間残差予測を実装する。
【００４７】
ビデオの同じ時間インスタンスを表す各ビューのピクチャは、類似したビデオコンテンツを含む。しかしながら、ビューのビデオコンテンツは、互いに対して空間的にずれていることがある。具体的には、ビューのビデオコンテンツは、同じシーン上の異なる視点を表すことがある。たとえば、第1のビューにおけるピクチャの中のビデオブロックは、第2のビューにおけるピクチャの中のビデオブロックと類似したビデオコンテンツを含み得る。この例では、第1のビューにおけるピクチャの中のビデオブロックの位置と、第2のビューにおけるピクチャの中のビデオブロックの位置は異なることがある。たとえば、異なるビューの中のビデオブロックの位置の間には、何らかのずれがあり得る。
【００４８】
ビデオブロックの視差ベクトルは、このずれの尺度を提供する。たとえば、第1のビューにおけるピクチャのビデオブロックは、第2のビューにおけるピクチャの中の対応するビデオブロックのずれを示す視差ベクトルと関連付けられ得る。
【００４９】
異なるカメラ設定または光源からの異なる距離が原因で、同じ時間インスタンスに対応するが異なるビューの中にあるピクチャは、ほぼ同じ画像を含み得るが、一方のピクチャの中のオブジェクトが、他方のピクチャの中の対応するオブジェクトより明るいことがある。照明補償(IC)は、ビュー間予測を実行するときにビュー間のそのような照明の差を補償するための、3D-HEVCにおいて実装される技法である。3D-HEVCでは、ビデオコーダは、現在のピクチャの現在のCUの現在のPUの視差ベクトルを決定する。加えて、ビデオコーダは、現在のCUのために2つのICパラメータを計算し得る。本開示は、これらのICパラメータをaおよびbと表記する。加えて、現在のPUの輝度予測ブロックの各々のそれぞれのサンプルに対して、ビデオコーダは、
p(i, j) = a * r ( i + dvx, j + dvy + b )
を計算する。上の式において、p(i, j)は現在のPUの輝度予測ブロックのそれぞれのサンプルであり、(i, j)は現在のピクチャの左上の角に対する相対的なそれぞれのサンプルの位置を示す座標であり、dvxは現在のPUの視差ベクトルの水平成分であり、dvyは現在のPUの視差ベクトルの垂直成分であり、aおよびbはICパラメータである。
【００５０】
本開示の他の箇所でより詳細に説明されるように、3D-HEVCにおいてICパラメータbを定義する式は、現在のCUの上辺および左辺に隣接する参照サンプルの数による除算演算を伴う。3D-HEVCでは、現在のCUの上辺および左辺に隣接する参照サンプルの数は常に2のべき乗である。その結果、ICパラメータbを定義する式における除算演算は、右シフト演算を使用して実施され得る。本開示の他の箇所で説明されるように、右シフト演算は、除算演算よりも実施するのがはるかに複雑ではないことがあり、かつ除算演算を実施するよりはるかに速いことがある。
【００５１】
2次元ビデオコーディングでは、H. Liu、「Local Illumination Compensation」、ITU-Telecommunications Standardization Sector、Study Group 16 Question 6、Video Coding Experts Group(VCEG)、第52回会合、2015年6月19〜26日、ワルシャワ、ポーランド、文書VCEG-AZ06 (以後、「VCEG-AZ06」)に記載されるように、各々のインターモードコーディングされるコーティング単位(CU)に対して、局所照明補償(LIC)が適応的に有効または無効にされ、LICは、スケーリング係数aおよびオフセットbを使用した、照明変化に対する線形モデルに基づく。LICがCUに適用されるとき、CUに属する各PU/サブPUに対して、LICパラメータが、CUのサブサンプリングされた(2:1のサブサンプリング)隣接サンプルと参照ピクチャの中の対応する画素(現在のPU/サブPUの動き情報によって特定される)とを使用する方法で導出される。N×Nに等しいサイズのCUでは、パラメータ計算に使用される境界画素の総数は2NではなくNである。例が図20に示されている。LICパラメータは、各予測方向に対して別々に導出され適用される。上述の隣接サンプルに基づいてパラメータaおよびbを導出するために、最小二乗誤差法が利用される。
【００５２】
ICは、CUが単一のPUのみを有するときにだけ使用されていた。しかしながら、CUが2つまたは3つのPUへと区分される事例、および/またはCUが非対称に区分される事例を含めて、CUが複数のPUを有する事例において、ICを使用するのが望ましいことがある。そのような事例では、現在のCUの上辺および左辺に隣接する参照サンプルの数は、もはや2のべき乗ではないことがある。したがって、右シフト演算を使用してICパラメータbを計算することは可能ではないことがある。むしろ、ビデオコーダは、ICパラメータbを計算するために、より低速でより複雑な除算演算を使用しなければならないことがある。
【００５３】
この問題に対処するために、ビデオコーダは、参照サンプルの第1のセットをサブサンプリングして、全体で2m個の参照サンプルを含む参照サンプルの第1のサブサンプリングされたセットを生成することができ、ここでmは整数である。本開示では、サブサンプリングという用語は、サンプルのセットからの1つまたは複数のサンプルの選択を示し、ダウンサンプリングは、いくつかの参照サンプルがフィルタリングされたサンプルを導出するために一緒に使用され得るフィルタリングプロセスを示す。参照サンプルのセットは、PUの非正方形予測ブロックの外側の、非正方形予測ブロックの左辺および上辺に沿ったサンプルを備え得る。したがって、本明細書では、参照サンプルは近隣サンプルまたは隣接サンプルとも呼ばれることがある。加えて、ビデオコーダは、参照サンプルの第2のセットをサブサンプリングして、全体で2m個の参照サンプルを含む参照サンプルの第2のサブサンプリングされたセットを生成することができ、ここでmは整数である。参照サンプルの第2のセットは、参照ブロック(たとえば、ビュー間参照ブロックまたは時間参照ブロック)の外側の、参照ブロックの左辺および上辺に沿ったサンプルを備え得る。ビデオコーダは次いで、参照サンプルの第1のサブサンプリングされたセットおよび参照サンプルの第2のサブサンプリングされたセットに基づいて、少なくともICパラメータbを決定し得る。参照サンプルの第1のサブサンプリングされたセットおよび参照サンプルの第2のサブサンプリングされたセットは各々2m個のサンプルを含むので、ビデオコーダは、ICパラメータbを計算するために除算演算の代わりに右シフト演算を使用し得る。このようにして、本開示の技法は、ビデオコーダの複雑さを下げ、かつ/またはビデオコーディングを加速することができる。
【００５４】
上で言及されたように、非正方形TUの導入はいくつかの問題をもたらすことがある。たとえば、CUをTUへと区分するこれまでの技法は、CUのPUが正方形ではない場合であっても、四分木の分割パターンに従っていた。本開示では、四分木(quad-tree)は四分木(quarter-tree)とも呼ばれることがある。常に四分木の分割パターンを使用すると、四分木の分割パターンによりTUの辺がCUのPUの辺と揃わない場合には特に、最適ではないビデオデータ圧縮性能をもたらすことがある。
【００５５】
したがって、本開示の技法によれば、CUの変換木は、四分木の分割パターンに限定されない。むしろ、変換木の中のノードは2つの子ノードを有し得る。したがって、一例では、ビデオデコーダは、木構造に基づいてCUがTUへと区分されると決定し得る。この例では、ビデオデコーダは、木構造の中のノードが木構造の中で丁度2つの子ノードを有すると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応し、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応し、木構造のリーフノードはCUのTUに対応する。いくつかの例では、変換木の中のノードは2つまたは4つの子ノードを有し得る。2つまたは4つの子ノードを有するというノードの柔軟性は、ビデオコーディングの圧縮性能を向上させ得る。
【００５６】
図1は、本開示の技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されるように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを提供するソースデバイス12を含む。具体的には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、タブレットコンピュータ、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのうちのいずれかを備え得る。いくつかの場合、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応し得る。
【００５７】
図1の例では、ソースデバイス12は、ビデオソース18、ビデオデータを記憶するように構成される記憶媒体19、ビデオエンコーダ20、および出力インターフェース22を含む。宛先デバイス14は、入力インターフェース28、ビデオデータを記憶するように構成される記憶媒体29、ビデオデコーダ30、およびディスプレイデバイス32を含む。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイス14は、統合されたディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースしてもよい。
【００５８】
図1の図示されたシステム10は一例にすぎない。ビデオデータを処理するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。一般に、本開示の技法はビデオ符号化デバイスによって実行されるが、技法はまた、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。ソースデバイス12および宛先デバイス14は、単に、ソースデバイス12が宛先デバイス14に送信するためのコーディングされたビデオデータを生成するようなコーディングデバイスの例である。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化および復号構成要素を含むように実質的に対称的な方式で動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオ放送、またはビデオ電話のための、ビデオデバイス12、14間の一方向または双方向のビデオ送信をサポートし得る。
【００５９】
ソースデバイス12のビデオソース18は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェースなどのビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータで生成されたビデオとの組合せを生成し得る。いくつかの場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ電話またはビデオ電話を形成し得る。ソースデバイス12は、ビデオデータを記憶するように構成される1つまたは複数のデータ記憶媒体(たとえば、記憶媒体19)を備え得る。本開示において説明される技法は、ビデオコーディング全般に適用可能であることがあり、ワイヤレスおよび/または有線の適用例において適用されることがある。各場合において、キャプチャされた、事前にキャプチャされた、またはコンピュータで生成されたビデオは、ビデオエンコーダ20によって符号化され得る。出力インターフェース22が次いで、符号化されたビデオ情報をコンピュータ可読媒体16へと出力し得る。
【００６０】
出力インターフェース22は、様々なタイプの構成要素またはデバイスを備え得る。たとえば、出力インターフェース22は、ワイヤレス送信機、モデム、有線ネットワーキング構成要素(たとえば、イーサネット(登録商標)カード)、または別の物理的な構成要素を備え得る。出力インターフェース22がワイヤレス受信機を備える例では、出力インターフェース22は、4G、4G-LTE、LTE Advanced、5Gなどのセルラー通信規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。出力インターフェース22がワイヤレス受信機を備えるいくつかの例では、出力インターフェース22は、IEEE 802.11仕様、IEEE 802.15仕様(たとえば、ZigBee(商標))、Bluetooth(登録商標)規格などの他のワイヤレス規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。いくつかの例では、出力インターフェース22の回路は、ビデオエンコーダ20の回路および/またはソースデバイス12の他の構成要素に組み込まれ得る。たとえば、ビデオエンコーダ20および出力インターフェース22は、システムオンチップ(SoC)の一部であり得る。SoCは、汎用マイクロプロセッサ、グラフィックス処理装置などの、他の構成要素も含み得る。
【００６１】
宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12がリアルタイムで宛先デバイス14へ符号化されたビデオデータを直接送信することを可能にする通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14へ送信され得る。通信媒体は、高周波(RF)スペクトルまたは1つまたは複数の物理伝送線路などの、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするのに有用であり得る任意の他の機器を含み得る。宛先デバイス14は、符号化されたビデオデータおよび/または復号されたビデオデータを記憶するように構成される1つまたは複数のデータ記憶媒体を備え得る。
【００６２】
いくつかの例では、出力インターフェース22は、符号化されたデータを記憶デバイスに出力し得る。同様に、入力インターフェース28は、記憶デバイスからの符号化されたデータにアクセスし得る。記憶デバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、分散されるかまたは局所的にアクセスされる様々なデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイスは、ソースデバイス12によって生成された符号化されたビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶するとともにその符号化されたビデオデータを宛先デバイス14へ送信することが可能な、任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して、符号化されたビデオデータにアクセスすることができる。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せが含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００６３】
本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、dynamic adaptive streaming over HTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されているデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の用途などの、様々なマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの用途をサポートするために、一方向または双方向ビデオ送信をサポートするように構成され得る。
【００６４】
コンピュータ可読媒体16は、ワイヤレス放送もしくは有線ネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-ray(登録商標)ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)が、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを宛先デバイス14に提供し得る。同様に、ディスクスタンピング設備などの媒体製造設備のコンピューティングデバイスが、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを含むディスクを製造し得る。したがって、コンピュータ可読媒体16は、様々な形態の1つまたは複数のコンピュータ可読媒体を含むものと理解され得る。
【００６５】
宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。入力インターフェース28は、様々なタイプの構成要素またはデバイスを備え得る。たとえば、入力インターフェース28は、ワイヤレス受信機、モデム、有線ネットワーキング構成要素(たとえば、イーサネット(登録商標)カード)、または別の物理的な構成要素を備え得る。入力インターフェース28がワイヤレス受信機を備える例では、入力インターフェース28は、4G、4G-LTE、LTE Advanced、5Gなどのセルラー通信規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。入力インターフェース28がワイヤレス受信機を備えるいくつかの例では、入力インターフェース28は、IEEE 802.11仕様、IEEE 802.15仕様(たとえば、ZigBee(商標))、Bluetooth(登録商標)規格などの他のワイヤレス規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。いくつかの例では、入力インターフェース28の回路は、ビデオデコーダ30の回路および/または宛先デバイス14の他の構成要素に組み込まれ得る。たとえば、ビデオデコーダ30および入力インターフェース28は、システムオンチップ(SoC)の一部であり得る。SoCは、汎用マイクロプロセッサ、グラフィックス処理装置などの、他の構成要素も含み得る。
【００６６】
コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、ビデオデコーダ30によっても使用される、シンタックス情報を含むことがあり、シンタックス情報は、ブロックおよび他のコーディングされたユニット、たとえばピクチャグループ(GOP)の特性および/または処理を記述するシンタックス要素を含む。ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し得る。たとえば、宛先デバイス14またはビデオデコーダ30は、ディスプレイデバイス32による表示のために、ビデオデータの再構築されたピクチャを出力し得る。そのような再構築されたピクチャは、再構築されたブロックを備え得る。ディスプレイデバイス32は、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのいずれかを備え得る。
【００６７】
ビデオエンコーダ20およびビデオデコーダユニット30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装され得る。技法が部分的にソフトウェアで実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、本開示の技法を実行するための1つまたは複数のプロセッサを使用してハードウェアで命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれることがあり、そのいずれもが、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されることがある。
【００６８】
いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、ビデオコーディング規格に従って動作し得る。例示的なビデオコーディング規格は、限定はされないが、そのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含む、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、およびITU-T H.264(ISO/IEC MPEG-4 AVCとも知られる)を含む。加えて、新しいビデオコーディング規格、すなわちHigh Efficiency Video Coding(HEVC)が、ITU-T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT-VC)によって最近開発された。Wang他、「High Efficiency Video Coding (HEVC) Defect Report」、Joint Collaborative Team in Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第14回会合、ウィーン、オーストリア、2013年7月25日〜8月2日、文書JCTVC-N1003_v1(以後、「JCTVC-N1003」)は、HEVC規格の草案である。JCTVC-N1003は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。
【００６９】
HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれることもある。ピクチャは1つまたは複数のサンプルアレイを含み得る。ピクチャの各々のそれぞれのサンプルアレイは、それぞれの色成分に対するサンプルのアレイを備え得る。HEVCでは、ピクチャは、SL、SCb、およびSCrと表記される3つのサンプルアレイを含み得る。SLは、輝度サンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cb色差サンプルの2次元アレイである。SCrは、Cr色差サンプルの2次元アレイである。他の事例では、ピクチャはモノクロームであってよく、輝度サンプルのアレイしか含まないことがある。
【００７０】
ビデオデータを符号化することの一部として、ビデオエンコーダ20はビデオデータのピクチャを符号化し得る。言い換えると、ビデオエンコーダ20は、ビデオデータのピクチャの符号化された表現を生成し得る。ピクチャの符号化された表現は、「コーディングされたピクチャ」または「符号化されたピクチャ」と呼ばれ得る。
【００７１】
ピクチャの符号化された表現を生成するために、ビデオエンコーダ20は、コーディングツリー単位(CTU)のセットを生成し得る。CTUの各々は、輝度サンプルのCTBと、色差サンプルの2つの対応するCTBと、CTBのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、CTUは、単一のCTBと、そのCTBのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。CTBは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディング単位」(LCU)と呼ばれることもある。シンタックス構造は、指定された順序でビットストリームに一緒に現れる0個以上のシンタックス要素として定義され得る。スライスは、ラスター走査順序で連続的に順序付けられた整数個のCTUを含み得る。
【００７２】
本開示は、1つまたは複数のサンプルブロックのサンプルをコーディングするために使用される1つまたは複数のサンプルブロックおよびシンタックス構造を指すために、「ビデオ単位」または「ビデオブロック」または「ブロック」という用語を使用することがある。例示的なタイプのビデオ単位は、CTU、CU、PU、変換単位(TU)、マクロブロック、マクロブロック区分などを含み得る。いくつかの文脈では、PUの議論はマクロブロックまたはマクロブロック区分の議論と相互に交換され得る。
【００７３】
HEVCでは、コーディングされたCTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロック上で四分木区分を再帰的に実行してコーディングツリーブロックをコーディングブロックに分割することができ、したがって、「コーディングツリー単位」という名前である。コーディングブロックは、サンプルのN×Nブロックである。CUは、輝度サンプルアレイ、Cbサンプルアレイ、およびCrサンプルアレイを有するピクチャの輝度サンプルのコーディングブロックおよび色差サンプルの2つの対応するコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、CUは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００７４】
ビデオエンコーダ20は、ビデオデータのピクチャのCUを符号化し得る。CUを符号化することの一部として、ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックである。予測単位(PU)は、輝度サンプルの予測ブロック、色差サンプルの2つの対応する予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、PUは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、CUの各PUの予測ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)の予測ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成し得る。
【００７５】
したがって、一般に、PUは、サンプルの1つまたは複数の予測ブロックと、予測ブロックを予測するために使用されるシンタックス構造とを備え得る。HEVCなどのいくつかの例示的なコーデックでは、PUはCUのサブユニットであり得る。他の例示的なコーデックでは、CUとPUの間には区別がないことがある。いくつかの例では、他の用語がPUのために使用されることがある。
【００７６】
ビデオエンコーダ20は、PUの予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUを含むピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。ビデオエンコーダ20が現在のピクチャのPUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、参照ピクチャ(すなわち、現在のピクチャ以外のピクチャ)の復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。
【００７７】
ビデオエンコーダ20がCUの1つまたは複数のPUの予測ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成した後、ビデオエンコーダ20は、CUの1つまたは複数の残差ブロックを生成し得る。たとえば、ビデオエンコーダ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コーディングブロックの中の対応するサンプルとの間の差分を示し得る。
【００７８】
繰り返すと、HEVCでは、スライスの中の最大のコーディング単位はCTUと呼ばれる。各ピクチャはCTUへと分割され、このCTUは、特定のタイルまたはスライスに対するラスター走査順序でコーディングされ得る。CTUは、正方形ブロックであり、四分木すなわちコーディングツリーのルートを表す。CTUは、そのノードがCUである四分木を含む。いくつかの事例では、CTUのサイズは、HEVCメインプロファイルでは16×16から64×64にわたり得る(ただし、技術的には8×8のCTBサイズがサポートされ得る)。いくつかの事例では、CTUサイズは、8×8から64×64までの輝度サンプルにわたり得るが、通常は64×64が使用される。各CTUは、CUと呼ばれるより小さい正方形ブロックにさらに分割され得る。CUは、CTUと同じサイズであり得るが、CUは8×8程度の小ささであり得る。各CUは、1つのモードでコーディングされる。たとえば、CUはインターコーディングまたはイントラコーディングされ得る。CUがインターコーディングされるとき、CUは、2つもしくは4つのPUへとさらに区分されることがあり、またはさらなる区分が適用されないときには1つだけのPUになることがある。1つのCUの中に2つのPUが存在するとき、2つのPUは、CUの半分のサイズの長方形であることがあり、またはCUの1/4もしくは3/4のサイズを有する2つの長方形であることがある。CUがインターコーディングされるとき、PUごとに動き情報の1つのセットが存在する。加えて、各PUは、動き情報のセットを導出するために固有のインター予測モードでコーディングされる。言い換えると、各PUは動き情報の固有のセットを有し得る。
【００７９】
さらに、ビデオエンコーダ20は、CUの残差ブロックを1つまたは複数の変換ブロックに分解し得る。たとえば、ビデオエンコーダ20は、四分木区分を使用して、CUの残差ブロック(たとえば、輝度残差ブロック、Cb残差ブロック、およびCr残差ブロック)を1つまたは複数の変換ブロック(たとえば、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロック)に分解し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形(たとえば、正方形または非正方形)ブロックである。
【００８０】
CUの変換単位(TU)は、輝度サンプルの変換ブロックと、色差サンプルの2つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、CUの各TUは、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロックを有し得る。TUの輝度変換ブロックは、CUの輝度残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、TUは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００８１】
ビデオエンコーダ20は、1つまたは複数の変換をTUの変換ブロックに適用して、TUの係数ブロックを生成し得る。たとえば、ビデオエンコーダ20は、1つまたは複数の変換をTUの輝度変換ブロックに適用して、TUの輝度係数ブロックを生成し得る。係数ブロックは、変換係数の2次元アレイであり得る。変換係数は、スカラー量であり得る。いくつかの例では、1つまたは複数の変換は、画素領域から周波数領域に変換ブロックを変換する。
【００８２】
いくつかの例では、ビデオエンコーダ20は、変換ブロックに変換を適用しない。言い換えると、ビデオエンコーダ20は、変換ブロックへの変換の適用をスキップする。そのような例では、ビデオエンコーダ20は、変換係数と同じ方法で残差サンプル値を扱い得る。したがって、ビデオエンコーダ20が変換の適用をスキップする例では、変換係数および係数ブロックの以下の議論は、残差サンプルの変換ブロックに適用可能であり得る。
【００８３】
係数ブロック(たとえば、輝度係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後に、ビデオエンコーダ20は、係数ブロックを量子化し得る。いくつかの例では、ビデオエンコーダ20は係数ブロックを量子化しない。ビデオエンコーダ20が変換ブロックに変換を適用しない例では、ビデオエンコーダ20は、変換ブロックの残差サンプルを量子化することがあり、またはしないことがある。量子化は一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後に、ビデオエンコーダ20は、量子化された変換係数または残差サンプルを示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化された変換係数または残差サンプルを示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行し得る。いくつかの例では、ビデオエンコーダ20は、パレットベースコーディングを使用してCUを符号化する。したがって、符号化されたブロック(たとえば、符号化されたCU)は、量子化された変換係数を示すエントロピー符号化されたシンタックス要素を含み得る。
【００８４】
ビデオエンコーダ20は、ビデオデータの符号化されたピクチャおよび関連するデータ(すなわち、符号化されたピクチャと関連付けられるデータ)の表現を形成するビットのシーケンスを含むビットストリームを出力し得る。したがって、ビットストリームは、ビデオデータの符号化された表現を備える。ビットストリームは、ネットワーク抽象化レイヤ(NAL)ユニットのシーケンスを備え得る。NALユニットは、NALユニットの中のデータのタイプを示すものと、必要に応じてエミュレーション防止ビットが散りばめられているローバイトシーケンスペイロード(RBSP)の形態でそのデータを含むバイトとを含む、シンタックス構造である。NALユニットの各々は、NALユニットヘッダを含むことがあり、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化されている整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPは0ビットを含む。
【００８５】
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームを構文解析して、ビットストリームからシンタックス要素を取得し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも一部に基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータのピクチャを再構築するためのプロセスは、全般に、ピクチャを符号化するためにビデオエンコーダ20によって実行されるプロセスの逆であり得る。たとえば、ビデオデータのピクチャを再構築するために、ビデオデコーダ30は、ビットストリームから取得されるシンタックス要素および/または外部ソースからのデータに基づいて、ピクチャのCUなどのブロックを復号し得る。
【００８６】
いくつかの例では、ピクチャの現在のCUを復号することの一部として、ビデオデコーダ30は、インター予測またはイントラ予測を使用して、現在のCUの各PUの1つまたは複数の予測ブロックを生成し得る。インター予測を使用するとき、ビデオデコーダ30は、現在のCUのPUの予測ブロックを決定するために、PUの動きベクトルを使用し得る。加えて、ビデオデコーダ30は、いくつかの例では、現在のCUのTUの係数ブロックを逆量子化し得る。ビデオデコーダ30は、いくつかの例では、係数ブロックに対して逆変換を実行して、現在のCUのTUの変換ブロックを再構築し得る。ビデオデコーダ30は、現在のCUのPUの予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応する復号されたサンプル(たとえば、残差サンプル)に加算することによって、現在のCUのコーディングブロックを再構築し得る。ピクチャのCUごとにコーディングブロックを再構築することによって、ビデオデコーダ30はピクチャを再構築し得る。
【００８７】
その上、HEVCでは、タイルと呼ばれる長方形の領域へとピクチャを区分するための選択肢が規定されている。タイルの主な目的は、誤り耐性をもたらすことではなく、並列処理の能力を上げることである。タイルは、何らかの共有されるヘッダ情報を用いて符号化される、ピクチャの独立に復号可能な領域である。タイルは加えて、ビデオピクチャのローカル領域への空間的なランダムアクセスの目的で使用され得る。ピクチャの典型的なタイル構成は、各タイルの中に概ね等しい数のCTUを有する長方形領域へと、ピクチャをセグメント化することからなる。タイルは、より粗い粒度で(ピクチャ/サブピクチャ)並列性を実現し、タイルの使用には、スレッドの洗練された同期は不要である。
【００８８】
残差ブロックの様々な特性を適応させるために、残差四分木(RQT)を使用した変換コーディング構造がHEVCにおいて適用され、これは、http://www.hhi.fraunhofer.de/fields-of-competence/image-processing/researchgroups/image-video-coding/hevc-high-efficiency-video-coding/transform-coding-using-the-residual-quadtree-rqt.htmlにおいて入手可能な、Marpe他、「Transform Coding Using the Residual Quadtree (RQT)」、Fraunhofer Heinrich Hertz Instituteにおいて簡単に説明されている。CTUがCUに再帰的に分割された後、各CUは、PUおよびTUにさらに分割される。TUへのCUの区分は、四分木手法に基づいて再帰的に実行され、したがって、各CUの残差信号は、木構造すなわち残差四分木(RQT)によってコーディングされる。RQTは、4×4から32×32までの輝度サンプルのTUサイズを許容する。図2Aおよび図2Bは、HEVCにおける残差四分木に基づく例示的な変換方式を示す概念図である。具体的には、図2Aは、文字aからjによりラベルを付けられた10個のTUおよび対応するブロック区分をCU40が含む例を示す。図2Bは、図2AのCUのためのRQTを示す概念図である。
【００８９】
ビデオコーダは、個々のTUを深度優先の木横断順序で処理し、この深度優先の木横断順序は、図2Aではアルファベットの順序として図示され、これは深度優先の横断を用いる再帰的なZ走査に従う。四分木手法は、残差信号の変化する空間周波数特性に対する変換の適応を可能にする。通常、空間的なサポートがより大きい、より大きな変換ブロックサイズは、より良い周波数分解能を提供する。しかしながら、空間的なサポートがより小さい、より小さな変換ブロックサイズは、より良い空間分解能を提供する。この2つ、すなわち空間分解能と周波数分解能との間のトレードオフは、たとえばレートひずみ最適化技法に基づいて、エンコーダのモード判断によって選ばれる。レートひずみ最適化技法は、コーディングモード(たとえば、特定のRQT分割構造)ごとにコーディングビットと再構築ひずみとの加重和、すなわちレートひずみコストを計算し、最小のレートひずみコストを有するコーディングモードを最良のモードとして選択する。
【００９０】
3つのパラメータすなわち、木の最大深度、最小の許容される変換サイズ、および最大の許容される変換サイズが、RQTにおいて定義される。HEVCでは、最小変換サイズおよび最大変換サイズは、4×4サンプルから32×32サンプルまでの範囲内で変化することができ、このサイズは、前の段落で言及されたサポートされるブロック変換に対応する。RQTの最大の許容される深度は、TUの個数を制約する。0に等しい最大深度は、各々の含まれるTUが最大の許容される変換サイズ、たとえば32×32に達した場合に、CTUがそれ以上分解され得ないことを意味する。HEVCでは、より大きなサイズの変換、たとえば64×64の変換は、主に、利益が限られていることと、相対的により解像度が小さいビデオに対して相対的により複雑になることが原因で、採用されていなかった。
【００９１】
HEVCでは、TUのサイズとは無関係に、TUの残差(たとえば、TUの係数ブロック)が、重複しない係数グループ(CG)を用いてコーディングされる。CGの各々は、TUの4×4ブロックの係数を含む。たとえば、32×32のTUは全体で64個のCGを有し、16×16のTUは全体で16個のCGを有する。TUのCGは、ある事前に定義された走査順序に従ってコーディングされる。各CGをコーディングするとき、現在のCGの内部の係数は、4×4ブロックのある事前に定義された走査順序に従って走査され、コーディングされる。図3は、HEVCにおける係数グループに基づく例示的な係数走査を示す概念図である。具体的には、図3は、4個の4×4のCGを含む8×8のTUに対する係数走査を示す。
【００９２】
上で述べられたように、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測を実行して予測ブロックを生成し得る。イントラ予測は、空間的に隣接する再構築された画像サンプルを使用して、画像ブロック予測を実行する。図4は、16×16ブロックに対するイントラ予測の例を示す概念図である。図4では、ブロック正方形は16×16ブロック50を含む。図4では、ブロック50は、選択された予測方向に沿った上および左の隣接する再構築されたサンプル52、54(すなわち、参照サンプル)により予測される。図4では、黒いボックスの外側のサンプルが参照サンプルである。図4の白い矢印は選択された予測方向を示す。
【００９３】
図5は、HEVCにおいて定義される35個のイントラ予測モードの例を示す概念図である。図5に示されるように、HEVCは、輝度ブロックのイントラ予測のために35個のモード(平面モード、DCモード、および33個の角度モードを含む)を定義する。HEVCにおいて定義されるイントラ予測の35個のモードは、以下の表において示されるようにインデックスを付けられる。
【００９４】
【表１】
2019500778.tif 000011
【００９５】
HEVCイントラコーディングは、2N×2NおよびN×Nという、2つのタイプのPU分割をサポートする。2N×2Nは、CUを1つのPUへと分割する。言い換えると、CUはCUと同じサイズの1つのPUを有する。N×Nは、CUを4つの等しいサイズのPUへと分割する。しかしながら、区分タイプPART_N×Nにより規定される4つの領域は、区分タイプPART_2N×2Nを用いて4つのより小さいCUによっても表され得る。これにより、HEVCは、最小のCUサイズでのみ、イントラCUが4つのPUへと分割されることを許容する。
【００９６】
図6は、HEVCにおいて定義される平面モードを示す概念図である。平面モードは通常、最も頻繁に使用されるイントラ予測モードである。N×Nブロックのために平面予測を実行するために、(x, y)に位置する各サンプルpxyに対して、予測値は、双線形フィルタを用いて、4つの特定の隣接する再構築されたサンプル、すなわち参照サンプルを使用して計算される。4つの参照サンプルは、右上の再構築されたサンプルTR、左下の再構築されたサンプルBL、ならびに現在のサンプルと同じ列(rx,-1)および行(r-1,y)に位置する2つの再構築されたサンプル60、62を含む。平面モードは以下のように定式化され得る。
pxy = ((N - 1 - x)・L + (x + 1)・TR + (N - 1 - y)・T + (y + 1)・BL + N) >> (Log2( N ) + 1      (1)
上の式(1)において、Lは再構築されたサンプル60に対応し、Tは再構築されたサンプル62に対応する。DCモードでは、予測ブロックは単に、隣接する再構築されたサンプルの平均値により埋められる。一般に、平面モードとDCモードの両方が、滑らかに変化する画像領域および不変の画像領域をモデル化するために適用される。
【００９７】
図7は、HEVCにおいて定義される例示的な角度モードの概念図である。HEVCにおける角度イントラ予測モードのイントラ予測プロセスは、次のように説明される。与えられる各角度イントラ予測モードに対して、イントラ予測方向がそれに従って特定され得る。たとえば、与えられる角度イントラ予測モードは、図5に従って特定され得る。図5に示されるように、イントラモード18は純粋な水平の予測方向に対応し、イントラモード26は純粋な垂直の予測方向に対応する。ある特定のイントラ予測方向を仮定すると、予測ブロックの各々のそれぞれのサンプルに対して、それぞれのサンプルの座標(x, y)がまず、予測方向に沿った隣接する再構築されたサンプルの行または列に投影される。たとえば、図7の例に示されるように、予測ブロック72のサンプル70の座標(x, y)は、特定のイントラ予測方向74に沿って投影される。(x, y)が2つの隣接する再構築されたサンプルLとRとの間の小数位置αに投影されると仮定する。そうすると、(x, y)の予測値は、次のように定式化される2タップの双線形補間フィルタを使用して計算される。
pxy = (1-α)・L +α・R
HEVCでは、浮動小数点数演算を避けるために、上の計算は次のように整数の算術を使用して近似される。
pxy = ( (32- a)・L + a・R + 16 )>>5
ここで、aは32*αに等しい整数である。
【００９８】
図8は、HEVCにおけるインター予測のためのCUを分割するための区分モードの概念図である。図8に示されるように、HEVCでは、インターコーディングされるCUは、1つ、2つ、または4つの区分へと分割されることが可能であり、この分割の様々なタイプが可能である。インター予測されるコーディングブロックのための区分の可能性が、図8に示されている。上の4つの区分タイプは、サイズN×NのCUを分割するのではなく、CUをサイズN×N/2またはN/2×Nの2つの区分へと分割し、CUをサイズN/2×N/2の4つの区分へと分割するケースを、それぞれ示す。図8の下の4つの区分タイプは、非対称動き区分(AMP)と呼ばれる。AMPモードの一方の区分はそれぞれ、高さまたは幅がN/4、かつ幅または高さがNであり、他方の区分は、高さまたは幅が3N/4で幅または高さがNであることによってCUの残りを埋める。各々のインターコーディングされる区分は、1つまたは2つの動きベクトルおよび参照ピクチャインデックスを割り当てられる。
【００９９】
イントラスライスに対しては、イントラ予測モードのみが許可される。したがって、予測モードをシグナリングする必要はない。しかしながら、インタースライス(PまたはBスライス)に対しては、イントラ予測モードとインター予測モードの両方が許可される。したがって、HEVCでは、各CUに対して、1つのフラグpred_mode_flagが非スキップモードのためにシグナリングされる。CUのためにHEVCにおいて定義されるシンタックスおよびセマンティクスの部分的な一覧が下で提示される。
7.3.8.5 コーディング単位シンタックス
【０１００】
【表２】
2019500778.tif 000012
【０１０１】
1に等しいcu_skip_flag[ x0 ][ y0 ]は、現在のコーディング単位に対して、PまたはBスライスを復号するとき、cu_skip_flag[ x0 ][ y0 ]の後には、統合候補インデックスmerge_idx[ x0 ][ y0 ]を除くシンタックス要素がそれ以上構文解析されないことを指定する。0に等しいcu_skip_flag[ x0 ][ y0 ]は、コーディング単位がスキップされないことを指定する。アレイインデックスx0、y0は、考慮されるコーディングブロックの左上輝度サンプルの、ピクチャの左上輝度サンプルに対する相対的な位置(x0, y0)を指定する。cu_skip_flag[ x0 ][ y0 ]が存在しないとき、cu_skip_flag[ x0 ][ y0 ]は0と等しいと推測される。
【０１０２】
0に等しいpred_mode_flagは、現在のコーディング単位がインター予測モードでコーディングされることを指定する。1に等しいpred_mode_flagは、現在のコーディング単位がイントラ予測モードでコーディングされることを指定する。変数CuPredMode[ x ][ y ]は、x = x0..x0 + nCbS - 1およびy = y0..y0 + nCbS - 1に対して、次のように導出される。
-  pred_mode_flagが0に等しい場合、CuPredMode[ x ][ y ]はMODE_INTERに等しく設定される。
-  それ以外の(pred_mode_flagが1に等しい)場合、CuPredMode[ x ][ y ]はMODE_INTRAに等しく設定される。
【０１０３】
pred_mode_flagが存在しないとき、変数CuPredMode[ x ][ y ]は、x = x0..x0 + nCbS - 1およびy = y0..y0 + nCbS - 1に対して、次のように導出される。
-  slice_typeがIに等しい場合、CuPredMode[ x ][ y ]はMODE_INTRAに等しいと推測される。
-  それ以外の(slice_typeがPまたはBに等しい)場合、cu_skip_flag[ x0 ][ y0 ]が1に等しいとき、CuPredMode[ x ][ y ]はMODE_SKIPに等しいと推測される。
【０１０４】
HEVCを開発する過程で、およびその後に、HEVCを改良するための様々な提案が行われている。たとえば、Jianle Chen他、「Further improvements to HMKTA-1.0」、文書: VCEG-AZ07_v2、第52回会合、2015年6月19〜26日、ワルシャワ、ポーランド(以後、「VCEG-AZ07」)は、短距離イントラコーディング方式を記載する。イントラ予測のために正方形ブロックを常に産生する従来のブロック区分方法とは異なり、VCEG-AZ07の短距離イントラ予測(SDIP)方式は、HEVCの四分木ベースのブロック構造のもとで、非正方形のブロック分割を利用する。VCEG-AZ07において説明されるように、ブロックは、幅または高さが4分の1である4つの非正方形ブロックへと分割され、各々の非正方形ブロックが、予測の基本単位として扱われる。非正方形ブロックは、順番にコーディングおよび再構築され、次の隣接ブロックに対するイントラ予測のための参照画素を提供することができる。したがって、参照画素とローカル画素との間の距離を減らすことができ、イントラ予測の精度を大幅に改善することができる。
【０１０５】
図9は、SDIP単位区分の概念図である。SDIP方式では、64×64より小さいCUは、サイズがN/2×2Nまたは2N×N/2である4つの垂直または水平な長方形PUへと分割され得る(これらの区分モードはhN×2Nおよび2N×hNと本開示では呼ばれることがあり、hは半分(half)を意味する)。4つのPUが、hN×2Nモードで左から右に、かつ2N×hNモードで上から下に、順番にコーディングおよび再構築される。図9では、点線はPU/TUの分割を表し、影付きの領域78は、32×8のTUがRQT構造において4つの32×2のTUへと分割されることを示す。区分モードが2N×hNである右上の32×32のCUは4つの32×8のPUへと分割され、モードがhN×2Nである左下の16×16のCUは4つの4×16のPUへと分割され、右下の8×8のCUは8×2のPUへと分割され、以下同様である。2N×2Nモードの左下の16×16のCUおよびN×Nモードの右下の8×8のCUなどの、HEVCにおけるCUの正方形の分割も存在し得る。
【０１０６】
さらに、SDIP方式では、M×N(M>N)のTUは、サイズがM×N/4である、またはM<NであるときにはサイズがM/4×Nである、4つのTUへと分割され得る。言い換えると、SDIP方式における分割は常に、CUにおける同じ方向(垂直または水平)に沿って行われるべきである。以下のTable 2(表3)は、SDIP方式に存在するすべての非正方形単位と、対応するRQT深度とを列挙する。
【０１０７】
【表３】
2019500778.tif 000013
【０１０８】
Xiaoran Cao他、「CE6.b1 Report on Short Distance Intra Prediction Method」、文書.JCTVC-E0278、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第5回会合、ジュネーブ、2011年3月16〜23日(以後、「Cao 1」)では、1×NおよびN×1のような区分がさらに含まれ、対応するRQT深度および変換サイズが下のTable 3(表4)に列挙される。
【０１０９】
【表４】
2019500778.tif 000014
【０１１０】
さらに、一部のSDIP方式は、非正方形変換およびエントロピーコーディングを使用する。たとえば、n×m変換が非正方形ブロックのために使用される。n×m(n>m)ブロックに対して、順方向変換は次のように記述される。
【０１１１】
【数９】
2019500778.tif 000015
【０１１２】
上の式において、Bn×mはn個の行およびm個の列を有するブロックを表し、TnおよびTmはそれぞれ、サイズがn×nおよびm×mである変換行列であり、Cn×mは変換されるブロックを表す。TnおよびTmは、HEVCにおける変換行列と同じである。したがって、ハードウェア実装では、非正方形ブロックのために変換部分が再使用され得る。n×m(n<m)ブロックに対して、ブロックはまずm×n(m>n)ブロックへと転置され、次いで式(1)のように変換される。エントロピーコーディングでは、重複する実装を避けるために、正方形ブロックの係数コーディングも再使用される。たとえば、図10は、走査され8×8行列82へと並べ替えられる16×4係数行列80の概念図である。この例では、図10に示されるように、係数行列80の係数はまず、高周波から低周波へと走査されて1Dバッファ84へ入れられ、次いで、ジグザグの順序で8×8行列82へと並べ替えられ、8×8行列82はHEVCにおける既存の方法を使用してコーディングされる。
【０１１３】
HEVCに対する提案された改良の別の例である、Liu他、「Rectangular (2N×N, N×2N) Intra Prediction」、文書. JCTVC-G135、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第7回会合、ジュネーブ、2011年11月21〜30日(以後、「JCTVC-G135」)は、インターコーディングに対する2N×NおよびN×2Nの区分サイズの使用をイントラコーディングへと拡張することを説明する。追加のPUサイズおよび対応するTUは、下のTable 2(表5)で与えられる。JCTVC-G135では、従来の変換木構造が利用される。
【０１１４】
【表５】
2019500778.tif 000016
【０１１５】
VCEG-AZ07では、以下の技法が説明された。自然なビデオに現れるより鮮明なエッジの方向を捉えるために、VCEG-AZ07は、方向性イントラモードを、HEVCにおいて定義されるような33個から65個へと拡張することを提案した。図11は、提案された67個のイントラ予測モードを示す概念図である。VCEG-AZ07において説明される方向性モードが図11では点線の矢印として示されており、平面モードおよびDCモードは同じままである。VCEG-AZ07において提案されたより密な方向性イントラ予測モードは、すべてのPUサイズに、かつ輝度イントラ予測と色差イントラ予測の両方に適用される。
【０１１６】
方向性イントラモードの数の増大に対応するために、VCEG-AZ07は、6つの最確モード(MPM)を使用した、改善されたイントラモードコーディング方法を提案した。1)6つのMPMの導出、および2)6つのMPMのエントロピーコーディングという、2つの主要な技術的な態様が関与する。6つのMPMのセットを導出するとき、VCEG-AZ06は、左および上の隣接イントラモードの定義を変更した。HEVCのように上および左の隣接ブロックからのイントラモードを直接使用するのではなく、上の隣接行に沿った、かつ左の隣接列に沿った最も頻繁に使用されるイントラモードが計算され、次いで、左および上の隣接モードとしてそれぞれ使用される。
【０１１７】
さらに、VCEG-AZ07において説明されるように、方向性イントラ予測の精度を改善するために、4タップのイントラ補間フィルタが利用される。たとえば、図7に関して上で説明されたように、HEVCは、2タップの線形補間フィルタを使用して、方向性予測モード(すなわち、平面予測子およびDC予測子を除くイントラ予測モード)でイントラ予測ブロックを生成する。具体的には、図7の例では、ビデオコーダは、2タップのフィルタをサンプルLおよびRに適用して、サンプル50の予測値を決定する。フィルタを2つの参照サンプルに適用して予測ブロックのサンプルの予測値を決定するHEVCの手法とは対照的に、VCEG-AZ07は、フィルタを4つの参照サンプルに適用して予測ブロックのサンプルの予測値を決定する。VCEG-AZ07では、4×4および8×8ブロックに対するキュービック補間フィルタ、および16×16以上のブロックに対するガウシアン補間フィルタという、2つのタイプの4タップの補間フィルタが使用される。VCEG-AZ07では、フィルタのパラメータはブロックサイズに従って固定され、すべての予測される画素に対して、すべての方向性モードにおいて、同じフィルタが使用される。
【０１１８】
HEVCでは、イントラ予測ブロックが垂直イントラモードおよび水平イントラモードのために生成された後で、予測サンプル(すなわち、予測ブロックのサンプル)の一番左の列および一番上の行がそれぞれ、さらに調整される。最大で4つの列または行の境界サンプルがさらに、2タップのフィルタ(イントラモード2および34に対する)または3タップのフィルタ(イントラモード3〜6および30〜33に対する)を使用して調整される。
【０１１９】
図12Aおよび図12Bは、イントラモード30〜34に対する境界フィルタの概念図である。具体的には、図12Aは、イントラモード34に対する境界フィルタの概念図である。図12Bは、イントラモード30〜33に対する境界フィルタの概念図である。図12Aおよび図12Bにおいて、ブロックの一番左の列は参照サンプルのセットであり、ブロックの残りはイントラ予測されるブロックのサンプルである。ビデオコーダは、従来の方式でイントラ予測ブロックのサンプルを生成し得る。しかしながら、イントラ予測モード30〜34に対して、ビデオエンコーダは、1つまたは複数の追加のフィルタを影付きの画素に適用し得る。したがって、イントラモード34および30〜33に対する境界予測フィルタの例が図12Aおよび図12Bに示されており、イントラモード2および3〜6に対する境界予測フィルタは同様である。
【０１２０】
具体的には、図12Aにおいて、イントラモード34に対して、ビデオコーダは、それぞれのサンプルの上および右の参照サンプルに基づいて、イントラ予測ブロックの各々のそれぞれのサンプルを生成する。しかしながら、これは、左の参照サンプルから入手可能な情報を無視することがある。したがって、ビデオコーダは、左から4番目までの列に4つの異なるフィルタを適用し得る。イントラ予測ブロックの線1〜4の中の各々のそれぞれのサンプルに対して、ビデオコーダは、イントラモード34の反対方向(すなわち、左および下)に、それぞれのサンプルおよび参照サンプルに基づいてフィルタを適用する。線1に対して、得られるサンプルは(8*a + 8*b)/16として計算することができ、ここでaはそれぞれのサンプルであり、bは参照サンプルである。線2に対して、得られるサンプルは(12*a + 4*b)/16として計算することができ、ここでaはそれぞれのサンプルであり、bは参照サンプルである。図12Bの例では、イントラ予測モード30〜33の方向は、完全に整数の場所の画素と揃わない。むしろ、予測ブロックの各サンプルに対して、イントラ予測モード30〜33に対する方向は、参照サンプルのうちの2つの間の小数場所における参照サンプルと交差する。したがって、イントラ予測モード30〜33に境界フィルタを適用するとき、予測ブロックの一番左の列の各サンプルに対して2つの参照サンプルがある。図12Bの例では、予測ブロックの一番左の列の各々のそれぞれのサンプルに対して、イントラ予測モードが33であるとき、ビデオコーダは、それぞれのサンプルの値を(8*a + 8*b + 2*c)として計算することができ、ここでaはそれぞれのサンプルであり、bは参照サンプルのうちの一方であり、cは参照サンプルのうちの他方である。
【０１２１】
ビデオコーディングは、色空間およびカラーフォーマットに基づいて実行され得る。たとえば、カラービデオは、色を効率的に表すために様々な色空間が使用されるマルチメディアシステムにおいて、欠かせない役割を果たしている。色空間は、複数の成分を使用して、数値を用いて色を指定する。普及している色空間は、RGB色空間であり、RGB色空間では、色が3つの原色成分値(すなわち、赤色、緑色、および青色)の組合せとして表現される。カラービデオの圧縮のために、A. FordおよびA. Roberts、「Colour space conversions」、ウェストミンスター大学、ロンドン、Tech. Rep、1998年8月に記載されるような、YCbCr色空間が広く使用されている。
【０１２２】
YCbCrは、線形変換を介してRGB色空間から容易に変換されることが可能であり、異なる成分間の冗長性、すなわち成分間冗長性は、YCbCr色空間において大きく低減される。YCbCrの1つの利点は、Y信号が輝度情報を伝えるので、白黒TVとの後方互換性があることである。加えて、色差帯域幅は、RGBにおけるサブサンプリングよりも主観的影響が著しく少ないように4:2:0色差サンプリングフォーマットにおいてCb成分およびCr成分をサブサンプリングすることによって、低減され得る。これらの利点のために、YCbCrは、ビデオ圧縮において主要な色空間となっている。また、YCoCgなどの、ビデオ圧縮において使用される他の色空間もある。本開示では、使用される実際の色空間にかかわらず、YCbCr色空間が、各ビデオ圧縮方式における3つの色成分を表すために使用される。
【０１２３】
成分間冗長性はYCbCr色空間において大きく低減されるが、3つの色成分の間の相関は依然として存在する。3つの色成分の間の相関をさらに低減することによってビデオコーディング性能を改善するために、様々な技法が研究されている。
【０１２４】
たとえば、Xiaoran Cao他、「Short distance intra coding scheme for HEVC」、2012 Picture Coding Symposium (PCS)、pp. 501〜504、2012年5月7〜9日、クラクフ、ポーランド(以後、「Cao 2」)は、短距離イントラコーディング方式を説明する。Cao 2は、線形モデル(LM)予測モードと名付けられる、4:2:0色差ビデオコーディングにおける方法を説明し、これはHEVC規格の開発中に研究された。たとえば、以後JCTVC-E266と呼ばれる、J. Chen他、「CE6.a.4: Chroma intra prediction by reconstructed luma samples」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、JCTVC-E266、第5回会合、ジュネーブ、2011年3月16〜23日を参照されたい。4:2:0サンプリングでは、2つの色差アレイの各々が、輝度アレイの半分の高さおよび半分の幅を有する。LM予測モードでは、色差サンプルは、次のように線形モデルを使用することによって、同じブロックの再構築された輝度サンプルに基づいて予測される。
predc(i, j) = α*recL(i, j) + β      (2)
ここで、predC(i, j)は、現在のブロックの中の色差サンプルの予測を表し、recL(i, j)は、現在のブロックのダウンサンプリングされた再構築された輝度サンプルを表す。パラメータαおよびβは、現在のブロックの周りの、原因となる再構築されたサンプルから導出される。ブロックの原因となるサンプルは、復号順序でそのブロックより前にあるサンプルである。色差ブロックサイズがN×Nにより表される場合、iとjの両方が範囲[0, N]の中にある。
【０１２５】
式(2)におけるパラメータαおよびβは、現在のブロックの周りの隣接する再構築された輝度サンプルと色差サンプルとの間の回帰誤差を最小化することによって導出される。
【０１２６】
【数１０】
2019500778.tif 000017
【０１２７】
パラメータαおよびβは、次のように解かれる。
【０１２８】
【数１１】
2019500778.tif 000018
【０１２９】
上の式において、xiはカラーフォーマットが4:4:4ではないダウンサンプリングされた再構築された輝度参照サンプルであり(すなわち、カラーフォーマットは、1つの色差サンプルが複数の輝度サンプルに対応するようなカラーフォーマットである)、yiはダウンサンプリングを伴わない再構築された色差参照サンプルであり、Iは参照サンプルの数である。言い換えると、ビデオコーダは、カラーフォーマットが4:4:4ではないことに基づいて、再構築された輝度参照サンプルをダウンサンプリングするが、カラーフォーマットが4:4:4であることに基づいて、再構築された輝度参照サンプルをダウンサンプリングするのを控え得る。ターゲットのN×N色差ブロックに対して、左と上の両方の原因となるサンプルが利用可能であるとき、関与するサンプルの総数Iは2Nに等しい。左または上の原因となるサンプルのみが利用可能であるとき、関与するサンプルの総数IはNに等しい。ここで、Nは常に2mに等しい(mは異なるCUサイズに対しては異なり得る)。したがって、複雑さを下げるために、式(4)および(5)における除算演算を実施するために、シフト演算が使用され得る。
【０１３０】
図13は、αおよびβの導出のために使用されるサンプルの例示的な位置を示す概念図である。具体的には、図13は、PUの色差予測ブロック90および同じPUの輝度予測ブロック92を示す。色差サンプルは輝度サンプルに対して相対的にダウンサンプリングされているので、色差予測ブロック90の幅および高さ(すなわち、N)は、輝度予測ブロック92の幅および高さ(すなわち、2N)の半分である。図13の例では、大きな暗い正方形の外側の小さい正方形が参照サンプルである。図13の例では、小さい円は、LMパラメータαおよびβを決定するために使用されるサンプル値を示す。図13の例に示されるように、LMパラメータαおよびβを決定するために使用される色差サンプル値は、色差予測ブロック90の参照サンプルと同じである。しかしながら、LMパラメータαおよびβを決定するために使用される輝度サンプル値は、輝度参照サンプルから補間される。LMパラメータαおよびβを決定するために使用される輝度サンプルの得られるセットの総数は、LMパラメータαおよびβを決定するために使用される色差サンプルの数と同じである。
【０１３１】
一般に、LM予測モードが現在のPUに対して適用されるとき、ビデオコーダは以下のステップを実行し得る。まず、ビデオコーダが、現在のPUの輝度ブロックを再構築し得る。現在のPUの輝度ブロックを再構築することの一部として、ビデオコーダは、イントラ予測を実行して現在のPUの輝度予測ブロックを決定し得る。さらに、現在のPUの輝度ブロックを再構築することの一部として、ビデオコーダは、現在のPUの輝度予測ブロックに残差データを加算して、現在のPUの輝度ブロックを再構築し得る。第2に、ビデオコーダが、現在のPUの上辺および左辺に隣接する参照輝度サンプルをダウンサンプリングし得る。第3に、ビデオコーダが、上の式(4)および(5)を使用して、現在のPUの上辺および左辺に隣接する色差参照サンプルならびにダウンサンプリングされた輝度参照サンプルに基づいて線形パラメータ(すなわち、αおよびβ)を導出し得る。本開示は、線形パラメータを「スケーリング係数」とも呼ぶことがある。第4に、ビデオコーダが、現在のPUの再構築された輝度ブロックをダウンサンプリングし得る。第5に、ビデオコーダは、上の式(2)を使用して、現在のPUのダウンサンプリングされた輝度ブロックおよび線形パラメータから色差サンプルを予測し得る(たとえば、予測色差ブロックを導出し得る)。
【０１３２】
上で述べられたように、ビデオコーダは、現在のPUの再構築された輝度ブロックをダウンサンプリングし得る。ビデオコーダは、現在のPUの再構築された輝度ブロックを様々な方法でダウンサンプリングし得る。たとえば、色差成分の典型的なサンプリング比は、輝度成分のサンプリング比の半分であり、4:2:0サンプリングでは垂直方向に0.5サンプルの位相差を有するので、現在のPUの再構築された輝度サンプルは、色差信号のサイズおよび位相と一致するように、垂直方向にはダウンサンプリングされ、水平方向にはサブサンプリングされる。たとえば、0から現在のPUの予測色差ブロックの幅から1を引いた数までの各値i、および0から現在のPUの予測色差ブロックの高さから1を引いた数までの各値jに対して、ビデオコーダは次を計算し得る。
recL(i, j) = (RecLOrig [ 2i, 2j ] + RecLOrig [ 2i, 2j + 1] ) >> 1      (6)
上の式において、recL(i, j)は、現在のPUのダウンサンプリングされた再構築された輝度ブロックの左上の角に対する相対的な、場所(i, j)に対応する輝度サンプルである。RecLOrig[2i, 2j]およびRecLOrig[2i, 2j+1]は、現在のPUの元の再構築された輝度ブロックの左上の角に対する相対的な、場所(2i, 2j)および(2i, 2j+1)における再構築された輝度サンプルである。したがって、式(6)において、現在のPUのダウンサンプリングされた再構築された輝度ブロックの場所(i, j)における輝度サンプルは、現在のPUの元の再構築された輝度ブロックの場所(2i, 2j)における輝度サンプルと、現在のPUの元の再構築された輝度ブロックの場所(2i, 2j+1)における輝度サンプルとの平均である。
【０１３３】
図14は、現在のPUの再構築される輝度ブロックのサンプルをダウンサンプリングするための輝度場所および色差場所の例を示す概念図である。図14は、色差サンプルを三角形として、輝度サンプルを円として示す。ビデオコーダは、[1, 1]フィルタを適用することによって、2つの輝度サンプル(図14では2つのベタの円により表される)から現在の色差サンプル(図14ではベタの三角形により表される)の値を予測する。[1, 1]フィルタは2タップフィルタの一例である。[1, 1]フィルタでは、2つのタップが等しく重み付けられる。図14の各々のそれぞれの三角形に対して、ビデオコーダは、それぞれの三角形の上および下の円によって表されるサンプルに式(6)を適用して、それぞれの三角形によって表されるサンプルのそれぞれの輝度値を決定し得る。
【０１３４】
さらに、上で述べられたように、ビデオコーダは、輝度参照サンプルをダウンサンプリングし得る。ビデオコーダは、輝度参照サンプルを様々な方法でダウンサンプリングし得る。図14に示されるように、現在のPUの予測色差ブロックの列は、現在のPUの予測輝度ブロックの列と揃っている。4:2:0カラーフォーマットを使用する一例では、現在の輝度ブロックの上辺に隣接するダウンサンプリングされた輝度参照サンプルは、輝度参照サンプルのセットの中のインデックスが偶数の場所における各輝度参照サンプルからなり得る。したがって、0から現在のPUの予測色差ブロックの幅から1を引いた数までの範囲にあるiの各々のそれぞれの値に対して、ダウンサンプリングプロセスは次のように定義され得る。
recL(i, -1) = RecLOrig[2i, -1]      (7)
上の式において、recL(i, -1)は、現在のPUの色差予測ブロックの左上の角に対する相対的な場所(i, -1)におけるダウンサンプリングされた輝度参照サンプルである。RecLOrig[2i, -1]は、現在のPUの元の予測輝度ブロックの左上の角に対する相対的な場所(2i, -1)における輝度参照サンプルである。
【０１３５】
図14に示されるように、現在のPUの予測色差ブロックの行は、4:2:0カラーフォーマットでは、現在のPUの予測輝度ブロックの行と揃っていない。しかしながら、LMベースの予測のためのパラメータαおよびβを計算するための式(4)および(5)は、各色差参照サンプルに対して1つの輝度参照サンプルがあることに基づいている。したがって、現在のPUの予測色差ブロックのそれぞれの行に対して、ビデオコーダは、予測色差ブロックの行の上の現在のPUの予測輝度ブロックの行の中の輝度参照サンプルと、予測色差ブロックの行の下の現在のPUの予測輝度ブロックの行の中の輝度参照サンプルとの平均を計算し得る。たとえば、0から予測色差ブロックの中の行の数から1を引いた数までの範囲にある各値jに対して、ビデオコーダは、左の隣接輝度参照サンプルの値を次のように計算し得る。
recL(-1, j) = (RecLOrig[-2, 2j] + RecLOrig[-2, 2j + 1]) >> 1      (8)
上の式において、recL(-1, j)は、現在のPUの予測色差ブロックの左上の角に対する相対的な場所(-1, j)におけるダウンサンプリングされた輝度参照サンプルである。RecLOrig[-2, 2j]およびRecLOrig[-2, 2j+1]は、現在のPUの元の予測輝度ブロックの左上の角に対する相対的な場所(-2, 2j)および(-2, 2j+1)における元の輝度サンプルである。
【０１３６】
他のダウンサンプリング技法も提案されている。たとえば、Yi-Jen Chiu他、「Cross-channel techniques to improve intra chroma prediction」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、JCTVC-F502、第6回会合、トリノ、イタリア、2011年7月14〜22日(本明細書では「JCTVC-F502」と呼ばれる)では、2タップフィルタを使用する代わりに、ビデオコーダは、現在の輝度ブロックと隣接する輝度ブロックの両方に2次元の6タップフィルタリングを適用する。2次元フィルタの係数セットは、
【０１３７】
【数１２】
2019500778.tif 000019
【０１３８】
である。ダウンサンプリングされた輝度サンプルは式(10)によって導出される。
recL(i, j)=(RecLOrig[2i, 2j]*2+RecLOrig[2i, 2j+1]+RecLOrig[2i, 2j-1]
+RecLOrig[2i+1, 2j]*2+RecLOrig[2i+1, 2j+1]+RecLOrig[2i+1, 2j-1])>>3      (10)
上の式において、recL(i, j)は現在のPUのダウンサンプリングされた再構築された輝度ブロックの左上の角に対する相対的な場所(i, j)における再構築された輝度サンプルであり、RecLOrig[..]は現在のPUの元の再構築された輝度ブロックの左上の角に対する相対的な場所における現在のPUの元の再構築された輝度ブロックの再構築された輝度サンプルである。
【０１３９】
たとえば、ビデオコーダは、式(10)の演算を実行してダウンサンプリングされた輝度ブロックを決定し得る。式(10)は、RecLOrig[2i, 2j]、RecLOrig[2i, 2j+1]、RecLOrig[2i, 2j-1]、RecLOrig[2i+1, 2j]、RecLOrig[2i+1, 2j+1]、およびRecLOrig[2i+1, 2j-1]を6つの入力サンプルとして伴う、[1, 2, 1; 1, 2, 1]によって表されるようなビルトイン6タップフィルタを含む。フィルタのタップ数は、どれだけの入力サンプルがフィルタを適用するために使用されるかを示す。たとえば、式(10)では、ビデオコーダは、再構築された輝度ブロックからの6つの値を使用して、ダウンサンプリングされた輝度ブロックを生成する。
【０１４０】
図15は、予測ブロックを生成するための輝度ブロックのサンプルをダウンサンプリングするための輝度場所および色差場所の例を示す概念図である。図15に示されるように、ビデオコーダは、6タップフィルタを適用することによって、6つのベタの円により表される6つの輝度サンプルから、ベタの三角形により表される色差サンプルを予測する。色差サンプルの予測子は、式(2)で定義されるような線形関数を使用して導出されるので、6タップフィルタが適用されるとき、1つの色差サンプルの予測子は6つの隣接輝度サンプルに依拠することがわかり得る。式(2)と(10)を組み合わせると、結果は以下の式(11)である。
predC(i, j)=α・(RecLOrig[2i, 2j]*2+RecLOrig[2i, 2j+1]+RecLOrig[2i, 2j-1]
+RecLOrig[2i+1, 2j]*2+RecLOrig[2i+1, 2j+1]+RecLOrig[2i+1, 2j-1])>>3)+β      (11)
【０１４１】
以下の文章では、(i, j)に位置する色差サンプルの対応するダウンサンプリングされた輝度サンプルのことを、ダウンサンプリングされた再構築された輝度サンプルrecL(i, j)と呼ぶ。たとえば、4:2:0サンプリングであるので、2N×2N輝度ブロックはN×N色差ブロックに対応する。ダウンサンプリングにより、2N×2N輝度ブロックはN×Nのダウンサンプリングされた輝度ブロックになる。このN×Nのダウンサンプリングされた輝度ブロックは、recL(i, j)と呼ばれ、N×N色差ブロックに対応する。
【０１４２】
さらに、上の例は4:2:0サンプリングに関して説明されたが、本開示において説明される技法は、それに限定されない。たとえば、本開示において説明される技法は、4:2:2サンプリングにも適用可能であり得る。したがって、4:2:0に関する例は、理解を助けるために与えられたものにすぎない。
【０１４３】
さらに、いくつかの例では、本開示において説明される技法は、4:4:4サンプリングにも適用可能であり得る。たとえば、4:4:4サンプリングでは、色差ブロックは輝度ブロックに対して相対的にサブサンプリングされない。しかしながら、そのような例でも、色差ブロックの予測ブロックを決定することは可能であり得る。たとえば、輝度ブロックがフィルタリングされてよく、このフィルタリングされたブロックが色差ブロックの予測ブロックとして使用されてよい。これらの例では、輝度ブロックのダウンサンプリングは必要とされないことがある。より詳細に説明されるように、例示的な技法は、色差ブロックの位置に基づいて輝度ブロックのサンプルに適用されるフィルタの選択を記述する。輝度ブロックのサンプルに適用されるフィルタを選択するための技法は、4:4:4サンプリングなどの、LM予測のためにダウンサンプリングが必要ではない例に拡張され得る。そのような例では、フィルタは、4:4:4サンプリングが保たれるように、どのようなダウンサンプリングも含まないことがある。したがって、4:2:0サンプリングについての説明は例であり、本技法は4:4:4サンプリングにも適用可能である。
【０１４４】
たとえば、輝度ブロックをダウンサンプリングするために2タップフィルタまたは6タップフィルタのみを使用することに限定されるのではなく、ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、輝度ブロックをダウンサンプリングするために使用されるフィルタのセットからフィルタを決定し得る。ある例として、ビデオコーダはダウンサンプリングのために使用できる、ある数Xの異なるフィルタがあり得る。たとえば、1タップフィルタ、2タップフィルタ、3タップフィルタなどがあり得る。その上、各フィルタに対して、具体的なタップは異なり得る(たとえば、第1の2タップフィルタのために使用される輝度サンプルは、第2の2タップフィルタのために使用される輝度サンプルとは異なる)。本開示において説明される例のいくつかでは、フィルタのセットは2つのフィルタを含むが、輝度ブロックをダウンサンプリングするためにどのフィルタを適用するかをビデオコーダがそこから決定する3つ以上のフィルタが可能である。
【０１４５】
ビデオコーダは、どのフィルタを適用するかを決定するために様々な基準を使用し得る。一例として、ビデオコーダは、色差ブロックの位置に基づいて、フィルタのセットのうちのどのフィルタを適用するかを決定する。色差ブロックがピクチャ、CU、PU、またはTUの左の境界に接する(たとえば、ピクチャ、CU、PU、またはTUの左の境界が色差ブロックのエッジと同じである)場合、ビデオコーダは、左の境界に接する色差ブロックの色差サンプルに対応する輝度ブロックの輝度サンプルをダウンサンプリングするために第1のフィルタを使用し得る。左の境界に接する色差ブロックのサンプルとは、境界の直上にあるサンプルを含む左の境界に最も近い色差ブロックのサンプルを指す。第1のフィルタは、境界に最も近いN個のサンプル(たとえば、境界に最も近いサンプル、そのサンプルの隣のサンプル、およびN個のそのようなサンプル)に適用され得る。
【０１４６】
いくつかの場合、ビデオコーダは、左の境界に隣接する色差サンプルに対応するサンプルだけではなく、輝度ブロックのすべての輝度サンプルに対して第1のフィルタを適用し得る。しかしながら、本開示で説明する技法はそのように限定されない。すべての他の場合に、ビデオコーダは、輝度ブロックをダウンサンプリングするために第2の異なるフィルタを使用し得る。
【０１４７】
たとえば、4:2:0サンプリングでは、4つの輝度サンプルは1つの色差サンプルに対応する。したがって、ビデオコーダは、どの色差サンプルがどの輝度サンプルに対応するかを決定し得る。よりタップ数が大きいフィルタが使用されるとき、1つの色差サンプルは4つよりも多くの輝度サンプルに対応し得る。左の境界に接する(すぐ隣の、またはある数のサンプル内にある)色差サンプルに対応する輝度サンプルに対して、ビデオコーダは、第1のフィルタを対応する輝度サンプルに適用して輝度ブロックをダウンサンプリングすることができ、左の境界に接しない(すぐ隣にない、またはある数のサンプル内にない)色差サンプルに対応する輝度サンプルに対して、ビデオコーダは、第2のフィルタを対応する輝度サンプルに適用して輝度ブロックをダウンサンプリングし得る。
【０１４８】
いくつかの例では、第1のフィルタは、第2のフィルタよりも少数のタップ(たとえば、フィルタが及ぶサンプルの数)を含み得る。一例として、第1のフィルタは2タップフィルタであり、第2のフィルタは6タップフィルタである。この例では、ビデオコーダは、色差ブロックの対応する色差サンプルが左の境界に接する場合には、式(6)の演算を実行して輝度ブロックのダウンサンプリングされた輝度サンプルを決定することができ、色差ブロックの対応する色差サンプルが左の境界に接しない場合には、式(10)の演算を実行して輝度ブロックのダウンサンプリングされた輝度サンプルを決定することができる。したがって、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、CU/PU/TUの左のピクチャ境界または左の境界(すなわち、辺)に位置する色差ブロックの色差サンプルに対応する輝度ブロックの輝度サンプルに、CU、PU、またはTUの左のピクチャ境界もしくは左の境界にない色差サンプルに対応する輝度ブロックの他のサンプルに適用されるフィルタと比較して、異なるフィルタを適用することができる。左の境界にある色差サンプルとは、左の境界のすぐ隣の、または左の境界からいくつかの数のサンプル内にある色差サンプルを指す。
【０１４９】
異なるフィルタを使用することで、ビデオコーダは利用可能なサンプル値を適切に使用することが可能になる。たとえば、ピクチャ、CU、PU、またはTUの左の境界における色差サンプルに対応する輝度サンプルに6タップフィルタを使用すると、ダウンサンプリングのために輝度ブロックの一部ではない輝度サンプル値をビデオコーダが使用しなければならなくなることがあり、輝度サンプルの欠如に対処するためにビデオコーダが何らかの追加の処理(たとえば、輝度ブロックの一部ではないサンプルの値を生成するために輝度サンプル値をパディングすること)を実行しなければならなくなることがある。しかしながら、左の境界において2タップフィルタを使用すると、ビデオコーダはダウンサンプリングのために輝度ブロックの一部ではない輝度サンプル値を使用しなくてもよくなることがある。したがって、2タップおよび6タップのフィルタが説明されるが、輝度ブロックの一部ではない輝度サンプルを要求する必要をなくすこと(たとえば、左の境界に接する輝度サンプルをパディングする必要をなくすこと)を考慮して、ダウンサンプリングのための他のサイズのフィルタが可能であり得る。
【０１５０】
一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、左のピクチャ境界に位置する色差サンプルに対応する輝度サンプルに、左のピクチャ境界に位置しない色差サンプルに対応する他の輝度サンプルに適用されるフィルタと比較して、異なるフィルタを適用する。一例では、左のピクチャ境界における色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左のピクチャ境界にない色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さより小さい(たとえば、左の境界に対しては2タップ、およびすべての他の部分に対しては6タップ)。
【０１５１】
一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、左のCU境界に位置する色差サンプルの輝度サンプルに、現在のCU内の他の輝度サンプルに適用されるフィルタと比較して、異なるフィルタを適用する。一例では、左のCU境界における色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左のCU境界にない色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さより小さい(たとえば、左の境界に対しては2タップ、およびすべての他の部分に対しては6タップ)。
【０１５２】
一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、左のPU境界に位置する色差サンプルに、現在のPU内の他のサンプルに適用されるフィルタと比較して、異なるフィルタを適用する。一例では、左のPU境界における色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左のPU境界にない色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さより小さい(たとえば、左の境界に対しては2タップ、およびすべての他の部分に対しては6タップ)。
【０１５３】
一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、左のTU境界に位置する色差サンプルに、現在のTU内の他のサンプルに適用されるフィルタと比較して、異なるフィルタを適用し得る。一例では、左のTU境界における色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左のTU境界にない色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さより小さい(たとえば、左の境界に対しては2タップ、およびすべての他の部分に対しては6タップ)。
【０１５４】
いくつかの場合、同じピクチャの中に対応する輝度サンプルがないことがある。以下では、そのような状況に対処するためのいくつかの例示的な技法を説明する。たとえば、パディングを避けることはいくつかの場合には有益であり得るが、いくつかの事例では、パディングを避けることが可能ではないことがある。たとえば、いくつかの輝度サンプルが利用不可能であるので(たとえば、ピクチャから離れているので)、ビデオコーダは、代わりにこれらの利用不可能なサンプルのサンプル値をパディングし、これらのパディングサンプル値を用いてダウンサンプリングを実行し得る(たとえば、利用可能な輝度サンプルのために実際の輝度サンプル値を使用し、利用不可能な輝度サンプルのためにパディングサンプル値を使用してダウンサンプリングし得る)。パディングサンプル値は、デフォルトの値(たとえば、2bitdepth、ここでbitdepthは輝度成分のビット深度を示す)、ビデオエンコーダ20によって決定されビデオデコーダ30にシグナリングされる値、または情報のシグナリングを必要としない何らかの暗黙的な技法に基づいて決定される値であり得る。パディングサンプル値を加算することで、別個のフィルタの必要がなくなり得るので複雑さが下がり得る。
【０１５５】
色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、輝度サンプルがピクチャの外側にあるとき、またはCU/PU/TUがダウンサンプリングプロセスに関与する必要があるとき、ビデオコーダはまず、パディング動作を適用し、続いてダウンサンプリングプロセスを適用し得る。サンプルのパディングにおいて、ビデオコーダは、画面上にないサンプルを、パディングサンプル値で置き換え得る。
【０１５６】
一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、現在のピクチャの外側に位置する輝度サンプル(たとえば、輝度サンプルのみ)をパディングし得る。すべての他の場所では、再構築されたサンプルが使用される。一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、現在のCUの外側に位置する輝度サンプルをパディングし得る。すべての他の場所では、再構築されたサンプルが使用される。一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、現在のPUの外側に位置する輝度サンプルをパディングし得る。すべての他の場所では、再構築されたサンプルが使用される。一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、現在のTUの外側に位置する輝度サンプルをパディングし得る。すべての他の場所では、再構築されたサンプルが使用される。パディングの上の例では、同じダウンサンプリングプロセスがすべての場所に適用される。
【０１５７】
LM予測モードにおいて使用される輝度が再構築されたサンプルの場所が現在のスライスまたは現在のタイルの外側に位置するとき、ビデオコーダは、そのようなサンプルを利用不可能なものとしてマークし得る(たとえば、ビデオコーダはそのようなサンプルを利用不可能なものとして決定し得る)。サンプルが利用不可能であるものとしてマークされるとき、ビデオコーダは次の1つまたは複数を実行し得る。
【０１５８】
利用不可能なサンプルは、隣接輝度ブロックのためのダウンサンプリングプロセスにおいて使用される場合、隣接輝度ブロックのためのダウンサンプリングプロセスにおいては使用されない。代わりに、または加えて、フィルタは、他のサンプルのために使用されるフィルタと異なり得る。利用不可能なサンプルは、現在の輝度ブロックのためのダウンサンプリングプロセスにおいて使用される場合、現在の輝度ブロックのためのダウンサンプリングプロセスにおいては使用されない。代わりに、または加えて、フィルタは、他のサンプルのために使用されるフィルタと異なり得る。利用不可能なサンプルは利用可能なものとして再マークされるが、サンプル値はパディングされるサンプル値またはデフォルト値に修正される。代わりに、または加えて、フィルタは、他のサンプルのために使用されるフィルタと同じままにされる。一例では、デフォルト値はビット深度に依存する。別の例では、パディングは、利用可能であるものとしてマークされる左/右/上/下のサンプルからのものであり得る。
【０１５９】
一般に、別のタイルの中にある輝度サンプルに対して、ビデオコーダは、タイル境界の外側の画素を利用不可能なものとしてマークし、ダウンサンプリングプロセスにそれらを含めなくてもよい。いくつかの例では、ビデオコーダは、別のタイルの中の輝度サンプルを利用可能なものとしてマークするが、別のタイルの中のそのような輝度サンプルのためにパディングされた画素を使用してもよい。別の例として、ビデオコーダは、別のタイルの中の輝度サンプルのために、サンプルを利用不可能なものとしてマークするのではなく、パディングされた「拡張された」値を使用し得る(たとえば、ビット深度に基づく2分の1の可能な値、よって8ビットでは128を使用する)。
【０１６０】
いくつかの例では、ビデオコーダは、異なるフィルタを異なる色差色成分(CbまたはCr)に適用し得る。いくつかの例では、LM予測モードが有効にされるとき、ダウンサンプリングフィルタの1つまたは複数のセットはさらに、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、またはスライスヘッダのいずれかにおいてシグナリングされ得る。代わりに、または加えて、補足強化情報(SEI)メッセージシンタックスが、ダウンサンプリングフィルタを記述するために導入される。代わりに、または加えて、さらに、デフォルトのダウンサンプリングフィルタ、たとえば6タップフィルタ[1, 2, 1; 1, 2, 1]が、シグナリングなしで定義される。代わりに、または加えて、1つのPU/CU/最大CUが、LM予測モードにおいて使用されるフィルタのインデックスをシグナリングし得る。代わりに、または加えて、フィルタタップの使用は、シグナリングせずにビデオデコーダ30によってオンザフライで導出され得る。フィルタをサポートするための他の方法もあり得る。
【０１６１】
一例では、さらに、αiがα(i+3)に等しいという制約が適用される。一例では、さらに、iが0または3に等しい場合にαiがα(i+2)に等しいという制約が適用される。一例では、この例示的な技法は、より大きなコーディングされたCU、たとえば16×16より大きなCUサイズだけに対して有効にされ得る。一例では、パラメータの1つまたは複数が0であるように制約される。
【０１６２】
その上、ビデオコーダは、成分間残差予測のためにも上の技法のうちの1つまたは複数を適用することができ、成分間残差予測において、ダウンサンプリングされた輝度残差が色差残差を予測するために使用される。この場合、ダウンサンプリングプロセスは、一例として、再構築された輝度残差に適用される。
【０１６３】
以下は、本開示において説明される技法がビデオコーダによって実施され得る例示的な方式である。例示的な実施技法は限定するものと見なされるべきではない。
【０１６４】
以下は、左のピクチャ境界にある複数のサンプルに異なるダウンサンプリングプロセスを適用するための例である。現在の輝度ブロックのためのダウンサンプリングプロセスは次のように定義される。
-  色差サンプルがピクチャの左の境界に位置しない場合、6タップフィルタ、たとえば[1 2 1; 1 2 1]が対応するダウンサンプリングされた輝度サンプルを導出するために適用される。
recL(i, j)=(RecLOrig[2i, 2j]*2+RecLOrig[2i, 2j+1]+RecLOrig[2i, 2j-1]
+RecLOrig[2i+1, 2j]*2+RecLOrig[2i+1, 2j+1]+RecLOrig[2i+1, 2j-1] + offset0) >>3      (13)
-  そうではなく、色差サンプルがピクチャの左の境界に位置する場合、2タップフィルタ、たとえば[1; 1]が対応するダウンサンプリングされた輝度サンプルを導出するために適用される。
recL(i, j) = (RecLOrig[2i, 2j] + RecLorig [2i, 2j+1] + offset1) >> 1      (14)
【０１６５】
一例では、offset0とoffset1はともに0に等しく設定される。別の例では、offset0は4に等しく設定され、offset1は1に等しく設定される。
【０１６６】
HEVCでは、長方形のPUに対しても、正方形変換が常に適用される。たとえば、図16は、N×N変換を伴うnR×2N予測モードを示す概念図である。図16の例では、nR×2N予測モードは、ブロックサイズが2N×2Nであるコーディングブロック100を、それぞれ、サイズが0.5N×2Nおよび1.5N×2Nである2つの予測ブロックへと区分する。しかしながら、図16の例では、変換ブロックサイズはN×Nである。
【０１６７】
図17は、2N×N、2N×nD、および2N×nU予測モードのための非正方形四分木(NSQT)を示す概念図である。図17では、レベル0の2N×2Nブロックは、レベル1に位置する4つの2N×0.5Nブロックへと分割され、レベル1のブロックはレベル2に位置する4つのN×0.25Nブロックへとさらに分割される。図18は、N×2N、nR×2N、およびnL×2N予測モードのためのNSQTを示す概念図である。図18では、レベル0の2N×2Nブロックは、レベル1に位置する4つの0.5N×2Nブロックへと分割され、レベル1のブロックはレベル2に位置する4つの0.25N×Nブロックへとさらに分割される。
【０１６８】
残差が2つの連結する予測ブロックの境界において不連続であり得ることを考慮すると、高周波変換係数が産生される可能性が高く、コーディング性能が影響を受けるであろう。本開示では、連結する予測ブロックは、4つの境界のうちの少なくとも1つを共有する予測ブロックである。したがって、Yuan他、「Non-Square Quadtree Transform Structure for HEVC」、2012 Picture Coding Symposium (PCS)、pp. 505〜508、2012年5月7〜9日、クラクフ、ポーランド(以後、「Yuan」)において、非正方形四分木変換(NSQT)構造が説明されている。
【０１６９】
NSQTでは、2N×0.5Nおよび0.5N×2Nという2つの追加の変換ブロックサイズが追加される。本開示では、変換ブロックは2N×0.5Nおよび0.5N×2Nへと分割され、変換行列は、0.5N×0.5Nおよび2N×2Nの変換行列を再使用することによって取得され得る。本開示では、変換行列は変換コアとも呼ばれることがある。Yuanでは、2N×0.5Nおよび0.5N×2Nの変換ブロックの変換係数を量子化するために、HEVCのN×N量子化テーブルが再使用される。
【０１７０】
上で言及されたように、ビデオコーダは、サンプルを周波数領域に変換するために、またはその逆を行うために、変換を適用し得る。HEVCにおいて適用される変換の具体的なタイプは、2つのタイプの離散コサイン変換、すなわちDCT-IIおよび4×4 DST-VIIである。Xin Zhao他、米国特許出願公開第2016/0219290 A1号は、インターコーディングされたブロックとイントラコーディングされたブロックの両方に対して、DCT-IIおよび4×4 DST-VIIに加えてEnhanced Multiple Transform(EMT)方式を提案した。EMT方式は、HEVCにおける現在の変換以外の、DCT/離散サイン変換(DST)ファミリーからの複数の選択された変換を利用する。米国特許出願公開第2016/0219290号において新たに導入された変換行列は、DST-VII、DCT-VIII、DST-I、およびDCT-Vである。
【０１７１】
米国特許出願公開第2016/0219290 A1号における提案されたEMTは、64×64より小さいCUに適用され、EMTが適用されるかどうかは、CU内のすべてのTUに対して、フラグ、すなわちEMTフラグを使用して、CUレベルで制御される。EMT対応CU内の各TUに対して、使用されるべき水平方向または垂直方向の変換は、選択された変換セットに対するインデックス、すなわちEMTインデックスによってシグナリングされる。各変換セットは、前述の変換行列から2つの変換を選択することによって形成される。
【０１７２】
イントラ予測残差に対して、変換セットが、X. Zhao他、「Video coding with rate-distortion optimized transform」、IEEE Trans. Circuits Syst. Video Technol.、vol. 22、 no. 1、pp. 138〜151、2012年1月において説明されるように、イントラ予測モードに基づいて事前に定義されるので、各イントラ予測モードは固有の変換セットを有する。たとえば、1つの変換セットは{DCT-VIII, DST-VII}であり得る。水平方向の変換のための変換セットは、同じイントラ予測モードに対しても、垂直方向の変換のための変換セットとは異なり得ることに留意されたい。しかしながら、すべてのイントラ予測モードに対する異なる変換セットの総数、ならびに新しく導入される変換の数は限られている。しかしながら、インター予測残差に対して、1つだけの変換セットが、すべてのインターモードのために、および水平方向の変換と垂直方向の変換の両方のために使用される。
【０１７３】
各カメラの光源に対する露出は異なり得るので、マルチビュービデオコーディングにおける照明補償(IC)が、異なるビュー間の照明の不一致を補償するために使用される。通常、加重係数および/またはオフセットが、コーディングされるブロックと異なるビュー中の予測ブロックとの差分を補償するために使用される。照明補償は、ビュー間参照ピクチャから予測されるブロックのコーディング効率を改善するために導入された。したがって、照明補償は、ビュー間参照ピクチャによって予測されるブロックだけに適用され得る。
【０１７４】
Liu他、「3D-CE1.h related: Illumination Compensation for Inter-View Prediction」、Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第1回会合、ストックホルム、スウェーデン、2012年7月16〜20日、文書JCT3V-A0086(以後、JCT3V-A0086)が、照明補償(IC)を説明する。JCT3V-A0086では、ICがビュー間予測のために有効にされる。さらに、JCT3V-A0086において説明されるように、ICプロセスは、現在のCUの隣接サンプルおよび参照ブロックの隣接サンプルに基づいてICパラメータを導出する。JCT3V-A0086では、ICは2N×2N区分モードのみに適用される。さらに、JCT3V-A0086では、AMVPモードに対して、ビュー間参照ピクチャから予測される各CUのために、1つのICフラグがシグナリングされる。マージモードでは、ビットを節約するために、PUのマージインデックスが0に等しくないときだけ、ICフラグがシグナリングされる。ICフラグは、ICがCUのために使用されるかどうかを示す。ICは、時間参照ピクチャだけから予測されるCUには適用されない。
【０１７５】
JCT3V-A0086において説明されるように、ビュー間予測において使用される線形ICモデルが式(6)に示される。
p(i, j)=a*r(i+dvx,j+dvy+b)、ただし(i, j)∈PUc      (15)
ここで、PUcは現在のPUであり、(i, j)はPUcの中の画素の座標であり、(dvx, dvy)はPUcの視差ベクトルであり、p(i, j)はPUcの予測であり、rは隣接ビューからの現在のPUの参照ピクチャである。aおよびbは線形ICモデルのパラメータである。
【０１７６】
JCT3V-A0086において、図19に示されるような画素の2つのセットが、現在のPUのためのパラメータaおよびbを推定するために使用される。画素の第1のセットは、現在のCU(すなわち、現在のPUを含むCU)の左の列および上の行の中の、利用可能な再構築された隣接画素を含む。画素の第2のセットは、現在のCUの参照ブロックの対応する隣接画素を含む。現在のPUの視差ベクトルは、現在のCUの参照ブロックを見つけるために使用される。
【０１７７】
図19は、ICモデルにおけるパラメータを推定するために使用される隣接画素を示す。具体的には、図19は現在のCU110および参照ブロック112を含む。図19の各々のそれぞれの正方形はそれぞれのサンプルに対応する。したがって、現在のCU110および参照ブロック112は各々64個のサンプルを含む。現在のCU110の隣の円を囲む正方形は、現在のCU110の隣接サンプル(すなわち、Recneig)に対応する。参照ブロックCU112の隣の円を囲む正方形は、隣接ブロック112の隣接サンプル(すなわち、Recrefneig)に対応する。本開示の他の箇所で説明されるように、ビデオコーダは、RecneigおよびRefrefneigを使用してICのためのパラメータを推定し得る。
【０１７８】
さらに、JCT3V-A0086において説明されるように、Recneigを、現在のCUにより使用される隣接画素セットを表するものとする。Recrefniegを、現在のCUの参照ブロックにより使用される隣接画素セットを表すものとする。現在のCUのサイズおよび現在のCUの参照ブロックのサイズがともにN×Nに等しいものとする。2Nを、RecneigおよびRecrefneigの中の画素の数を表すものとする。そうすると、aおよびbは次のように計算され得る。
【０１７９】
【数１３】
2019500778.tif 000020
【０１８０】
いくつかの場合、aだけが線形モデルにおいて使用されてbは常に0に等しく設定され、または、bだけが使用されてaは常に1に等しく設定される。
【０１８１】
VCEG-AZ06において、局所照明補償(LIC)が、各々のインターモードコーディングされたCUに対して適応的に有効または無効にされる。VCEG-AZ06において、LICは、スケーリング係数aおよびオフセットbを使用する、照明変化のための線形モデルに基づく。図20は、VCEG-AZ06において説明されるようなICパラメータを導出するために使用される例示的な隣接サンプルを示す概念図である。
【０１８２】
VCEG-AZ06において、LICがCUに適用されるとき、CUに属する各PU/サブPUに対して、ビデオコーダは、CUのサブサンプリングされる(2:1サブサンプリング)隣接サンプルおよび参照ピクチャの中の対応する画素(現在のPU/サブPUの動き情報によって特定される)を使用する方法で、LICパラメータを導出する。N×Nに等しいサイズのCUでは、式(16)および(17)において使用される境界画素の総数は2NではなくNである。例が図20に示されている。したがって、図20は、現在のCU116の参照ブロック114が現在のPUの視差ベクトルを使用することによって発見される、照明補償モデルにおけるパラメータを推定するために使用される例示的な隣接画素を示す概念図である。VCEG-AZ06において、ICパラメータは、各予測方向に対して別々に導出され適用される。上述の隣接サンプルに基づいてパラメータaおよびbを導出するために、ビデオコーダは最小二乗誤差法を利用し得る。
【０１８３】
HEVCにおける現在のRQT設計、ならびにNSQTおよびICなどの他の技法は、以下の欠点を有し得る。たとえば、NSQTが使用されるか、HEVCの変換木が使用されるかにかかわらず、PU情報を考慮しないと最適ではないことがある四分木構造が常に利用される。しかしながら、HEVCは、イントラ予測モードに対しては正方形PUしかサポートしない。
【０１８４】
JCTVC-G135において行われるように、イントラモードに2N×NおよびN×2Nの区分を導入すると、以下の問題があり得る。まず、AMPが許可されない。第2に、高いコーディング効率を達成するために変換木構造をどのように定義すべきかが研究されていない。第3に、LM予測モードが正方形PUだけと使用されてきたので、非正方形PUについて、LM予測モードにおいて使用されるパラメータαおよびβをどのように導出すべきかが知られていない。第4に、これまでの技法では、係数を正方形になるように並べ替えなければならず、これは隣接する係数の間の相関を少なくすることがある。さらに、現在のEMT設計には、EMTがCUレベルで制御されるという問題がある。しかしながら、CUレベルでEMTを制御することは、CUの中の各PUの残差特性(たとえば、分布)が異なる場合、効率的ではない。
【０１８５】
上で言及された問題を解決するために、本開示は以下の技法を提案する。以下の箇条書きにされる技法は、個別に適用され得る。代わりに、それらの任意の組合せが適用され得る。以下の説明では、CUサイズはM×Mにより表され、PUサイズはK×Lにより表され、KとLはともにM以内である。
【０１８６】
本開示の第1の例示的な技法によれば、変換木が四分木に限定されないことが提案される。たとえば、変換四分木と変換二分木が組み合わされ得る。すなわち、少なくともある変換深度に対して、1つのTUが2つのより小さいTUまたは4つのより小さいTUへと分割され得る。本開示では、変換木の各々のそれぞれのノードに対して、それぞれのノードのそれぞれの変換深度は、それぞれのノードと変換木のルートノードとの間の、変換木の中のノードの数を指す。TUを2つのTUへと分割するか、または4つのTUへと分割するかという柔軟性により、TU境界をPU境界と揃えるように変換木を構築するビデオエンコーダ20の能力が向上し得る。TU境界をPU境界と揃えることで、圧縮性能が上がり得る。
【０１８７】
したがって、この例では、ビデオエンコーダ20は、木構造に基づいてCUのTUへとビデオデータのCUを区分し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。この例では、木構造の中の少なくとも1つのノードが、木構造の中で丁度2つの子ノードを有する。いくつかの事例では、木構造の中の少なくとも1つのノードが、木構造の中で丁度4つの子ノードを有し得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含め得る。
【０１８８】
対応する例では、ビデオデコーダ30は、木構造に基づいてCUのTUへとCUが区分されると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。この例では、木構造の中の少なくとも1つのノードは木構造の中で丁度2つの子ノードを有し、木構造の中の少なくとも1つのノードは木構造の中で丁度4つの子ノードを有する。この例では、ビデオデコーダ30は、CUのTUのうちの少なくとも1つに対するデータに基づいて、CUのコーディングブロックを再構築し得る。
【０１８９】
さらに、変換木が四分木に限定されない(すなわち、すべての非リーフノードが4つの子ノードを有するような木であることが求められない)例では、0に等しい変換深度に対して、サイズがM×Mに等しい正方形変換が適用される。1に等しい変換深度に対して、変換は(PUの数に応じて)2つまたは4つへと分割され、変換サイズはK×Lに等しい。残りの変換深度に対して、四分木構造が依然として適用され、ここで1つのTUが4つのより小さいTUへと分割され、すなわち、2に等しい変換深度に対して、変換サイズはK/2 × L/2に設定される。例が図21に与えられる。変換深度1において2または4へと変換の分割を制限する1つの理由は、変換サイズをPUサイズと揃えるためであり、たとえば、PUサイズが2N×NまたはN×2Nである場合、2への分割が好ましいことがある。PUがN×Nの区分である場合、4ウェイの変換分割がより良好な結果を生むことがある。別の理由では、対応する変換行列が知られていなかった場合、たとえばAMPが使用される場合、1つの16×16のCUが4×16および12×16のPUへと分割され得るが、12×12の変換は定義されないので、4への分割がこの場合には使用され得る。
【０１９０】
図21は、2N×Nに等しい区分サイズに対する例示的な変換構造を示す概念図である。図21および以下の図では、破線は次の変換深度に対する分割情報を示す。具体的には、図21では、変換ブロック130はCUのコーディングブロックと同じサイズを有する。変換ブロック130は、変換ブロック132および134へと区分される。さらに、図21の例では、変換ブロック132は、変換ブロック136、137、138、および139へと区分される。変換ブロック134は、変換ブロック140、141、142、および143へと区分される。したがって、図21に示されるように、ルートノードは2個の子ノードを有し得るが、他の変換深度にあるノードは、0または4個の子ノードを有することが求められ得る。
【０１９１】
CUの変換木が四分木であることに制約されないいくつかの例では、二分木または四分木のいずれかが適用される。ビデオコーダは、CUの中のPUの数に基づいて、二分木が適用されるか四分木が適用されるかを決定し得る。たとえば、2つのPUがあるとき、ビデオコーダは二分変換木を利用する。CUが4つのPUを有する場合、ビデオコーダは、四分木構造を使用してCUをTUに区分し得る。一例では、二分木と四分木のいずれかを選択する方法は、1などのいくつかの変換深度にのみ適用される。
【０１９２】
したがって、この例では、ビデオエンコーダ20は、木構造に基づいてCUのTUへとビデオデータのCUを区分し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応し、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応し、木構造のリーフノードはCUのTUに対応し、CUは1つまたは複数のPUを有する。さらに、この例では、CUのPUの数に応じて、以下のうちの1つだけが適用される。すなわち、木構造の中の各ノードが木構造の中で丁度2つの子ノードを有し、または、木構造の中の各ノードが木構造の中で丁度4つの子ノードを有する。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含め得る。
【０１９３】
対応する例では、ビデオデコーダ30は、木構造に基づいてCUのTUへとビデオデータのCUが区分されると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応し、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応し、木構造のリーフノードはCUのTUに対応し、CUは1つまたは複数のPUを有する。この例では、CUのPUの数に応じて、以下のうちの1つだけが適用される。すなわち、木構造の中の各ノードが木構造の中で丁度2つの子ノードを有し、または、木構造の中の各ノードが木構造の中で丁度4つの子ノードを有する。さらに、この例では、ビデオデコーダ30は、CUのTUのうちの少なくとも1つに対するデータに基づいて、CUのコーディングブロックを再構築し得る。
【０１９４】
変換木が四分木であることに制約されないいくつかの例では、二分木または四分木のいずれかの分割方法がシグナリングされる。たとえば、ビデオエンコーダ20は、CUが二分木に従ってTUへと区分されるか、四分木に従ってTUへと区分されるかを示す、シンタックス要素を表すデータをビットストリームに含め得る。この例では、ビデオデコーダ30は、ビットストリームの中のデータに基づいて、シンタックス要素の値を決定し得る。さらに、この例では、ビデオデコーダ30は、CUが二分木に従ってTUへと区分されるか、四分木に従ってTUへと区分されるかを、そのシンタックス要素の値に基づいて決定し得る。
【０１９５】
代わりに、さらに、シグナリングはいくつかのPU区分に対してスキップされ得る。言い換えると、ビデオエンコーダ20は、ブロックがPUへとどのように分割されるかに基づいて、そのブロックに対する変換木分割のシグナリングをスキップし得る。たとえば、一例では、2N×Nに等しいPU区分に対して、二分木が常に使用されるので、対応する変換木において、二分木分割が使用されるか四分木分割が使用されるかをシグナリングする必要はない。
【０１９６】
本開示の第2の技法によれば、ある変換深度において、変換サイズが長方形PUのためのPUサイズに等しいことが提案される。本開示では、変換サイズはTUの変換ブロックのサイズを指す。したがって、この例では、CUの変換木の特定の深度におけるノードに対応する変換ブロックは、CUのPUの予測ブロックと同じサイズを有する。前に論じられたように、TU境界をPU境界と揃えることで、圧縮性能が改善し得る。
【０１９７】
第2の技法の一例では、上の方法はインターコーディングされたCUにのみ適用される。言い換えると、ビデオコーディング規格は、インターコーディングされたCUに対するPUと変換サイズが確実に等しくなることをビデオエンコーダ20に求め得るが、この要件はイントラコーディングされたCUには適用されない。
【０１９８】
さらに、いくつかの例では、ビデオエンコーダ20は、3つの色成分(たとえば、Y、Cb、およびCr)に対して少なくとも1つの0ではない係数が存在するかどうかを示すために、各PUのために1つのフラグをシグナリングし得る。上で言及されたように、本開示の第2の技法は、CUのTUのサイズが、変換木において特定の深度にあるCUのPUのサイズに等しいことを求める。したがって、その特定の深度において、変換木は、CUの各々のそれぞれのPUのためのそれぞれの変換木ノードを含む。特定の深度における変換木の各々のそれぞれの変換木ノードに対して、それぞれの変換木ノードは、対応するPUの輝度予測ブロックおよび色差予測ブロックと同じサイズおよび形状を有する、輝度変換ブロックおよび色差変換ブロックに対応する。したがって、エンコーダ20は、対応するPUにおいて情報をシグナリングすることによって、その特定の深度における変換木ノード(およびその特定の深度における変換木ノードの子孫の変換木ノード)についての情報をシグナリングし得る。たとえば、ビデオエンコーダ20は、PUのための第1のシンタックス要素、PUのための第2のシンタックス要素、およびPUのための第3のシンタックス要素を、ビットストリームにおいてシグナリングし得る。この例では、PUのための第1のシンタックス要素は、対応する変換木ノードまたはその子孫の変換木ノードの輝度係数ブロックの中に0ではない変換係数が存在するかどうかを示し、PUのための第2のシンタックス要素は、対応する変換木ノードまたはその子孫の変換木ノードのCb係数ブロックの中に0ではない変換係数が存在するかどうかを示し、PUのための第3のシンタックス要素は、対応する変換木ノードまたはその子孫の変換木ノードのCr係数ブロックの中に0ではない変換係数が存在するかどうかを示す。
【０１９９】
従来の技法では、長方形PUは、インター予測されたCUにしか許可されていなかった。しかしながら、本開示の第2の技法のいくつかの例では、長方形PU(2N×N、N×2Nなど)がイントラコーディングされたCUに導入されるとき、上の方法(すなわち、変換サイズが特定の変換深度におけるPUサイズに等しいことを必要とする)も適用される。
【０２００】
第3の技法によれば、1つのTUは複数のより小さいTUへと分割され得るが、より小さいTUのサイズは異なり得る。言い換えると、ビデオコーダは、TUを2つの異なるサイズの子TUへと分割し得る。いくつかの事例では、TUを2つ以上の異なるサイズの子TUへと分割することは、AMPが有効にされる場合にビデオコーディング性能を向上させることができ、それは、2つ以上の異なるサイズの子TUへとTUを分割することで、子TUの境界がPUの境界とより揃うようになり得るからである。本開示の他の箇所で説明されるように、TUの境界をPUの境界と揃えることで、予測ブロック間の境界における不連続性と関連付けられる高周波変換係数の発生が減り、したがって、圧縮効率が向上し得る。たとえば、ブロック(たとえば、CU)が12×16のPUを有する場合、12×16のPUに対応するブロックの区分は、2つの8×8のTUおよび2つの4×4のTUへと、または2つの8×8のTUおよび1つの4×16のTUへと分割され得る。
【０２０１】
第3の技法の一例では、AMPモードが1つのCUに対して有効にされるとき、より大きなPUに対する変換木は、小さいPUに等しい1つの部分と、別のPUとしての残りとを伴う、2つの部分に分割され得る。例が図22に与えられる。図22は、本開示の技法による、N×N/4(U)に等しい区分サイズのための変換構造を示す概念図である。図22の例では、変換ブロック150は、変換ブロック152および154へと区分される。さらに、図22の例では、変換ブロック152は、変換ブロック156、158、160、および162へと区分される。変換ブロック154は、変換ブロック164および166へと区分される。変換深度2における右側の分岐は、2つの分割変換サイズが異なることを示す。すなわち、変換ブロック164および変換ブロック166は異なるサイズを有する。
【０２０２】
第3の技法のいくつかの例では、TUの非対称な分割は、2つのPUサイズが異なる、または、1つのCUが複数のPUを含みそれらのPUのうちの少なくとも2つが異なるサイズを有する、AMPのケースにのみ適用可能である。言い換えると、ビデオコーダは、TUを含むCUが異なるサイズのPUへと分割される場合、TUを異なるサイズの子TUへと分割するだけであり得る。
【０２０３】
したがって、TUが複数の異なるサイズのTUへと分割され得る例では、ビデオエンコーダ20は、木構造に基づいてCUのTUへとCUを区分し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。この例では、木構造のうちの少なくとも1つのノードの子ノードは、異なるサイズのブロックに対応する。さらに、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含め得る。
【０２０４】
対応する例では、ビデオデコーダ30は、木構造に基づいてCUのTUへとCUが区分されると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。この例では、木構造のうちの少なくとも1つのノードの子ノードは、異なるサイズのブロックに対応する。さらに、この例では、ビデオデコーダ30は、CUのTUのうちの少なくとも1つに対するデータに基づいて、CUのコーディングブロックを再構築し得る。
【０２０５】
本開示の第4の技法によれば、変換の分割は、CUにおいて同じ方向(垂直または水平)に沿わずに行われることが許可される。言い換えると、CUの変換木は、水平に分割された変換ブロックと垂直に分割された変換ブロックとを含み得る。変換ブロックの水平の分割と垂直の分割の両方を許可することで、CUのTUの境界がCUのPUの境界とより揃うようになり得る。本開示の他の箇所で論じられるように、CUのTUの境界をCUのPUの境界と揃えることで、予測ブロック間の境界における不連続性と関連付けられる高周波変換係数の発生が減り、したがって、圧縮効率が向上し得る。第4の技法の一例では、CUのTUの水平の分割と垂直の分割の両方の使用は、いくつかの区分モード、たとえばAMPにのみ適用可能である。
【０２０６】
図23は、本開示の技法による、N×N/4(U)に等しい区分サイズのための変換構造を示す概念図である。図23の例では、CU区分は水平方向に沿っており、TU区分は水平方向および/または垂直方向のいずれかからであり得る。具体的には、TU180はTU182およびTU184へと水平に分割される。TU182は、TU186、188、190、および192へと分割される。TU184は、TU194、196、および198へと水平および垂直に分割される。
【０２０７】
CUにおける異なる方向に沿った変換ブロックの分割が許可される例では、ビデオエンコーダ20は、木構造に基づいてCUのTUへとCUを区分し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。この例では、木構造の中の第1のノードは丁度2つの子ノードを有し、第1のノードの子ノードに対応するブロック間の境界は垂直である。加えて、この例では、木構造の中の第2のノードは丁度2つの子ノードを有し、第2のノードの子ノードに対応するブロック間の境界は水平である。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含め得る。
【０２０８】
同様に、ビデオデコーダ30は、木構造に基づいてCUのTUへとCUが区分されると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応し、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応し、木構造のリーフノードはCUのTUに対応する。さらに、この例では、木構造の中の第1のノードは丁度2つの子ノードを有し、第1のノードの子ノードに対応するブロック間の境界は垂直である。この例では、木構造の中の第2のノードは丁度2つの子ノードを有し、第2のノードの子ノードに対応するブロック間の境界は水平である。この例では、ビデオデコーダ30は、CUのTUのうちの少なくとも1つに対するデータに基づいて、CUのコーディングブロックを再構築し得る。
【０２０９】
本開示の第5の技法によれば、1つのCUがイントラPUとインターPUの両方を含むことがあり、これは以下の説明ではcomb_modeと呼ばれる。いくつかの事例では、comb_modeの使用は、CUの予測ブロックの精度を向上させ得るので、最終的には圧縮性能の向上につながり得る。CUのPUの予測ブロックの精度は、PUの予測ブロックの対応するサンプルとCUのコーディングブロックのサンプルとの差の尺度である。
【０２１０】
したがって、第5の技法によれば、ビデオエンコーダ20は、イントラ予測を実行してCUの第1のPUの第1の予測ブロックを取得し得る。加えて、この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。この例では、ビデオエンコーダ20は、第1の予測ブロックおよび第2の予測ブロックに基づいて、CUの残差データを取得し得る。さらに、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUの残差データを表すデータを含め得る。
【０２１１】
同様に、第5の技法によれば、ビデオデコーダ30は、イントラ予測を実行してCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。さらに、この例では、ビデオデコーダ30は、第1の予測ブロックおよび第2の予測ブロックに基づいて、CUのコーディングブロックを再構築し得る。
【０２１２】
1つのCUがcomb_modeでコーディングされ、CUが、N×2N区分モードなどにおいて、垂直方向に2つのPUへと分割されるとき、ビデオコーダは、CUの変換木の変換深度を次のように決定し得る。左のPUがイントラコーディングされたPUである場合、変換深度は0以上であり得る。言い換えると、左のPUがイントラコーディングされることに基づいて、CUの変換木の深度は、0以上であることが許容される。したがって、CUの変換木の深度が0に等しい事例では、TUサイズはCUサイズに等しいことがあり、1つのTUは2つのPUをカバーすることがあり、すなわちPUの境界にまたがることがある。それ以外の(左のPUがインターコーディングされたPUである)場合、変換深度は1以上に制約される。言い換えると、CUの変換木の深度は1以上であり得るが、0に等しくはない。この例では、左のPUがインターコーディングされたPUであるとき、TUサイズはPUサイズよりも大きくてはならない。
【０２１３】
したがって、この例では、ビデオエンコーダ20は、ビデオコーディング規格に準拠するビットストリームを生成し得る。この例では、CUが第1のPUおよび第2のPUへと垂直な境界に沿って分割され、CUの左のPUがイントラコーディングされたPUであることに基づいて、ビデオコーディング規格は、CUのTUが第1のPUと第2のPUの両方をカバーすることを許容する。同様の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを取得し得る。この例では、ビットストリームは、CUが第1のPUおよび第2のPUへと垂直な境界に沿って分割され、CUの左のPUがイントラコーディングされたPUであることに基づいて、CUのTUが第1のPUと第2のPUの両方をカバーすることを許容する、ビデオコーディング規格に準拠し得る。ビデオエンコーダ20とビデオデコーダ30の両方の例において、ビデオコーディング規格は、CUが第1のPUおよび第2のPUへと垂直な境界に沿って分割されることと、CUの左のPUがインターコーディングされたPUであることとに基づいて、CUのTUのTUサイズが第1のPUまたは第2のPUのサイズより大きくないことを要求する制約を設け得る。
【０２１４】
さらに、2N×N区分モードが使用されるときなどの、1つのCUが水平方向に2つのPUへと分割されるとき、ビデオコーダは、CUがイントラPUとインターPUの両方を含むときに使用される変換深度を次のように決定し得る。上のPUがイントラコーディングされたPUである場合、変換深度は0以上であり得る。言い換えると、CUの変換木の深度は0以上である。この例では、上のPUは水平に分割されたCUの上側PUである。変換深度が0である事例では、TUサイズはCUサイズに等しく、1つのTUは2つのPUをカバーする。それ以外の(すなわち、上のPUがインターコーディングされたPUである)場合、変換深度は1以上に制約される。言い換えると、CUの変換木の深度は1以上であり、0であってはならない。この例では、上のPUがインターコーディングされたPUであるとき、TUサイズはPUサイズよりも大きくてはならない。
【０２１５】
したがって、この例では、ビデオエンコーダ20は、ビデオコーディング規格に準拠するビットストリームを生成し得る。この例では、CUが第1のPUおよび第2のPUへと水平な境界に沿って分割され、CUの上のPUがイントラコーディングされたPUであることに基づいて、ビデオコーディング規格は、CUのTUが第1のPUと第2のPUの両方をカバーすることを許容する。その上、いくつかの例では、ビットストリームは、CUが第1のPUおよび第2のPUへと水平な境界に沿って分割されることと、CUの上のPUがインターコーディングされたPUであることとに基づいて、CUのTUのTUサイズが第1のPUまたは第2のPUのサイズより大きくないことを要求する制約を設けるビデオコーディング規格に準拠する。
【０２１６】
同様の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを取得し得る。この例では、ビットストリームは、CUが第1のPUおよび第2のPUへと水平な境界に沿って分割され、CUの上のPUがイントラコーディングされたPUであるとき、CUのTUが第1のPUと第2のPUの両方をカバーすることを許容する、ビデオコーディング規格に準拠する。その上、いくつかの例では、ビデオデコーダ30は、CUが第1のPUおよび第2のPUへと水平な境界に沿って分割され、CUの上のPUがインターコーディングされたPUであるときに、CUのTUのTUサイズが第1のPUまたは第2のPUのサイズより大きくないことを要求する制約を設けるビデオコーディング規格に準拠するビットストリームを取得する。
【０２１７】
いくつかの例では、1つのCUがcomb_modeでコーディングされるとき、TUがPUの境界にまたがってはならないという制約が追加される。この制約は、TUがPUの境界にまたがり得る場合のレートひずみコストを確認する必要がなくなるので、エンコーダの複雑さを下げることができる。したがって、この例では、ビデオエンコーダ20は、CUがイントラコーディングされたPUおよびインターコーディングされたPUを有することに基づいて、CUのTUがCUのPU境界をまたがないことを要求する制約を設ける、ビデオコーディング規格に準拠するビットストリームを生成し得る。同様の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを取得し得る。この例では、ビットストリームは、CUがイントラコーディングされたPUおよびインターコーディングされたPUを有することに基づいて、CUのTUがCUのPU境界をまたがないことを要求する制約を設ける、ビデオコーディング規格に準拠する。
【０２１８】
さらに、comb_modeを伴ういくつかの例では、comb_modeが8×8などのあるサイズより大きい(そのサイズを含まない)CUにのみ適用されるように制約される。より小さいブロックに対しては、comb_modeがCUに適用されるかどうかをシグナリングするビットを増やすことは、comb_modeによりもたらされるレートひずみコストの低減とつり合いがとれないことがあることに留意されたい。したがって、ある小さいサイズに対しては、comb_modeは追加のシグナリングなしで常に無効にされ得る。本開示では、ある制約が、ビデオエンコーダが何らかの活動を実行すること、またはビットストリームを何らかの方法で生成することを妨げることがある。たとえば、ビデオエンコーダ20は、イントラコーディングされたPUとインターコーディングされたPUの両方を有するために特定のサイズより小さいCUが許可されないことを要求する制約を設ける、ビデオコーディング規格に準拠するビットストリームを生成し得る。同様の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを取得し得る。この例では、ビットストリームは、イントラコーディングされたPUとインターコーディングされたPUの両方を有するために特定のサイズより小さいCUが許可されないことを要求する制約を設ける、ビデオコーディング規格に準拠する。
【０２１９】
comb_modeを伴ういくつかの例では、1つの8×8のCUは、1つの8×4イントラPUおよび1つの8×4インターPUを用いて、または1つの4×8イントラPUおよび1つの4×8インターPUを用いて、comb_modeでコーディングされ得る。この例では、この8×8のCUの対応する4×4色差ブロック(4:2:0カラーフォーマットにおける)は、インターコーディングされた輝度PUのインター予測モードのみを使用して、もしくは、イントラコーディングされた輝度PUのイントラ予測モードのみを使用してコーディングされることが可能であり、または、4×4色差ブロックはさらに、それに対応して輝度PU区分に基づいて2つの4×2または2×4ブロックとして区分され、2つの4×2または2×4の各々は対応する輝度予測モードによって予測され、4×4残差ブロックが生成され、2×2変換の導入を避けるために4×4変換が生成された44個の残差ブロックに対して実行される。2×2変換の導入は不必要に複雑さを上げることがある。
【０２２０】
したがって、上の例では、ビデオエンコーダ20は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。加えて、この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。この例では、CUのサイズは2N×2Nであり、第1のPUのサイズは2N×Nであり、第2のPUのサイズはN×2Nであり、または、第1のPUのサイズはN×2Nであり、第2のPUのサイズは2N×Nである。さらに、この例では、CUは4:2:0カラーフォーマットを使用してコーディングされる。この例では、第1のPUの第1の予測ブロックは、第1のPUの輝度予測ブロックである。この例では、第2のPUの第2の予測ブロックは、第2のPUの輝度予測ブロックである。この例では、ビデオエンコーダ20は、インター予測のみを使用して、サイズN×Nの色差予測ブロックである第3の予測ブロックを取得する。この例では、ビデオエンコーダ20は、第1、第2、および第3の予測ブロックに基づいて、CUの残差データを取得する。同様の例は、第1、第2、および第3の予測ブロックに基づいてCUの残差データを取得するビデオエンコーダ20の代わりに、イントラ予測のみを使用してイントラ予測の代わりに第3の予測ブロックを取得するビデオエンコーダ20を代わりに用いる。
【０２２１】
その上、対応する例では、ビデオデコーダ30は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。この例では、CUのサイズは2N×2Nであり、第1のPUのサイズは2N×Nであり、第2のPUのサイズはN×2Nであり、または、第1のPUのサイズはN×2Nであり、第2のPUのサイズは2N×Nであり、CUは4:2:0カラーフォーマットを使用してコーディングされる。さらに、この例では、第1のPUの第1の予測ブロックは第1のPUの輝度予測ブロックであり、第2のPUの第2の予測ブロックは第2のPUの輝度予測ブロックである。この例では、ビデオデコーダ30は、インター予測のみを使用して、サイズN×Nの色差予測ブロックである第3の予測ブロックを取得する。さらに、この例では、ビデオデコーダ30は、第1、第2、および第3の予測ブロックに基づいて、CUのコーディングブロックを再構築し得る。同様の例は、イントラ予測のみを使用してイントラ予測の代わりに第3の予測ブロックを取得するビデオデコーダ30の異なる構成を、代わりに用いる。
【０２２２】
上で言及されたように、いくつかの例では、1つの8×8のCUは、1つの8×4イントラPUおよび1つの8×4インターPUを用いて、または1つの4×8イントラPUおよび1つの4×8インターPUを用いて、comb_modeでコーディングされることが可能であり、この8×8のCUの対応する4×4色差ブロックは、インターコーディングされた輝度PUのインター予測モードのみを使用してコーディングされることが可能であり、ビデオコーダは、それに対応して輝度PU区分に基づいて2つの4×2または2×4ブロックとして4×4色差ブロックを区分することができ、ビデオコーダは対応する輝度予測モードによって2つの4×2または2×4の各々を予測し、ビデオコーダは4×4残差ブロックを生成し、生成された4×4残差ブロックに対して4×4変換を実行する。
【０２２３】
したがって、そのような例では、ビデオエンコーダ20は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。加えて、この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。この例では、CUのサイズは2N×2Nであり、第1のPUのサイズは2N×Nであり、第2のPUのサイズはN×2Nであり、または、第1のPUのサイズはN×2Nであり、第2のPUのサイズは2N×Nであり、CUは4:2:0カラーフォーマットを使用してコーディングされる。さらに、第1のPUの第1の予測ブロックは第1のPUの輝度予測ブロックであり、第2のPUの第2の予測ブロックは第2のPUの輝度予測ブロックである。この例では、ビデオエンコーダ20は、第1のPUのイントラ予測モードを使用して、第1のPUの色差予測ブロックを生成し得る。さらに、この例では、ビデオエンコーダ20は、インター予測を使用して、第2のPUの色差予測ブロックを生成し得る。この例では、ビデオエンコーダ20は、第1の予測ブロック、第2の予測ブロック、第1のPUの色差予測ブロックおよび第2のPUの色差予測ブロックに基づいて、CUの残差データを取得し得る。
【０２２４】
同様の例では、ビデオデコーダ30は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。この例では、CUのサイズは2N×2Nであり、第1のPUのサイズは2N×Nであり、第2のPUのサイズはN×2Nであり、または、第1のPUのサイズはN×2Nであり、第2のPUのサイズは2N×Nであり、CUは4:2:0カラーフォーマットを使用してコーディングされる。さらに、この例では、第1のPUの第1の予測ブロックは第1のPUの輝度予測ブロックであり、第2のPUの第2の予測ブロックは第2のPUの輝度予測ブロックである。この例では、ビデオデコーダ30は、第1のPUのイントラ予測モードを使用して、第1のPUの色差予測ブロックを生成し得る。ビデオデコーダ30は、インター予測を使用して、第2のPUの色差予測ブロックを生成し得る。さらに、ビデオデコーダ30は、第1の予測ブロック、第2の予測ブロック、第1のPUの色差予測ブロックおよび第2のPUの色差予測ブロックに基づいて、CUのコーディングブロックを再構築し得る。
【０２２５】
加えて、comb_modeを伴ういくつかの例では、1つのCUが2つ以上のPUを使用してコーディングされ、インター予測モードとイントラ予測モードの両方が使用されるとき、インターコーディングされるPUに対して、CUは現在のHEVC設計と同じ方法で扱われる。すなわち、再構築は、あり得る逆量子化/変換後の復号された残差と、動き情報を使用する動き補償された予測ブロックとの合計として定義される。加えて、イントラコーディングされたPUに対して、ビデオコーダは2つの予測子を伴うプロセスを使用し、すなわち、再構築は、あり得る逆量子化/変換後の復号された残差と、近隣のインターコーディングされたPUからの動き情報を使用する動き補償された予測ブロックと、現在のPUと関連付けられるイントラ予測モードを使用するイントラ予測ブロックとの合計として定義される。
【０２２６】
したがって、この例では、ビデオエンコーダ20は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。さらに、この例では、CUの残差データを取得することの一部として、ビデオエンコーダ20は、第1のPUに対応する残差データの各々のそれぞれのサンプルに対して、それぞれのサンプルが、CUのコーディングブロックのそれぞれのサンプルから、第2のPUの動き情報を使用して取得される予測サンプルを引き、第1の予測ブロックのサンプルを引いたものに等しくなるように、それぞれのサンプルを取得し得る。動き情報を使用して取得される予測サンプルは、インター予測PUの予測ブロックのサンプルであり得る。
【０２２７】
対応する例では、ビデオデコーダ30は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。さらに、この例では、CUのコーディングブロックを再構築することの一部として、ビデオデコーダ30は、第1のPUに対応するコーディングブロックの各々のそれぞれのサンプルに対して、それぞれのサンプルが、それぞれの復号された残差サンプルと、第2のPUの動き情報を使用して取得される予測サンプルと、第1の予測ブロックのサンプルとの合計に等しくなるように、それぞれのサンプルを取得し得る。
【０２２８】
代わりに、comb_modeを伴ういくつかの例では、1つのCUが2つ以上のPUを使用してコーディングされ、インター予測モードとイントラ予測モードの両方が使用されるとき、イントラコーディングされたPUに対して、CUのコーディングブロックを再構築するためのプロセスは現在のHEVC設計と同じであり、すなわち、再構築は、あり得る逆量子化/変換後の復号された残差と、イントラ予測モードを使用するイントラ予測ブロックとの合計として定義される。加えて、CUのインターコーディングされたPUに対して、インターコーディングされたPUに対応するコーディングブロックの部分を再構築するためのプロセスは、2つの予測子がインターコーディングされたPUのために定義されるという点でHEVCの再構築プロセスと異なる。さらに、インターコーディングされたPUのサンプルに対応するCUのコーディングブロックの各サンプルに対して、サンプルは、復号された残差サンプル(たとえば、あり得る逆量子化/変換後の)と、インターコーディングされたPUの動き情報を使用して生成されるインターコーディングされたPUの動き補償された予測ブロックのサンプルと、インターコーディングされたPUに隣接するイントラコーディングされたPUと関連付けられるイントラ予測モードを使用して生成されるイントラ予測ブロックのサンプルとの合計として定義される。
【０２２９】
したがって、この例では、ビデオエンコーダ20は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。さらに、この例では、CUの残差データを取得することの一部として、ビデオエンコーダ20は、第2のPUに対応する残差データの各々のそれぞれのサンプルに対して、それぞれのサンプルが、CUのコーディングブロックのそれぞれのサンプルから、第1のPUのイントラ予測モードを使用して取得される予測サンプルを引き、第2の予測ブロックのサンプルを引いたものに等しくなるように、それぞれのサンプルを取得し得る。
【０２３０】
対応する例では、ビデオデコーダ30は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。さらに、この例では、CUのコーディングブロックを再構築することの一部として、ビデオデコーダ30は、第2のPUに対応するコーディングブロックの各々のそれぞれのサンプルに対して、それぞれのサンプルが、それぞれの復号された残差サンプルと、第1のPUのイントラ予測モードを使用して取得される予測サンプルと、第2の予測ブロックのサンプルとの合計に等しくなるように、それぞれのサンプルを取得し得る。
【０２３１】
一例では、2つの予測子を許容するとき、2つの予測ブロックが、線形加重関数、たとえば2つの平均を用いて合成される。たとえば、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、イントラ予測を使用してPUの第1の予測ブロックを生成することができ、インター予測を使用してPUの第2の予測ブロックを生成することができる。この例では、ビデオコーダは、PUの最終予測ブロックを、最終予測ブロックの各々のそれぞれのサンプルに対して、最終予測ブロックのそれぞれのサンプルに対応する第1の予測ブロックおよび第2の予測ブロックのサンプルの加重平均を決定することによって、決定し得る。この例では、加重平均に使用される重みは、インター予測される予測ブロックよりもイントラ予測される予測ブロックを重んじることがあり、またはその逆であることがある。いくつかの事例では、そのような線形加重関数を使用することは、より正確な最終予測ブロックをもたらすことがあり、これは最終的には圧縮性能を向上させることがある。線形加重係数は、サイド情報としてシグナリングされ、またはあるコーディングされた情報から導かれ得る。
【０２３２】
たとえば、CUのPUに対応するCUのコーディングブロックの各々のそれぞれのサンプルに対して、ビデオエンコーダ20は、それぞれのサンプルの第1の予測サンプルとそれぞれのサンプルの第2の予測サンプルとを取得し得る。たとえば、それぞれのサンプルの第1の予測サンプルはインター予測を使用して生成されることがあり、それぞれのサンプルの第2の予測サンプルはイントラ予測を使用して生成されることがある。この例では、ビデオエンコーダ20は、線形加重関数をそれぞれのサンプルの第1の予測サンプルおよびそれぞれのサンプルの第2の予測サンプルに適用することによって、それぞれのサンプルの加重予測サンプルを決定し得る。加えて、この例では、ビデオエンコーダ20は、それぞれのサンプルの元の値とそれぞれのサンプルの加重予測サンプルとの差に等しい、それぞれのサンプルの残差サンプルを決定し得る。
【０２３３】
同様に、コーディングブロックの各々のそれぞれのサンプルに対して、ビデオデコーダ30は、それぞれのサンプルの残差サンプルを取得し得る。たとえば、ビデオデコーダ30は、変換係数を示すシンタックス要素をビットストリームから取得し、逆量子化を変換係数に適用し、逆変換を変換係数に適用して残差サンプルを取得し得る。さらに、この例では、ビデオデコーダ30は、それぞれのサンプルの第1の予測サンプルとそれぞれのサンプルの第2の予測サンプルとを決定し得る。たとえば、それぞれのサンプルの第1の予測サンプルはインター予測を使用して生成されることがあり、それぞれのサンプルの第2の予測サンプルはイントラ予測を使用して生成されることがある。この例では、ビデオデコーダ30は、線形加重関数をそれぞれのサンプルの第1の予測サンプルおよびそれぞれのサンプルの第2の予測サンプルに適用することによって、それぞれのサンプルの加重予測サンプルを決定し得る。加えて、この例では、ビデオデコーダ30は、それぞれのサンプルの残差サンプルとそれぞれのサンプルの加重予測サンプルとの合計として、それぞれのサンプルを再構築し得る。
【０２３４】
以下の例は、comb_modeが1つのスライス、ピクチャ、またはシーケンス(すなわち、コーディングされたビデオシーケンス)に対して有効にされるときの、comb_modeの使用法を示す。HEVCでは、CUは1ビットのpred_mode_flagシンタックス要素を含む。0に等しいCUのpred_mode_flagシンタックス要素は、CUがインター予測モードでコーディングされることを指定する。1に等しいCUのpred_mode_flagシンタックス要素は、CUがイントラ予測モードでコーディングされることを指定する。本開示の一例によれば、CUの1ビットのpred_mode_flagは、3つのあり得る値をとるシンタックス要素により置き換えられる。この例では、3つの値はそれぞれ、従来のイントラモード、従来のインターモード、およびcomb_modeに対応する。この例では、従来のイントラモードは、CUのすべてのPUがイントラ予測モードを使用してコーディングされる事例を指す。さらに、この例では、従来のインター予測モードは、CUのすべてのPUがインター予測モードを使用してコーディングされる事例を指す。いくつかの例では、comb_modeがあるCUに対して有効にされるとき、そのCUの1つだけのPUに対して、ビデオエンコーダ20は、そのPUがイントラ予測モードでコーディングされるかインター予測モードでコーディングされるかを示すための1ビット値をシグナリングする。そのCUはcomb_modeでコーディングされるので、他のPUは、その1ビット値がシグナリングされた対象のPUとは異なる予測モードである。別の例では、comb_modeは従来のインターモードとして扱われる。この例では、CUの各PUに対して、イントラ予測モードまたはインター予測モードの使用を示すために、追加のフラグが加えられる。
【０２３５】
本開示の第7の技法では、1つのPUはイントラ予測とインター予測の両方から予測されることが可能であり、イントラ予測およびインター予測からの2つの予測ブロックが、そのPUの最終予測ブロックを導出するために使用される。このようにして最終予測ブロックを導出することは、PUのより正確な予測ブロックをもたらすことがあり、これは圧縮性能を向上させることがある。
【０２３６】
したがって、第7の技法によれば、ビデオエンコーダ20は、イントラ予測を実行してCUのPUの第1の予測ブロックを取得し得る。加えて、この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの同じPUの第2の予測ブロックを取得し得る。この例では、ビデオエンコーダ20は、第1の予測ブロックおよび第2の予測ブロックに基づいて、PUの最終予測ブロックを導出し得る。さらに、ビデオエンコーダ20は、PUの最終予測ブロックに基づいて、CUの残差データを取得し得る。たとえば、ビデオエンコーダ20は、PUの最終予測ブロックのサンプルとCUのコーディングブロックの対応するサンプルとの差を計算することによって、CUの残差データの少なくとも一部分を生成し得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUの残差データを表すデータを含め得る。
【０２３７】
対応する例では、ビデオデコーダ30は、イントラ予測を実行してCUのPUの第1の予測ブロックを取得し得る。加えて、この例では、ビデオデコーダ30は、インター予測を実行して同じCUの同じPUの第2の予測ブロックを取得し得る。この例では、ビデオエンコーダ30は、第1の予測ブロックおよび第2の予測ブロックに基づいて、PUの最終予測ブロックを導出し得る。さらに、この例では、ビデオデコーダ30は、PUの最終予測ブロックに基づいて、CUのコーディングブロックを再構築し得る。たとえば、ビデオデコーダ30は、PUの最終予測ブロックをCUの残差データに加算して、CUのコーディングブロックの少なくとも一部分を再構築し得る。
【０２３８】
さらに、第7の技法のいくつかの例では、ビデオコーダは、線形加重関数を2つの予測ブロックに適用し、たとえば、2つの予測ブロックの同じ相対的な場所に位置する画素の加重係数は固定されている。いくつかの例では、異なる場所に対する加重係数は可変であり得る。さらに、いくつかの例では、加重係数はイントラ予測モードに依存する。一例では、ブロック内の左上の場所に対して、イントラ予測モードがDCモードである場合、インター予測ブロックおよびイントラ予測ブロックの中の左上のサンプルの重みは等しく、すなわち(0.5, 0.5)であり、一方、イントラ予測が垂直予測モードである場合、イントラ予測ブロックの中の左上のサンプルの重みは、インター予測ブロックの中の左上のサンプルの重みより大きいことがある。
【０２３９】
第7の技法のいくつかの例では、すべての場所ではないが、1つまたは複数の場所における1つの画素の最終予測値は、イントラ予測されたブロックとインター予測されたブロックのいずれかから複製されることがあり、すなわち、2つの加重係数のうちの一方が0であり他方が1である。
【０２４０】
いくつかの例では、第7の技法は、特定の区分サイズ(たとえば、2N×2N)、および/または特定の予測モード(マージ/スキップモード)に適用される。さらに、いくつかの例では、第7の技法が適用されるとき、イントラ予測モードは、従来のイントラ予測に使用されるイントラ予測モードのサブセットであるように制約される。一例では、サブセットはMPM(最確モード)のみを含むように定義される。
【０２４１】
上で論じられたように、ビデオコーダは、線形モデル(LM)予測モードを使用して、同じブロックの再構築された輝度サンプルに基づいてブロックの色差サンプルを予測し得る。さらに、上で説明されたように、LM予測モードは非正方形PUとともに使用されてこなかった。本開示の第8の技法によれば、ビデオコーダは非正方形PUとともにLM予測モードを使用することができる。より一般的には、LM予測モードを適用するための技法と同じものが、非正方形の輝度ブロックおよび色差ブロックとともに機能する。したがって、非正方形PUに関する第8の技法についての本開示における議論は、PUの輝度予測ブロックおよび色差予測ブロックなどの、非正方形の輝度ブロックおよび色差ブロックに対して一般に当てはまり得る。さらに、第8の技法の例は、LM予測モードにおいて使用されるパラメータをいくつかの方法で導出することができる。
【０２４２】
たとえば、第8の技法のいくつかの例では、非正方形PUの長辺における境界は、ダウンサンプリングまたはサブサンプリングされた境界の中の画素の数が短辺の境界における画素の数に等しくなるように、ダウンサンプリングまたはサブサンプリングされる。このプロセスは、デシメーションまたは補間されたサンプリングであり得る。ビデオデコーダ30がデシメーションを使用してサブサンプリングを実行する例では、ビデオデコーダ30は、通常の間隔でサンプルを除去し(たとえば、1つおきにサンプルを除去し)、残りのサンプルの値を変更せずにサンプルの数を減らすことができる。別の例では、ビデオデコーダ30は、補間を使用してサブサンプリングを実行することができる。ビデオデコーダ30が補間を使用してサブサンプリングを実行する例では、隣り合うサンプルのそれぞれのペアに対して、ビデオデコーダ30は、それぞれのペアのサンプルの間の値を補間することができ、サンプルのサブサンプリングされたセットにその補間された値を含めることができる。
【０２４３】
したがって、本開示の第8の技法の例では、ビデオエンコーダ20は、線形モデル予測演算を実行して、PUのダウンサンプリングまたはサブサンプリングされた再構築された輝度サンプルから、CUの非正方形PUの予測色差ブロックを予測することができる。さらに、この例では、ビデオエンコーダ20は、予測色差ブロックに基づいて、CUの残差データを取得し得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUの残差データを表すデータを含め得る。対応する例では、ビデオデコーダ30は、線形モデル予測演算を実行して、PUのダウンサンプリングされた再構築された輝度サンプルから、ビデオデータの現在のピクチャのCUの非正方形PUの予測色差ブロックを予測することができる。この例では、ビデオデコーダ30は、予測色差ブロックに一部基づいて、CUのコーディングブロックを再構築し得る。この段落の例のいずれでも、ビデオエンコーダ20またはビデオデコーダ30が、非正方形PUの長辺に接したダウンサンプリングまたはサブサンプリングされた輝度サンプルの数が、非正方形PUの短辺に接した輝度サンプルと同じであるように、非正方形PUの長辺の輝度サンプルをダウンサンプリングまたはサブサンプリングし得る。
【０２４４】
一例では、式(4)および式(5)を使用して線形モデルパラメータを計算するとき、輝度成分と色差成分の両方に対して、非正方形PUの長辺における境界の画素は、ダウンサンプリングまたはサブサンプリングされた境界における画素の数がより短い境界における画素の数(すなわち、min(K, L))に等しくなるように、サブサンプリングされる。このサブサンプリングプロセスは、デシメーションまたは補間されたサンプリングであり得る。
【０２４５】
したがって、この例では、LM予測動作を実行することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のパラメータは
【０２４６】
【数１４】
2019500778.tif 000021
【０２４７】
に等しく、第2のパラメータは
β=(Σyi-α・Σxi)/I
に等しく、Iは非正方形PUの左および上の境界における参照サンプルの数であり、xiはダウンサンプリングまたはサブサンプリングされた再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。
【０２４８】
代わりに、いくつかの例では、PUの長辺と短辺の両方に位置する画素はサブサンプリングされることがあり、サブサンプリング比は異なることがある。サブサンプリング比は、サブサンプリングの後のサンプルに対するサブサンプリングの前のサンプルの比である。しかしながら、サブサンプリングの後の2つの辺における画素の総数は2mに等しくなければならないことが要求され得る(ここでmは整数であり、mは輝度成分および色差成分に対して異なり得る)。mの値はブロックサイズKおよびLに依存し得る。
【０２４９】
したがって、この例では、LM予測動作を実行することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のパラメータは
【０２５０】
【数１５】
2019500778.tif 000022
【０２５１】
に等しく、第2のパラメータは
β=(Σyi-α・Σxi)/I
に等しく、Iは参照サンプルのセットの中の参照サンプルの数であり、xiは再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。この例では、参照サンプルのセットは、左の参照サンプルおよび上の参照サンプルのサブサンプリングされたセットであり、左の参照サンプルは現在のPUの左の境界のすぐ左にあり、上の参照サンプルは現在のPUの上の境界のすぐ上にある。
【０２５２】
第8の技法の別の例では、式(4)および(5)における画素の数Iは、境界の中の画素の実際の数に基づいて調整される。たとえば、2N×NのPUに対してはI=3Nである。左または上のみの原因となるサンプルが利用可能であるとき、全体の関与するサンプル数Iは、左または上の境界の長さに等しい。したがって、ビデオコーダは、αを
【０２５３】
【数１６】
2019500778.tif 000023
【０２５４】
として計算することができる。加えて、ビデオコーダは、βを
β=(Σyi-α・Σxi)/3N
として計算することができる。
【０２５５】
LMが1つの非正方形色差PU(サイズがK×Lに等しい、ここでKはLと等しくない)に対して有効にされるとき、パラメータ(すなわち、aおよびb)は様々な方法で導出され得る。たとえば、式(4)および式(5)を使用して線形モデルパラメータを計算するとき、輝度成分と色差成分の両方に対して、非正方形PUの短辺における境界の画素は、アップサンプリングされた境界における画素の数がより長い境界における画素の数(すなわち、max(K, L))に等しくなるように、アップサンプリングされる。このアップサンプリングプロセスは、デュプリケータまたは補間されたサンプリングであり得る。デュプリケータアップサンプリングプロセスは、新しいサンプルを生成するために既存のサンプルが複製されるアップサンプリングプロセスである。補間されたアップサンプリングプロセスは、2つ以上の既存のサンプルに基づいて新しいサンプルの値を補間することによってサンプルの数を増やす。
【０２５６】
したがって、この例では、LM予測動作を実行することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のパラメータおよび第2のパラメータは式(4)および(5)において定義される。この例では、参照サンプルのセットは、左の参照サンプルおよび上の参照サンプルのアップサンプリングされたセットであり、左の参照サンプルは現在のPUの左の境界のすぐ左にあり、上の参照サンプルは現在のPUの上の境界のすぐ上にある。この例では、ビデオコーダは、左の参照サンプルおよび/または上の参照サンプルにアップサンプリング方法を適用することによって、参照サンプルのセットを決定することができる。たとえば、アップサンプリング方法は、左の参照サンプルまたは上の参照サンプルのうちで、現在のPUの左の境界と現在のPUの上の境界の短い方に相当するものをアップサンプリングしてよいが、現在のPUの左の参照サンプルと現在のPUの上の参照サンプルの長い方をアップサンプリングしなくてよい。
【０２５７】
いくつかの例では、PUの長辺と短辺の両方に位置する画素はアップサンプリングされることがあり、アップサンプリング比は異なることがある。しかしながら、アップサンプリングの後の2つの辺における画素の総数は2mに等しくなければならないことが要求され得る(ここでmは整数であり、mは輝度成分および色差成分に対して異なり得る)。mの値は、ブロックサイズKおよびLに依存し得る。言い換えると、mはPUの高さおよび/または幅に依存する。たとえば、PUは8×16であることがあり、ビデオコーダは、PUの左辺に沿った32個の参照サンプルおよびPUの上辺に沿った32個の参照サンプルがあるように、参照サンプルをアップサンプリングすることがある。この例では、mは6に等しい。別の例では、PUは4×8であることがあり、ビデオコーダは、PUの左辺に沿った16個の参照サンプルおよびPUの上辺に沿った16個の参照サンプルがあるように、参照サンプルをアップサンプリングすることがある。この例では、mは4に等しい。
【０２５８】
さらに、第8の技法のいくつかの例では、式(4)および式(5)を使用してLMパラメータを計算するとき、輝度成分と色差成分の両方に対して、非正方形PUの短辺における境界の画素がアップサンプリングされ、より長い境界の画素(すなわち、max(K, L))は、アップサンプリングされたより短い境界における画素の数がサブサンプリングされたより長い境界における画素の数に等しくなるように、サブサンプリングされる。このアップサンプリングプロセスは、デュプリケータまたは補間されたサンプリングであり得る。このサブサンプリングプロセスは、デシメーションまたは補間されたサンプリングであり得る。
【０２５９】
したがって、この例では、LM予測動作を実行することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のパラメータおよび第2のパラメータは式(4)および(5)において定義される。この例では、参照サンプルのセットは、参照サンプルのアップサンプリングされたセットと参照サンプルのサブサンプリングされたセットの連合であり、参照サンプルのアップサンプリングされたセットは、左の参照サンプルと上の参照サンプルのうちで含まれるサンプルがより少ない方の、アップサンプリングされたバージョンである。この例では、参照サンプルのサブサンプリングされたセットは、左の参照サンプルと上の参照サンプルのうちで含まれるサンプルがより多い方の、サブサンプリングされたバージョンである。この例では、左の参照サンプルは現在のPUの左の境界のすぐ左にあり、上の参照サンプルは現在のPUの上の境界のすぐ上にある。
【０２６０】
いくつかの例では、上で言及された第8の技法の例について、サブサンプリングまたはアップサンプリングプロセスの後で、輝度成分だけのためのダウンサンプリングプロセス(たとえば、本開示の他の箇所で説明されるような)がさらに、カラーフォーマットが4:4:4ではない場合をカバーするために適用され得る。したがって、現在のピクチャのカラーフォーマットが4:4:4以外であることに基づいて、ビデオコーダは、予測ブロックの輝度サンプルをサブサンプリングまたはダウンサンプリングすることができる。いくつかの例では、輝度サンプルの2つのダウンサンプリングプロセスが1つに統合され得る。
【０２６１】
さらに、第8の技法のいくつかの例では、境界画素のためのサブサンプリング/アップサンプリングの様々な方法が適用され得る。一例では、サブサンプリング/アップサンプリング方法は、PUサイズに(すなわち、KおよびLの値に)依存する。別の例では、サブサンプリング/アップサンプリングの方法は、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ、または別のシンタックス構造においてシグナリングされ得る。
【０２６２】
第8の技法のいくつかの例では、アップサンプリング/ダウンサンプリング(またはサブサンプリング)は、暗黙的に実施される。言い換えると、アップサンプリングまたはサブサンプリング技法は暗黙的に決定される。すなわち、左側の境界または/および上側の境界の、式(4)および式(5)におけるΣxi・yi、Σxi、およびΣyiなどの合計値が、係数Sと乗じられ、または係数Sで割られる。Sの値は左側の境界または/および上側の境界における画素数の比に依存し得る。
【０２６３】
したがって、この例では、LM予測動作を実行して予測色差ブロックを予測することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のLMパラメータは
【０２６４】
【数１７】
2019500778.tif 000024
【０２６５】
に等しく、ここでSは非正方形PUの左側の境界または/および上側の境界における画素数の比に依存し、Iはサブサンプリング方法に従って決定された現在のPUの左の境界および上の境界におけるサンプルのサブセットの中の参照サンプルの数であり、xiはサブサンプリングされ再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。いくつかの例では、K×L色差ブロックに対して、S = max(K, L)/min(K, L)である。
【０２６６】
上で説明されたように、DST-VII、DCT-VIII、DST-I、およびDCT-Vを使用する、enhancement multiple transform(EMT)方式が提案されている。さらに、上で論じられたように、EMTが適用されるかどうかは、CU内のすべてのTUに対して、フラグ、すなわちEMTフラグを使用して、CUレベルで制御される。EMT対応CU内の各TUに対して、使用されるべき水平方向または垂直方向の変換は、選択された変換セットに対するインデックス、すなわちEMTインデックスによってシグナリングされる。
【０２６７】
しかしながら、これまでに提案されたようにEMT方式を制御することは、CUの中の各PUの残差特性が異なる場合、効率的ではないことがある。たとえば、これまでに提案されたようにEMT方式を制御することは、CU内のイントラコーディングされたPUおよびインターコーディングされたPUに対して効率的ではないことがある。したがって、本開示の第9の技法によれば、EMTが1つのスライス、ピクチャ、またはシーケンスに対して有効にされ、1つのCUが垂直方向に2つのPUへと分割される(たとえば、N×2Nの区分)とき、EMTフラグのシグナリングは次の方法で修正される。左のPUがイントラコーディングされたPUである場合、変換深度は0であり得る。言い換えると、CUの変換木は0以上の深度を有し得る。この場合、EMTフラグはCUレベルでシグナリングされ得る。変換深度が0ではない場合、EMTフラグはPUレベルでシグナリングされ得る。したがって、EMTは、各PUに対して有効にされることもされないこともある。
【０２６８】
さらに、本開示の第9の技法によれば、EMTが1つのスライス、ピクチャ、またはシーケンスに対して有効にされ、1つのCUが水平方向に2つのPUへと分割される(たとえば、2N×Nの区分)とき、EMTフラグのシグナリングは次の方法で修正される。上のPUがイントラコーディングされたPUである場合、変換深度は0であり得る。言い換えると、CUの変換木は0以上の深度を有し得る。この場合、EMTフラグはCUレベルでシグナリングされ得る。変換深度が0ではない場合、EMTフラグはPUレベルでシグナリングされ得る。すなわち、各PUはEMTが有効であることもないこともある。
【０２６９】
したがって、第9の技法によれば、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、第1のシンタックス要素を含め得る。第1のシンタックス要素は、境界に沿った丁度2つのPUへと区分される特定のCUに対してEMTが有効にされるかどうかを示す。この例では、第1のシンタックス要素がその特定のCUの中にあるか、2つのPUのうちの特定のPUの中にあるかは、CUのPUの分割方向に依存する。さらに、この例では、EMTがある特定のCUに対して有効にされることに基づいて、その特定のCUの各々のそれぞれのTUに対して、ビデオエンコーダ20は、ビットストリームに、それぞれのTUのそれぞれの選択された変換セットを示すそれぞれのシンタックス要素を含め得る。この例では、EMTがその特定のCUに対して有効にされることに基づいて、ビデオエンコーダ20は、それぞれの選択された変換セットの1つまたは複数の変換をそれぞれのTUの変換係数に適用して、サンプル領域の中のそれぞれのTUのそれぞれの変換ブロックを取得し得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含め得る。この例では、境界は水平な境界であることがあり、または境界は垂直な境界であることがある。
【０２７０】
対応する例では、ビデオデコーダ30は第1のシンタックス要素を取得し得る。第1のシンタックス要素は、境界に沿った丁度2つのPUへと区分される特定のCUに対してEMTが有効にされるかどうかを示す。この例では、第1のシンタックス要素がその特定のCUの中にあるか、2つのPUのうちの特定のPUの中にあるかは、CUのPUの分割方向に依存する。この例では、EMTがある特定のCUに対して有効にされると決定したことに応答して、その特定のCUの各々のそれぞれのTUに対して、ビデオデコーダ30は、それぞれのTUのそれぞれの選択された変換セットを示すそれぞれのシンタックス要素を取得し得る。加えて、EMTがある特定のCUに対して有効にされると決定したことに応答して、その特定のCUの各々のそれぞれのTUに対して、ビデオデコーダ30は、それぞれの選択された変換セットの1つまたは複数の変換の逆をそれぞれのTUの変換係数に適用して、サンプル領域の中のそれぞれのTUのそれぞれの変換ブロックを取得し得る。この例では、ビデオデコーダ30は、CUのTUの変換ブロックに少なくとも一部基づいて、CUのコーディングブロックを再構築し得る。この例では、境界は水平な境界であることがあり、または境界は垂直な境界であることがある。
【０２７１】
本開示の第10の技法によれば、いくつかの変換木構造が、1つのスライス、ピクチャ、またはシーケンスをコーディングするために適用され得る。たとえば、一例では、変換木構造は事前に定義される。いくつかの例では、各ピクチャ、スライス、最大コーディング単位、CU、またはPUに対して、ビデオエンコーダ20は、選択された変換木構造をシグナリングし得る。代わりに、いくつかの例では、ビデオデコーダ30は、予測モード/区分サイズなどのコーディングされた情報から、選択された変換木を導出し得る。
【０２７２】
したがって、第10の技法によれば、ビデオエンコーダ20は、複数の事前に定義された木構造のうちのある特定の木構造に基づいて、CUのTUへとビデオデータのCUを区分し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。加えて、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含める。いくつかの例では、ビデオエンコーダ20はさらに、ビットストリームに、特定の木構造を特定する1つまたは複数のシンタックス要素を含め得る。いくつかの例では、CUに適用可能な特定の木構造を示す1つまたは複数のシンタックス要素は、ピクチャ、スライス、LCU、CU、およびPUのうちの1つの中にある。さらに、いくつかの例では、CUがTUへと区分されると決定することの一部として、ビデオエンコーダ20は、特定の木構造の明示的なシグナリングを伴わずに、コーディングされた情報から特定の木構造を決定する。そのような例では、コーディングされた情報は、予測モードと区分サイズのうちの少なくとも1つを備え得る。
【０２７３】
対応する例では、ビデオデコーダ30は、複数の定義された木構造のうちのある特定の木構造に基づいて、CUのTUへとビデオデータのCUが区分されると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。加えて、この例では、ビデオデコーダ30は、CUのTUのうちの少なくとも1つに対するデータに基づいて、CUのコーディングブロックを再構築し得る。いくつかの例では、ビデオデコーダ30は、符号化されたビデオデータを備えるビットストリームから、特定の木構造を特定する1つまたは複数のシンタックス要素を取得し得る。1つまたは複数のシンタックス要素は、ピクチャ、スライス、LCU、CU、および予測単位のうちの1つにおいて、CUに適用可能な特定の木構造を示す。さらに、いくつかの例では、CUがTUへと区分されると決定することの一部として、ビデオデコーダ30は、特定の木構造の明示的なシグナリングを伴わずに、コーディングされた情報から特定の木構造を決定し得る。コーディングされた情報は、予測モードと区分サイズのうちの少なくとも1つを備え得る。
【０２７４】
本開示の第11の例では、サイズが1×NおよびN×1に等しい変換も、インターコーディングされたブロックに適用され得る。たとえば、一例では、そのようなTUは、特定の変換深度、たとえば最高の変換深度だけに許容される。いくつかの例では、そのようなTUは、8×8に等しいCUサイズなどの、特定のコーディングブロックだけに許容される。さらに、いくつかの例では、第11の技法は、輝度などの特定の色成分だけに適用可能である。
【０２７５】
したがって、第11の技法によれば、ビデオエンコーダ20は、1×NまたはN×1変換をインターコーディングされたブロックの残差データに適用することによって、変換領域データ(たとえば、変換係数)を決定し得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、変換領域データを表すデータを含め得る。対応する例では、ビデオデコーダ30は、1×NまたはN×1変換をインターコーディングされたブロックの変換係数に適用することによって、サンプル領域データを決定し得る。この例では、ビデオデコーダ30は、サンプル領域データに一部基づいて、ビデオデータのCUのコーディングブロックを再構築し得る。たとえば、ビデオデコーダ30は、残差データの対応するサンプルにサンプル領域データのサンプルを加算して、CUのコーディングブロックを再構築し得る。いくつかの事例では、ビデオエンコーダ20およびビデオデコーダ30を伴う第11の技法の上の例では、1×NおよびN×1の変換は、特定の変換深度だけに許容される。加えて、いくつかの事例では、ビデオエンコーダ20およびビデオデコーダ30を伴う第11の技法の上の例では、1×NおよびN×1の変換は、特定のサイズのCUだけに許容される。
【０２７６】
本開示の第12の技法によれば、インターコーディングされたCUのためのHEVCにおいて定義される非対称動き区分も、イントラコーディングされたCUに適用される。イントラ予測されたCUをPUへと非対称に区分することで、ビデオエンコーダ20は、異なるオブジェクトに対応する領域へとCUをより正確に分割することが可能になることがあり、これは圧縮性能を向上させることがある。したがって、第12の技法の例によれば、ビデオエンコーダ20は、ビデオデータのイントラ予測されたCUをPUへと非対称に区分し得る。この例では、ビデオエンコーダ20は、イントラ予測されたCUの各々のそれぞれのPUのそれぞれの予測ブロックを決定し得る。さらに、この例では、ビデオエンコーダ20は、イントラ予測されたCUのPUの予測ブロックおよびイントラ予測されたCUのコーディングブロックに基づいて残差データを取得し得る。加えて、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含め得る。
【０２７７】
第12の技法の対応する例によれば、ビデオデコーダ30は、ビデオデータのイントラ予測されたCUがPUへと非対称に区分されると決定し得る。この例では、ビデオデコーダ30は、イントラ予測されたCUの各々のそれぞれのPUのそれぞれの予測ブロックを決定し得る。加えて、この例では、ビデオデコーダ30は、イントラ予測されたCUのPUの予測ブロックに基づいて、イントラ予測されたCUのコーディングブロックを再構築し得る。
【０２７８】
本開示の第13の技法によれば、1つのイントラコーディングされたCUが複数のPUを含むとき、各PUは固有の色差予測モードを有し得る。言い換えると、PUは、第1のイントラ予測モード(すなわち、輝度予測モード)および第2のイントラ予測モード(すなわち、色差予測モード)を有し得る。ビデオコーダは、輝度予測モードを使用してPUの輝度予測ブロックを決定することができ、色差予測モードを使用してPUの色差予測ブロックを決定することができる。したがって、第13の技法によれば、ビデオエンコーダ20は、ビデオデータのイントラ予測されたCUが少なくとも第1のPUおよび第2のPUを有すると決定することができる。この例では、第1のPUおよび第2のPUは異なる色差予測モードを有する。さらに、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、第1のPUおよび第2のPUの予測ブロックならびにCUのコーディングブロックに少なくとも一部基づいて残差データを表すデータを含め得る。
【０２７９】
第13の技法の対応する例では、ビデオデコーダ30は、ビデオデータのイントラ予測されたCUが少なくとも第1のPUおよび第2のPUを有すると決定することができる。この例では、第1のPUおよび第2のPUは異なる色差予測モードを有する。さらに、この例では、ビデオデコーダ30は、第1のPUおよび第2のPUの予測ブロックに少なくとも基づいて、CUのコーディングブロックを再構築し得る。
【０２８０】
さらに、第13の技法の例によれば、前にコーディングされたPUの色差イントラ予測モードが、次のPUをコーディングするために考慮され得る。したがって、ビデオコーダは、コーディング順序において現在のPUの前のPUの色差予測モードに少なくとも一部基づいて、現在のPUの色差予測モードを決定し得る。たとえば、ビデオコーダは、現在のPUの色差イントラ予測モードのためのコンテキストモデリングにおいて、前にコーディングされたPUの色差イントラ予測モードを使用し得る。コンテキストモデリングは、コンテキスト適応エントロピーコーディングのためのコーディングコンテキストの識別を備え得る。コーディングコンテキストは値の確率を示し得る。別の例では、ビデオコーダは、前にコーディングされたPUの色差イントラ予測モードを、色差イントラ予測モードリストのための1つの新しい候補として追加し得る。
【０２８１】
第13の技法のいくつかの例では、すべてのPUが同じ色差イントラ予測モードを共有するかどうかを示すために、1つのフラグがCUレベルで最初にコーディングされ得る。したがって、この例では、ビデオエンコーダ20は、ビットストリームに、イントラ予測されたCUのすべてのPUが同じ色差イントラ予測モードを共有することを示すシンタックス要素を含め得る。同様に、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームから、イントラ予測されたCUのすべてのPUが同じ色差イントラ予測モードを共有するかどうかを示すシンタックス要素を取得し得る。
【０２８２】
さらに、第13の技法のいくつかの例では、1つのCU内のすべての色差PUは、同じ変換木に従うように制約される。同じ変換木に従うように1つのCU内の色差PUのすべてを制約することによって、ビデオエンコーダ20は、異なる色差PUのための異なる変換木の構造を示すデータをビットストリームに含めることが不要になり得る。したがって、ビデオエンコーダ20は、CUの色差PUが異なる構造の変換木を有するビットストリームをビデオエンコーダが生成するのを制限する、ビデオコーディング規格に準拠するビットストリームを生成し得る。同様に、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを取得し得る。この例では、ビットストリームは、CUの色差PUが異なる構造の変換木を有するビットストリームをビデオエンコーダが生成するのを制限する、ビデオコーディング規格に準拠する。
【０２８３】
本開示の第14の例では、1つのイントラコーディングされたCUが複数の長方形PUを含むとき、ビデオコーダはモード依存の走査を適用し得る。モード依存の走査は、TUのための2次元係数ブロックの中の変換係数をエントロピー符号化のための1次元係数ベクトルへと走査するために使用される走査順序である。ビデオエンコーダ20は、TUに対応するPUのためにどのイントラ予測モードが使用されるかに基づいて、複数の利用可能な走査順序の中から、TUの変換係数を走査するために使用すべきモード依存の走査を選択し得る。TUに対応するPUは、TUと同じ広がりをもつことがあり、またはTUと関連付けられるエリアを含むことがある。モード依存の走査を使用することで、CABACのための変換係数をより良好に並べることができる。HEVCでは、モード依存の走査は、8×8および4×4のTUだけに許容される。
【０２８４】
したがって、第14の技法の例によれば、ビデオエンコーダ20は、2次元変換係数ブロックに基づいて残差データを取得し得る。この例では、ビデオエンコーダ20は、ビデオデータのイントラ予測されたCUの複数の長方形PUの各々の予測ブロックを取得し得る。さらに、この例では、ビデオエンコーダ20は、モード依存の走査を適用して、変換係数の2次元ブロックを、CUのTUに対応する変換係数の1次元アレイへと並べ得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、変換係数の1次元アレイを表すデータを含め得る。
【０２８５】
同様の例では、ビデオデコーダ30は、モード依存の走査を適用して、変換係数の1次元アレイを、ビデオデータのイントラ予測されたCUのTUに対応する2次元変換係数ブロックへと並べ得る。この例では、イントラ予測されたCUは複数の長方形PUを有する。さらに、この例では、ビデオデコーダ30は、変換係数ブロックに基づいて残差データを取得し得る。加えて、ビデオデコーダ30は、PUの各々の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、残差データおよび予測ブロックに基づいて、CUのコーディングブロックを再構築し得る。
【０２８６】
第14の技法の一例では、モード依存の走査の適用は、8×4または4×8などのあるTUサイズに制約される。いくつかの例では、モード依存の走査は、8×8だけ、または8×8および16×16などの、あるCUサイズに制約される。さらに、いくつかの例では、HEVCにおいて8×8および4×4に等しいTUサイズのために使用される、イントラ予測モードと走査パターンとの間のマッピングの規則が再使用され得る。いくつかの例では、長方形TUのサイズに応じて、異なるマッピング関数が適用され得る。
【０２８７】
本開示の他の箇所で説明されるように、VCEG-AZ07は、HEVCにおいて使用される2タップのイントラ補間フィルタよりも方向性イントラ予測の精度を改善するために、4タップのイントラ補間フィルタを使用することを提案した。しかしながら、VCEG-AZ07は、非正方形のイントラコーディングされたPUのための4タップのイントラ補間フィルタをビデオコーダがどのように選択するかを示していない。むしろ、VCEG-AZ07は、ビデオコーダが、4×4および8×8ブロックにはキュービック補間フィルタを使用し、16×16以上のブロックにはガウシアン補間フィルタを使用することを規定している。本開示の第15の技法では、サイズがK×Lに等しい非正方形のイントラコーディングされたPUに対して、4タップのイントラ補間フィルタに関して本開示の他の箇所で説明されるような4タップフィルタのタイプまたは走査パターンを決定するとき、非正方形のイントラコーディングされたPUは、N×Nに等しい変換サイズとして扱われ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)であり、log2は2を底とする対数であり、>>および<<はそれぞれ右シフトおよび左シフトである。
【０２８８】
したがって、第15の技法の例では、ビデオエンコーダ20は、ビデオデータのCUの非正方形のイントラコーディングされたPUのための4タップの補間フィルタを決定し得る。さらに、この例では、ビデオエンコーダ20は、非正方形のイントラコーディングされたPUの予測ブロックを取得することの一部として、決定された4タップの補間フィルタを適用し得る。たとえば、ビデオエンコーダ20は、2つの整数場所の参照サンプル(すなわち、ピクチャの左上のサンプルに対して相対的に整数の座標にある参照サンプル)の間にある参照サンプルの値を決定するとき、4タップのフィルタを適用し得る。加えて、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、非正方形PUの予測ブロックおよびCUのコーディングブロックに少なくとも一部基づいて残差データを表すデータを含め得る。この例では、4タップの補間フィルタを決定することの一部として、ビデオエンコーダ20は、正方形PUのサイズに基づいて4タップの補間フィルタを決定することができ、ここで正方形PUのサイズは非正方形のイントラコーディングされたPUの高さおよび幅に基づく。
【０２８９】
第15の技法の対応する例では、ビデオデコーダ30は、ビデオデータのCUの非正方形のイントラコーディングされたPUのための4タップの補間フィルタを決定し得る。加えて、この例では、ビデオデコーダ30は、非正方形のイントラコーディングされたPUの予測ブロックを取得することの一部として、決定された4タップの補間フィルタを適用し得る。さらに、ビデオデコーダ30は、非正方形PUの予測ブロックに少なくとも一部基づいて、CUのコーディングブロックを再構築し得る。この例では、4タップの補間フィルタを決定することの一部として、ビデオデコーダ30は、正方形PUのサイズに基づいて4タップの補間フィルタを決定することができ、ここで正方形PUのサイズは非正方形のイントラコーディングされたPUの高さおよび幅に基づく。
【０２９０】
第15の技法のいくつかの例では、新しい4タップのフィルタは、非正方形のイントラコーディングされたPUに適用され得る。すなわち、非正方形のイントラコーディングされたPUに対しても、4タップのフィルタが適用されてよく、このフィルタは、正方形PUに対して定義されるものとは異なり得る。さらに、第15の技法のいくつかの例では、イントラ予測モードと走査パターンインデックスとの間の異なるマッピングテーブルが、非正方形のイントラコーディングされたPUに対して適用され得る。
【０２９１】
K×L変換ブロックは、N×Nに等しい変換サイズとして扱われ、ここでlog2(N*N) = (log2(K) + log2(L) + 1)である。したがって、K×L変換ブロックに対する走査パターンの選択は、N×Nブロックと同じであり得る。
【０２９２】
上で論じられたように、HEVCにおける変換ブロックはサイズがN×Nであり、ここでN=2mでありmは整数である。さらに、HEVCでは、ビデオエンコーダは、2次元のN×N変換を変換ブロックに適用して変換係数を生成する。より具体的には、ビデオエンコーダは、N点の1次元変換を変換ブロックの各行および変換ブロックの各列に別々に適用することによって、2次元のN×N変換を適用する。このように変換を適用することで、変換係数のN×Nブロックが得られる。
【０２９３】
HEVCでは、ビデオエンコーダは、以下を計算することによって、N点の1次元DCT変換を変換ブロックのサンプルのi番目の行または列wiに適用し得る。
【０２９４】
【数１８】
2019500778.tif 000025
【０２９５】
上の式において、i = 0,…, N - 1である。DCT変換行列Cの要素cijは、次のように定義される。
【０２９６】
【数１９】
2019500778.tif 000026
【０２９７】
上の式において、i, j = 0,…, N - 1であり、ここでAは、i=0に対しては1に等しく、i>0に対しては21/2に等しい。
【０２９８】
式(19)において、
【０２９９】
【数２０】
2019500778.tif 000027
【０３００】
をXijと表記するものとする。したがって、式(18)は次のように書き直され得る。
【０３０１】
【数２１】
2019500778.tif 000028
【０３０２】
ビデオエンコーダは、水平方向と垂直方向の両方に1次元DCT変換を適用するので、変換係数wiは最終的に次のように書き直され得る。
【０３０３】
【数２２】
2019500778.tif 000029
【０３０４】
これはさらに次のように書き直され得る。
【０３０５】
【数２３】
2019500778.tif 000030
【０３０６】
したがって、変換は最終的に、
【０３０７】
【数２４】
2019500778.tif 000031
【０３０８】
という「正規化係数」を有するものと見なすことができる。N=2mなので、
【０３０９】
【数２５】
2019500778.tif 000032
【０３１０】
も2のべき乗である。したがって、変換係数の値は、除算演算の代わりに右シフト演算によって実装され得る。本開示の他の箇所で論じられるように、除算演算の代わりに右シフト演算を使用することで、複雑さを下げ、コーディング速度を上げることができる。
【０３１１】
しかしながら、TUの非正方形変換ブロックとともに式(19)を再使用すると、問題が生じることがある。2D変換(水平方向の変換と垂直方向の変換の両方を含む)に対して、K*L変換を考えると、正規化係数は
【０３１２】
【数２６】
2019500778.tif 000033
【０３１３】
となる。Nが式log2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)を満たす値として定義される場合、利用される正規化係数
【０３１４】
【数２７】
2019500778.tif 000034
【０３１５】
と実際の正規化係数
【０３１６】
【数２８】
2019500778.tif 000035
【０３１７】
との比は、
【０３１８】
【数２９】
2019500778.tif 000036
【０３１９】
となる。言い換えると、量子化プロセスにおいてN×N変換ブロックから導出された同じ正規化係数を再使用するとき、エネルギー(すなわち、量子化された変換係数の平方根の合計)は、
【０３２０】
【数３０】
2019500778.tif 000037
【０３２１】
だけ変化する。
【０３２２】
本開示の第16の技法は、この問題に対処し得る。たとえば、本開示の第16の技法では、サイズがK×Lに等しい非正方形変換ブロックに対して、(log2(K) + log2(L))が奇数であるとき、HEVCにおける変換および量子化プロセスは変更されないままであり、非正方形変換ブロックはサイズがN×Nと等しい変換ブロックとして扱われ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)である。言い換えると、(log2(K) + log2(L))が奇数であることに基づいて、ビデオエンコーダ20は、log2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)となるような値Nを決定し得る。ビデオエンコーダ20は次いで、「正規化係数」においてNの決定された値を使用して式(19)に従って定義される、DCT変換行列Cの要素を使用し得る。したがって、ビデオエンコーダ20は、式(21)の「正規化係数」による除算のために右シフト演算を使用し続け得る。
【０３２３】
さらに、本開示の第16の技法によれば、変換プロセスの後で、かつ量子化プロセスの前に、変換係数が修正され、√2という係数と乗じられる。言い換えると、変換を非正方形変換ブロックに適用して係数ブロックを生成した後で、ビデオエンコーダ20は、係数ブロックの各変換係数を√2という係数と乗じる。これは、使用される正規化係数(すなわち、
【０３２４】
【数３１】
2019500778.tif 000038
【０３２５】
)の実際の正規化係数(すなわち、
【０３２６】
【数３２】
2019500778.tif 000039
【０３２７】
)に対する比が、
【０３２８】
【数３３】
2019500778.tif 000040
【０３２９】
に等しいからである。
【０３３０】
たとえば、K=8かつL=4とする。この例では、log2(4*4) = ((log2(8) + log2(4)) >> 1) << 1)なので、N=4である。
【０３３１】
【数３４】
2019500778.tif 000041
【０３３２】
は
【０３３３】
【数３５】
2019500778.tif 000042
【０３３４】
に等しく、これは
【０３３５】
【数３６】
2019500778.tif 000043
【０３３６】
に等しく、これは√2に等しい。(log2(K) + log2(L))が偶数であるKおよびLの値に対して、使用される正規化係数(すなわち、
【０３３７】
【数３７】
2019500778.tif 000044
【０３３８】
)の実際の正規化係数(すなわち、
【０３３９】
【数３８】
2019500778.tif 000045
【０３４０】
)に対する比は1に等しいことに留意されたい。したがって、(log2(K) + log2(L))が偶数であるとき、ビデオエンコーダ20が変換係数を√2という係数と乗じる必要はないことがある。
【０３４１】
逆量子化プロセスの後、逆量子化された係数がさらに修正され、√2という係数で割られる。量子化の前に変換係数を√2と乗じ、変換係数を√2で割ることで、そうされなければ量子化プロセスにおいて失われるであろう情報を保つことができる。この情報を保つことで、元の変換ブロックのより正確な再構築が確実になり得る。
【０３４２】
第16の技法の別の例では、HEVCにおける変換および量子化プロセスは、変化しないままであり、N×Nに等しい変換サイズとして扱われ、ここでlog2(N*N) = (log2(K) + log2(L) + 1)である。変換の後に、かつ量子化プロセスの前に、変換係数が修正され、√2という係数で割られる。逆量子化プロセスの後に、逆量子化された係数がさらに修正され、√2という係数と乗じられる。
【０３４３】
上の第16の技法の例では、√2という係数は近似により表され得る。たとえば、(x*√2)という処理は(x*181)>>7により近似することができ、ここで>>は右シフト演算を表す。(x/√2)という処理は(x*√2/2)、すなわち(x*181)>>8により近似することができ、ここで>>は右シフト演算を表す。
【０３４４】
したがって、上で提示された第16の技法の例では、ビデオエンコーダ20は、CUの非正方形TUの変換ブロックに変換を適用して、変換係数のブロックを生成し得る。加えて、ビデオエンコーダ20は、変換係数のブロックの各々のそれぞれの変換係数が、
【０３４５】
【数３９】
2019500778.tif 000046
【０３４６】
の近似と乗じられたそれぞれの逆量子化された変換係数に基づくように、変換係数を修正し得る。この例では、変換係数を修正した後で、ビデオエンコーダ20は、量子化プロセスをCUの非正方形PUの修正された変換係数に適用し得る。さらに、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、量子化された変換係数に基づくデータを含め得る。いくつかの例では、非正方形TUの変換ブロックに変換を適用することの一部として、ビデオエンコーダ20は、逆量子化された変換係数に、サイズがN×Nである変換を適用することができ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)である。
【０３４７】
対応する例では、ビデオデコーダ30は、逆量子化プロセスをビデオデータのCUの非正方形PUの変換係数に適用し得る。この例では、逆量子化プロセスを変換係数に適用した後で、ビデオデコーダ30は、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
【０３４８】
【数４０】
2019500778.tif 000047
【０３４９】
の近似で割られたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正し得る。いくつかの例では、修正された逆量子化された変換係数に逆変換を適用することの一部として、ビデオデコーダ30は、修正された逆量子化された変換係数に、サイズがN×Nである変換を適用することができ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)である。
【０３５０】
HEVCでは、ビデオエンコーダ20は、次の式を使用して量子化された変換係数(すなわち、level)を計算し得る。
【０３５１】
【数４１】
2019500778.tif 000048
【０３５２】
ここで、coeffは変換係数であり、offsetqはオフセット値であり、QPは量子化パラメータであり、shift 2 = 29 - M - Bであり、Bはビット深度であり、M = log2(N)であり、
f=[f0,…f5]T=[26214,23302,20560,18396,16384,14564]T      (23)
である。
【０３５３】
さらに、HEVCでは、ビデオデコーダ30は、次の式を使用して量子化された変換係数を逆量子化し得る。
【０３５４】
【数４２】
2019500778.tif 000049
【０３５５】
式(24)において、coeffQは逆量子化された変換係数であり、levelは量子化された変換係数であり、offsetIQはオフセット値= 1 << (M - 10 + B)であり、shift1 = (M - 9 + B)であり、gは以下の式(25)に示されるように定義される。
g=[f0,…f5 ]T=[40,45,51,57,64,72]T      (25)
【０３５６】
本開示の技法によれば、ビデオエンコーダ20は、(log2(W)+log2(H))が奇数か偶数かに応じて、異なる量子化行列(すなわち、fの複数のバージョン)を使用し得る。同様に、ビデオデコーダ30は、(log2(W)+log2(H))が奇数か偶数かに応じて、異なる逆量子化行列(すなわち、gの複数のバージョン)を使用し得る。gの例は次のように定義される。
[ 40,45,51,57,64,72 ], //合計が偶数のとき
[ 7240,8145,9231,10317,11584,13032 ], //合計が奇数のとき
合計が偶数である場合のgの各々の対応する値は、181と乗じられることに留意されたい。この例では、量子化段階の前または後に乗算または除算の処理を実行する必要はなく、それは、
【０３５７】
【数４３】
2019500778.tif 000050
【０３５８】
の補償がすでにgにおいて考慮されているからである。
【０３５９】
さらに、式(22)および(24)において、量子化行列fおよびgにおいて選択される値は、量子化パラメータQPに基づいて選択される。量子化行列fおよびgにおける選択される値は、本明細書では量子化行列係数と呼ばれ得る。本開示のいくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、量子化パラメータに基づいて、また(log2(W)+log2(H))が奇数か偶数かに基づいて、量子化行列係数を選択し得る。
【０３６０】
上で簡単に説明され、図2Aおよび図2Bにおいて示されたように、HEVCでは、ビデオコーダは常に、再帰的なz走査順序でCUのTUを処理する。したがって、図2Aに示されるように、TU「a」の変換係数に対応するデータは、TU「b」の変換係数に対応するデータより前にビットストリームにおいて現れ、以下同様である。本開示の第17の技法は、インターモードまたはcomb_modeまたはイントラモードでコーディングされるが非正方形の区分を伴うCUに対して、変換係数のコーディング順序が、再帰的なz走査を常に使用する代わりにPUコーディング順序に依存することを提案する。第17の技法のいくつかの例では、1つのPU内のすべての係数が、別のPUの中の係数をコーディングする前に一緒にコーディングされるものとする。したがって、ビデオエンコーダ20のために、CUのPUの1つの中のすべての係数が、CUのPUの別の1つの係数を符号化する前に一緒に符号化される。同様に、この例では、ビデオデコーダ30のために、CUの1つのPUの中のすべての係数が、CUのPUの別の1つの係数を復号する前に一緒に復号される。
【０３６１】
この例では、PUの変換係数は、その変換ブロックがPUの予測ブロックのエリア内にある、TUの変換係数である。たとえば、16×16のCUのPUの予測ブロックの左上の角の座標を、そのCUのコーディングブロックの左上の角に対して相対的に(0, 0)とし、そのPUの予測ブロックの右下の角の座標を(7, 15)とする。さらに、この例では、そのCUのTUの変換ブロックの左上の角の座標を(4, 0)とし、そのTUの変換ブロックの右下の角の座標を(7, 15)とする。この例では、TUの変換係数はPUの変換係数である。しかしながら、この例では、TUの変換ブロックの左上の角が(8, 0)であり、TUの変換ブロックの右下の角が(15, 7)である場合、TUの変換係数はPUの変換係数ではない。
【０３６２】
たとえば、図2Aに関して、CU40が、CU40の中心を通って垂直にCU40を区分する2つのPUを有すると仮定する。したがって、CU40の第1のPUの変換係数は、TU「a」、「b」、「c」、「d」、および「f」の変換係数を含む。CU40の第2のPUの変換係数は、TU「e」、「g」、「h」、「i」、および「j」の変換係数を含む。この例では、ビデオエンコーダ20は、TU「f」の変換係数を表すデータに続いて、TU「e」の変換係数を表すデータを含め得る。対照的に、HEVCでは、TU「f」の変換係数を表すデータは、CU40のPUの形状およびサイズとは関係なく、TU「e」の変換係数を表すデータの後に来る。言い換えると、1つのPUが複数のTUを含むとき、深度優先の横断を用いた再帰的なZ走査が、PU内のこれらの係数をコーディングするために適用される。図2を例として採用すると、区分サイズがN×2Nに等しい場合、コーディング順序は、a、b、c、d、f、e、g、h、i、jであり得る。
【０３６３】
第17の技法のいくつかの例は、変換深度が0に等しくないとき、すなわち変換サイズがPUサイズより大きくないときにだけ適用可能である。上で言及されたAMPは、HEVCにおいて定義される4つの場合だけではなく、他の非対称の区分を含み得ることに留意されたい。
【０３６４】
上で簡単に言及されたように、HEVCにおけるICの設計は正方形PUのみをサポートする。本開示以前には、非正方形PUのためのICパラメータaおよびbをどのように導出するかは知られていなかった。本開示の第18の技法は、非正方形PUとともにICが使用されることを可能にする。たとえば、ビデオエンコーダ20は、ICを使用してビデオデータのピクチャの現在のPUの非正方形予測ブロックを生成し得る。加えて、ビデオエンコーダ20は、予測ブロックに基づいて残差データを生成し得る。たとえば、ビデオエンコーダ20は、残差データの各々のそれぞれのサンプルが、現在のCUのコーディングブロックのそれぞれのサンプルと予測ブロックの対応するそれぞれのサンプルとの差に等しくなるように、残差データを生成し得る。さらに、ビデオエンコーダ20は、残差データに基づくデータを含むビットストリームを出力し得る。たとえば、ビデオエンコーダ20は、残差データに変換を適用して係数ブロックを生成し、係数ブロックの係数を量子化し、量子化された係数の各々を表す1つまたは複数のシンタックス要素をビットストリームに含め得る。この例では、ビデオエンコーダ20は、各々の量子化された係数のためにシンタックス要素のうちの1つまたは複数をエントロピー符号化し得る。他の例では、ビデオエンコーダ20は変換および/または量子化の適用をスキップし得る。
【０３６５】
さらに、上で与えられたICに関する例の1つまたは複数によれば、ビデオデコーダ30は、ICを使用して、ビデオデータのピクチャの現在のCUの現在のPUの非正方形予測ブロックを生成し得る。加えて、ビデオデコーダ30は、予測ブロックに基づいて、ピクチャのブロック(たとえば、コーディングブロック)を再構築し得る。たとえば、ビデオデコーダ30は、対応する残差サンプルに予測ブロックのサンプルを加算することによって、ブロックのサンプルを再構築し得る。
【０３６６】
第18の技法の例では、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオコーダ(たとえば、ビデオエンコーダ20および/またはビデオデコーダ30)は、次のように予測ブロックのサンプルを決定し得る。
p(i, j)=a*r(i+dvx,j+dvy+b)、ただし(i, j)∈PUc
ここでPUcは現在のPUであり、(i, j)は予測ブロックの中の画素の座標であり、(dvx, dvy)はPUcのベクトル(たとえば、視差ベクトル)である。p(i, j)はPUcの予測であり、rはビュー間参照ピクチャであり、aは第1のICパラメータであり、bは第2のICパラメータである。さらに、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオコーダは、次のように第1のICパラメータを計算し得る。
【０３６７】
【数４４】
2019500778.tif 000051
【０３６８】
加えて、ビデオコーダは、次のように第2のICパラメータを計算し得る。
【０３６９】
【数４５】
2019500778.tif 000052
【０３７０】
上の式において、RecneigおよびRecrefneigはそれぞれ現在のCUおよび参照ブロックの隣接画素セットを表し、2NはRecneigおよびRecrefneigにおける画素数を表し、現在のCUはN×Nに等しいサイズを有する。他の例は、上で示される式に対する変形を使用し得る。
【０３７１】
さらに、第18の技法の例では、サイズがK×Lに等しい(KはLと等しくない)1つの非正方形PUに対してICが有効にされるとき、パラメータは様々な方法で導出され得る。たとえば、式(16)および式(17)を使用して線形モデルパラメータを計算するとき、PUの長辺と短辺の両方に位置する画素は、異なるサブサンプリング比などの、異なる方法でサブサンプリングされ得る。しかしながら、2つの辺を合わせた画素の総数は2mに等しくなければならないことが要求され得る(ここでmは整数であり、その値はブロックサイズに依存し得る)。したがって、この例では、Recneigは現在のCUのすぐ上かつ現在のCUのすぐ左にある画素のサブセットであり、Recrefneigは参照ブロックのすぐ上かつ参照ブロックのすぐ左にある画素のサブセットであり、RecneigとRecrefneigの中の画素の総数は2mに等しく、ここでmは整数である。このサブサンプリングプロセスは、デシメーションまたは補間されたサンプリングであり得る。
【０３７２】
ICのためのパラメータを導出する別の例において、式(16)および式(17)を使用して線形モデルパラメータを計算するとき、非正方形PUの短辺における境界の画素は、アップサンプリングされた境界における画素の数がより長い境界における画素の数(すなわち、max(K, L))に等しくなるように、アップサンプリングされる。このアップサンプリングプロセスは、デュプリケータまたは補間されたサンプリングであり得る。したがって、この例では、ICを使用して予測ブロックを生成することの一部として、ビデオコーダは、現在のCUの左辺と上辺のうちの短い方の中のアップサンプリングされた画素を含むように、Recneigを生成し得る。加えて、この例では、ビデオコーダは、参照ブロックの左辺と上辺のうちの短い方の中のアップサンプリングされた画素を含むように、Recrefneigを生成し得る。
【０３７３】
代わりに、PUの長辺と短辺の両方に位置する画素はアップサンプリングされることがあり、アップサンプリング比は異なることがある。したがって、この例では、ICを使用して予測ブロックを生成することの一部として、ビデオコーダは、現在のCUの左辺と上辺のうちの長い方の中のアップサンプリングされた画素を含むように、Recneigを生成し得る。加えて、ビデオコーダは、参照ブロックの左辺と上辺のうちの長い方の中のアップサンプリングされた画素を含むように、Recrefneigを生成し得る。しかしながら、2つの辺を合わせた画素の総数は2mに等しくなければならないことが要求され得る(ここでmは整数であり、mは輝度成分および色差成分に対して異なり得る)。
【０３７４】
さらに、ICのためのパラメータを導出するいくつかの例では、境界画素のためのサブサンプリング/アップサンプリングの様々な方法が適用され得る。一例では、サブサンプリング/アップサンプリング方法は、PUサイズに(すなわち、KおよびLの値に)依存する。したがって、ビデオコーダは、現在のPUのサイズに基づいて、RecneigおよびRecrefneigを生成するために使用するサブサンプリング方法またはアップサンプリング方法を決定し得る。別の例では、サブサンプリング/アップサンプリングの方法は、シーケンスパラメータセット、ピクチャパラメータセット、および/またはスライスヘッダにおいてシグナリングされ得る。したがって、いくつかの例では、RecneigおよびRecrefneigを生成するために使用するサブサンプリング方法を示すシンタックス要素を、ビデオエンコーダ20はビットストリームに含めることができ、ビデオデコーダ30はビットストリームから取得することができる。いくつかの例では、アップサンプリングされた画素を生成するために使用するアップサンプリング方法を示すシンタックス要素を、ビデオエンコーダ20はビットストリームに含めることができ、ビデオデコーダ30はビットストリームから取得することができる。
【０３７５】
ICのパラメータを導出するいくつかの例では、アップサンプリング/ダウンサンプリング(またはサブサンプリング)は、暗黙的に実施される。たとえば、左側の境界または/および上側の境界の、式(16)および式(17)における合計値が、係数Sと乗じられ、または係数Sで割られ得る。Sの値は左側の境界または/および上側の境界における画素数の比に依存し得る。
【０３７６】
第18の技法のいくつかの例では、同じサブサンプリング/アップサンプリング方法は、参照ブロックの境界画素(すなわち、Recrefneig)にも適用され得る。たとえば、RecneigおよびRecrefneigの両方をサブサンプリングするために、デシメーションが使用され得る。
【０３７７】
さらに、本開示の特定の技法によれば、LMが正方形PUに対して有効にされるとき、輝度境界画素および色差境界画素がまず、たとえば式(16)および(17)を使用してパラメータを導出するためにサブサンプリングされ得る。サブサンプリング方法は、シーケンスパラメータセット、ピクチャパラメータセット、またはスライスヘッダにおいて、事前に定義され、またはシグナリングされ得る。サブサンプリング方法は、予測単位サイズに依存し得る。
【０３７８】
したがって、ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、線形モデル予測演算を実行して、PUのサブサンプリングされた再構築された輝度サンプルから、現在のPUの予測色差ブロックを予測することができる。加えて、ビデオコーダは、予測色差ブロックに一部基づいて、ピクチャのブロックを再構築し得る。線形モデル予測動作を実行することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のパラメータは
【０３７９】
【数４６】
2019500778.tif 000053
【０３８０】
に等しく、第2のパラメータは
β=(Σyi-α・Σxi)/I
に等しい。上の式において、Iはサブサンプリング方法に従って決定された現在のPUの左の境界および上の境界におけるサンプルのサブセットの中の参照サンプルの数であり、xiはサンプリングされ再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。この例のいくつかの事例では、サブサンプリング方法を示すシンタックス要素を、ビデオエンコーダ20はビットストリームに含めることができ、ビデオデコーダ30はビットストリームから取得することができる。この例のいくつかの事例では、ビデオエンコーダ20およびビデオデコーダ30は、現在のPUのサイズに基づいて、サブサンプリング方法を決定し得る。
【０３８１】
様々な例が説明された。本開示の具体的な例は、別々に、または互いに組み合わせて使用され得る。
【０３８２】
図24は、本開示の技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。図24は説明のために提供され、広く例示されるとともに本開示で説明されるような技法の限定と見なされるべきでない。説明のために、本開示は、HEVCコーディングの文脈でビデオエンコーダ20を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０３８３】
ビデオエンコーダ20は処理回路を含み、ビデオエンコーダ20は、本開示において説明される例示的な技法のうちの1つまたは複数を実行するように構成される。そのような処理回路は、固定された機能および/またはプログラム可能回路を含み得る。たとえば、ビデオエンコーダ20は集積回路を含み、図24に示される様々なユニットは、回路バスと相互接続されるハードウェア回路ブロックとして形成され得る。これらのハードウェア回路ブロックは別個の回路ブロックであってよく、またはユニットのうちの2つ以上が共通のハードウェア回路ブロックへと組み合わされてよい。ハードウェア回路ブロックは、算術論理演算装置(ALU)、初等関数演算装置(EFU)、ならびに、AND、OR、NAND、NOR、XOR、XNOR、および他の同様の論理ブロックなどの論理ブロックなどの、演算ブロックを形成する電気的構成要素の組合せとして形成され得る。
【０３８４】
図24の例において、ビデオエンコーダ20は、予測処理ユニット200、ビデオデータメモリ201、残差生成ユニット202、変換処理ユニット204、量子化ユニット206、逆量子化ユニット208、逆変換処理ユニット210、再構築ユニット212、フィルタユニット214、復号ピクチャバッファ216、およびエントロピー符号化ユニット218を含む。予測処理ユニット200は、インター予測処理ユニット220およびイントラ予測処理ユニット226を含む。インター予測処理ユニット220は、動き推定ユニットおよび動き補償ユニット(図示せず)を含み得る。いくつかの例では、予測処理ユニット200は、本開示の照明補償技法を実行する。いくつかの例では、予測処理ユニット200は、本開示のLM技法を実行して非正方形色差予測ブロックを生成する。さらに、いくつかの例では、予測処理ユニット200は、本開示のIC技法を実行して非正方形予測ブロックを生成する。
【０３８５】
ビデオデータメモリ201は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶するように構成され得る。ビデオデータメモリ201に記憶されるビデオデータは、たとえば、ビデオソース18(図1)から取得され得る。復号ピクチャバッファ216は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ201および復号ピクチャバッファ216は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗性RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ201および復号ピクチャバッファ216は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ201は、ビデオエンコーダ20の他のコンポーネントとともにオンチップであってよく、または、これらのコンポーネントに対してオフチップであってよい。
【０３８６】
ビデオエンコーダ20は、ビデオデータを受信する。ビデオエンコーダ20は、ビデオデータのピクチャのスライスの中の各CTUを符号化し得る。CTUの各々は、ピクチャの、等しいサイズの輝度コーディングツリーブロック(CTB)、および対応するCTBと関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット200は、四分木区分を実行して、CTUのCTBを次第に小さくなるブロックに分割し得る。より小さいブロックは、CUのコーディングブロックであり得る。たとえば、予測処理ユニット200は、CTUと関連付けられるCTBを4つの等しいサイズのサブブロックに区分することができ、サブブロックの1つまたは複数を4つの等しいサイズのサブサブブロックに区分することができ、以下同様である。
【０３８７】
ビデオエンコーダ20は、CTUのCUを符号化して、CUの符号化された表現(すなわち、コーディングされたCU)を生成し得る。CUを符号化することの一部として、予測処理ユニット200は、CUの1つまたは複数のPUの間でCUと関連付けられるコーディングブロックを区分し得る。したがって、各PUは、輝度予測ブロックおよび対応する色差予測ブロックと関連付けられ得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上で示されたように、CUのサイズは、CUの輝度コーディングブロックのサイズを指すことがあり、PUのサイズは、PUの輝度予測ブロックのサイズを指すことがある。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測に対して2N×2NまたはN×NというPUサイズ、およびインター予測に対して2N×2N、2N×N、N×2N、N×N、または同様の対称的なPUサイズをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30はまた、インター予測に対して、2N×nU、2N×nD、nL×2N、およびnR×2NというPUサイズのための非対称区分をサポートし得る。
【０３８８】
インター予測処理ユニット220は、インター予測をCUの各PUに対して実行することによって、PUの予測データを生成し得る。PUの予測データは、PUの予測ブロックおよびPUの動き情報を含み得る。インター予測処理ユニット220は、PUがIスライスの中にあるか、Pスライスの中にあるか、またはBスライスの中にあるかに応じて、CUのPUに対して異なる動作を実行し得る。Iスライスの中では、すべてのPUがイントラ予測される。したがって、PUがIスライスの中にある場合、インター予測処理ユニット220は、インター予測をPUに対して実行しない。したがって、Iモードで符号化されるブロックの場合、予測されるブロックは、同じフレーム内の以前符号化された隣接ブロックからの空間予測を使用して形成される。PUがPスライスの中にある場合、インター予測処理ユニット220は、単方向インター予測を使用してPUの予測ブロックを生成することができる。PUがBスライスの中にある場合、インター予測処理ユニット220は、単方向または双方向インター予測を使用してPUの予測ブロックを生成することができる。
【０３８９】
イントラ予測処理ユニット226は、イントラ予測をPUに対して実行することによって、PUの予測データを生成し得る。PUの予測データは、PUの予測ブロックおよび様々なシンタックス要素を含み得る。イントラ予測処理ユニット226は、Iスライス、Pスライス、およびBスライスの中のPUに対して、イントラ予測を実行し得る。
【０３９０】
イントラ予測をPUに対して実行するために、イントラ予測処理ユニット226は、複数のイントラ予測モードを使用して、PUの予測データの複数のセットを生成し得る。イントラ予測処理ユニット226は、隣接PUのサンプルブロックからのサンプルを使用して、PUの予測ブロックを生成し得る。PU、CU、およびCTUに対して左から右、上から下への符号化順序を仮定すると、隣接PUは、PUの上、右上、左上、または左であり得る。イントラ予測処理ユニット226は、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUと関連付けられる領域のサイズに依存し得る。
【０３９１】
予測処理ユニット200は、PUのためにインター予測処理ユニット220によって生成される予測データ、またはPUのためにイントラ予測処理ユニット226によって生成される予測データの中から、CUのPUの予測データを選択し得る。いくつかの例では、予測処理ユニット200は、予測データのセットのレート/ひずみの尺度に基づいて、CUのPUの予測データを選択する。選択される予測データの予測ブロックは、選択予測ブロックと本明細書で呼ばれることがある。
【０３９２】
残差生成ユニット202は、CUのコーディングブロック(たとえば、輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)およびCUのPUの選択された予測ブロック(たとえば、予測輝度ブロック、予測Cbブロック、および予測Crブロック)に基づいて、CUの残差ブロック(たとえば、輝度残差ブロック、Cb残差ブロック、およびCr残差ブロック)を生成し得る。たとえば、残差生成ユニット202は、残差ブロックの中の各サンプルがCUのコーディングブロックの中のサンプルとCUのPUの対応する選択された予測ブロックの中の対応するサンプルとの間の差に等しい値を有するように、CUの残差ブロックを生成し得る。
【０３９３】
変換処理ユニット204は、区分(たとえば、四分木区分)を実行して、CUと関連付けられた残差ブロックをCUのTUと関連付けられた変換ブロックに区分し得る。したがって、TUは、輝度変換ブロックおよび2つの色差変換ブロックと関連付けられ得る。CUのTUの輝度変換ブロックおよび色差変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づいても基づかなくてもよい。「残差四分木」(RQT)と呼ばれる四分木構造が、領域の各々と関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに相当し得る。
【０３９４】
いくつかの例では、変換処理ユニット204は、2つ(および/または4つ)の子ノードを有するノードを含む残差木構造を決定するための、本開示の技法を実行し得る。たとえば、ビデオデータメモリ201はビデオデータを受信することができ、変換処理ユニット204は木構造に基づいてビデオデータのCUをCUのTUへと区分し得る。この例では、木構造に基づいてCUをCUのTUへと区分することの一部として、変換処理ユニット204は、木構造の中のノードが木構造の中で丁度2つの子ノードを有すると決定し得る。いくつかの事例では、変換処理ユニット204はさらに、木構造の中の第2のノードが木構造の中で丁度4つの子ノードを有すると決定し得る。CUのTUのうちの少なくとも1つに対して、変換処理ユニット204は、変換をTUの残差ブロックに適用して、TUの変換係数のブロックを生成し得る。
【０３９５】
変換処理ユニット204は、1つまたは複数の変換をTUの変換ブロックに適用することによって、CUのTUごとに変換係数ブロックを生成し得る。変換処理ユニット204は、TUと関連付けられた変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット204は、離散コサイン変換(DCT)、方向変換、または概念的に類似の変換を、変換ブロックに適用し得る。いくつかの例では、変換処理ユニット204は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われてよい。いくつかの例では、変換処理ユニット204は、本開示のEMT技法を実行する。
【０３９６】
量子化ユニット206は、係数ブロックの中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部またはすべてと関連付けられるビット深度を低減し得る。たとえば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてよく、nはmよりも大きい。量子化ユニット206は、CUと関連付けられる量子化パラメータ(QP)値に基づいて、CUのTUと関連付けられる係数ブロックを量子化し得る。ビデオエンコーダ20は、CUと関連付けられるQP値を調整することによって、CUと関連付けられた係数ブロックに適用される量子化の程度を調整し得る。量子化が情報の損失をもたらすことがあり、したがって、量子化された変換係数は精度が元の変換係数よりも低いことがある。
【０３９７】
いくつかの例において、量子化ユニット206は、変換係数のブロックの各々のそれぞれの変換係数が、
【０３９８】
【数４７】
2019500778.tif 000054
【０３９９】
の近似と乗じられたそれぞれの逆量子化された変換係数に基づくように、変換係数を修正する。この例では、変換係数を修正した後で、量子化ユニット206は、量子化プロセスをCUの非正方形PUの修正された変換係数に適用する。
【０４００】
逆量子化ユニット208および逆変換処理ユニット210は、それぞれ、逆量子化および逆変換を係数ブロックに適用して、係数ブロックから残差ブロックを再構築し得る。再構築ユニット212は、予測処理ユニット200によって生成された1つまたは複数の予測ブロックからの対応するサンプルに、再構築された残差ブロックを加算して、TUと関連付けられる再構築された変換ブロックを生成し得る。このようにしてCUのTUごとに変換ブロックを再構築することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構築し得る。
【０４０１】
フィルタユニット214は、1つまたは複数のデブロッキング動作を実行して、CUと関連付けられるコーディングブロックにおけるブロッキングアーティファクトを低減し得る。フィルタユニット214が1つまたは複数のデブロッキング動作を再構築されたコーディングブロックに対して実行した後、復号ピクチャバッファ216は、再構築されたコーディングブロックを記憶し得る。インター予測処理ユニット220は、インター予測を他のピクチャのPUに対して実行するために、再構築されたコーディングブロックを含む参照ピクチャを使用し得る。加えて、イントラ予測処理ユニット226は、CUと同じピクチャの中の他のPUに対してイントラ予測を実行するために、復号ピクチャバッファ216の中の再構築されたコーディングブロックを使用し得る。
【０４０２】
エントロピー符号化ユニット218は、ビデオエンコーダ20の他の機能構成要素からデータを受け取り得る。たとえば、エントロピー符号化ユニット218は、係数ブロックを量子化ユニット206から受け取ることができ、シンタックス要素を予測処理ユニット200から受け取ることができる。エントロピー符号化ユニット218は、エントロピー符号化されたデータを生成するために、1つまたは複数のエントロピー符号化動作をデータに対して実行し得る。たとえば、エントロピー符号化ユニット218は、CABAC動作、コンテキスト適応型可変長コーディング(CAVLC)動作、可変長-可変長(V2V)コーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率区間区分エントロピー(PIPE)コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作を、データに対して実行し得る。ビデオエンコーダ20は、エントロピー符号化ユニット218によって生成された、エントロピー符号化されたデータを含むビットストリームを出力し得る。たとえば、ビットストリームは、CUのためのRQTを表すデータを含み得る。
【０４０３】
図25は、本開示の技法を実施するように構成される例示的なビデオデコーダ30を示すブロック図である。図25は説明のために提供され、広く例示され本開示で説明されるような技法を限定するものではない。説明のために、本開示は、HEVCコーディングの文脈においてビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０４０４】
ビデオデコーダ30は処理回路を含み、ビデオデコーダ30は、本開示において説明される例示的な技法のうちの1つまたは複数を実行するように構成される。たとえば、ビデオデコーダ30は集積回路を含み、図25に示される様々なユニットは、回路バスと相互接続されるハードウェア回路ブロックとして形成され得る。これらのハードウェア回路ブロックは別個の回路ブロックであってよく、または2つ以上のユニットが共通のハードウェア回路ブロックへと組み合わされてよい。ハードウェア回路ブロックは、算術論理演算装置(ALU)、初等関数演算装置(EFU)、ならびに、AND、OR、NAND、NOR、XOR、XNOR、および他の同様の論理ブロックなどの論理ブロックなどの、演算ブロックを形成する電気的構成要素の組合せとして形成され得る。
【０４０５】
いくつかの例では、図25に示されるユニットのうちの1つまたは複数は、処理回路上で実行されるソフトウェアユニットによって提供され得る。そのような例では、これらのソフトウェアのためのオブジェクトコードがメモリに記憶される。オペレーティングシステムは、ビデオデコーダ30に、オブジェクトコードを取り出させ、オブジェクトコードを実行させることができ、オブジェクトコードは、ビデオデコーダ30に、例示的な技法を実施するための動作を実行させる。いくつかの例では、ソフトウェアユニットは、ビデオデコーダ30が起動時に実行するファームウェアであり得る。したがって、ビデオデコーダ30は、例示的な技法を実行するハードウェアを有する構造的構成要素であり、または、ハードウェアを例示的な技法の実行専用にするためのハードウェア上で実行されるソフトウェア/ファームウェアを有する。
【０４０６】
図25の例において、ビデオデコーダ30は、エントロピー復号ユニット250、ビデオデータメモリ251、予測処理ユニット252、逆量子化ユニット254、逆変換処理ユニット256、再構築ユニット258、フィルタユニット260、および復号ピクチャバッファ262を含む。予測処理ユニット252は、動き補償ユニット264およびイントラ予測処理ユニット266を含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。いくつかの例では、予測処理ユニット266は、本開示の照明補償技法を実行する。いくつかの例では、予測処理ユニット266は、本開示のLM技法を実行する。
【０４０７】
ビデオデータメモリ251は、ビデオデコーダ30の構成要素によって復号されるべき、符号化されたビデオビットストリームなどの符号化されたビデオデータを記憶し得る。ビデオデータメモリ251に記憶されるビデオデータは、たとえば、コンピュータ可読媒体16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータの有線ネットワーク通信もしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、取得され得る。ビデオデータメモリ251は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコーディングピクチャバッファ(CPB)を形成し得る。復号ピクチャバッファ262は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための、または出力のための、参照ビデオデータを記憶する参照ピクチャメモリであってもよい。ビデオデータメモリ251および復号ピクチャバッファ262は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗性RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ251および復号ピクチャバッファ262は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ251は、ビデオデコーダ30の他の構成要素とともにオンチップであることがあり、または、それらの構成要素に対してオフチップであることがある。
【０４０８】
ビデオデータメモリ251は、ビットストリームの符号化されたビデオデータ(たとえば、NALユニット)を受信し記憶する。エントロピー復号ユニット250は、符号化されたビデオデータ(たとえば、NALユニット)をビデオデータメモリ251から受信することができ、NALユニットを構文解析して、シンタックス要素を取得することができる。エントロピー復号ユニット250は、NALユニットの中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット252、逆量子化ユニット254、逆変換処理ユニット256、再構築ユニット258、およびフィルタユニット260は、ビットストリームから抽出されたシンタックス要素に基づいて、復号されたビデオデータを生成し得る。エントロピー復号ユニット250は、エントロピー符号化ユニット218のプロセスとは全般に逆のプロセスを実行し得る。
【０４０９】
シンタックス要素をビットストリームから取得することに加えて、ビデオデコーダ30は、区分されていないCUに対して再構築動作を実行し得る。CUに対して再構築動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構築動作を実行し得る。CUのTUごとに再構築動作を実行することによって、ビデオデコーダ30は、CUの残差ブロックを再構築し得る。
【０４１０】
CUのTUに対して再構築動作を実行することの一部として、逆量子化ユニット254は、TUと関連付けられる係数ブロックを逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)し得る。逆量子化ユニット254が係数ブロックを逆量子化した後、逆変換処理ユニット256は、TUと関連付けられる残差ブロックを生成するために、1つまたは複数の逆変換を係数ブロックに適用し得る。たとえば、逆変換処理ユニット256は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。いくつかの例では、逆変換処理ユニット256は、本開示のEMT技法を実行する。
【０４１１】
本開示のいくつかの例によれば、逆量子化ユニット254は、逆量子化プロセスをビデオデータのCUの非正方形TUの変換係数に適用し得る。さらに、逆量子化プロセスを変換係数に適用した後で、逆量子化ユニット254は、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
【０４１２】
【数４８】
2019500778.tif 000055
【０４１３】
の近似で割られたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正し得る。
【０４１４】
いくつかの例では、逆変換処理ユニット256は、2つ(および/または4つ)の子ノードを有するノードを含む残差木構造を決定するための、本開示の技法を適用し得る。たとえば、逆変換処理ユニット256は、木構造に基づいてCUのTUへとビデオデータのCUが区分されると決定し得る。この例では、木構造に基づいてCUがCUのTUへと区分されると決定することの一部として、逆変換処理ユニット256は、木構造の中のノードが木構造の中で丁度2つの子ノードを有すると決定し得る。いくつかの例では、逆変換処理ユニット256は、木構造の中の第2のノードが木構造の中で丁度4つの子ノードを有すると決定し得る。さらに、この例では、CUのTUのうちの少なくとも1つに対して、逆変換処理ユニット256は、変換をTUの係数ブロックに適用して、TUの残差ブロックを生成し得る。
【０４１５】
PUがイントラ予測を使用して符号化されている場合、イントラ予測処理ユニット266は、イントラ予測を実行して、PUの予測ブロックを生成し得る。イントラ予測処理ユニット266は、イントラ予測モードを使用して、空間的に隣接するブロックのサンプルに基づいて、PUの予測ブロックを生成し得る。イントラ予測処理ユニット266は、ビットストリームから取得された1つまたは複数のシンタックス要素に基づいて、PUのイントラ予測モードを決定し得る。
【０４１６】
PUがインター予測を使用して符号化される場合、エントロピー復号ユニット250は、PUの動き情報を決定し得る。動き補償ユニット264は、PUの動き情報に基づいて、1つまたは複数の参照ブロックを決定し得る。動き補償ユニット264は、1つまたは複数の参照ブロックに基づいて、PUの予測ブロック(たとえば、予測輝度ブロック、予測Cbブロック、および予測Crブロック)を生成し得る。
【０４１７】
再構築ユニット258は、CUのTUのための変換ブロック(たとえば、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロック)、ならびにCUのPUの予測ブロック(たとえば、輝度ブロック、Cbブロック、およびCrブロック)、すなわちイントラ予測データまたはインター予測データのいずれかを適宜使用して、CUのコーディングブロック(たとえば、輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構築し得る。たとえば、再構築ユニット258は、予測ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)の対応するサンプルに、変換ブロック(たとえば、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロック)のサンプルを加算して、CUのコーディングブロック(たとえば、輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構築し得る。
【０４１８】
フィルタユニット260は、CUのコーディングブロックに1つまたは複数のフィルタを適用し得る。たとえば、フィルタユニット260は、デブロッキング動作を実行して、CUのコーディングブロックと関連付けられるブロッキングアーティファクトを低減し得る。ビデオデコーダ30は、CUのコーディングブロックを復号ピクチャバッファ262に記憶し得る。したがって、復号ピクチャバッファ262は、ビデオデータの復号されたブロックを記憶し得る。復号ピクチャバッファ262は、その後の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ262の中のブロックに基づいて、他のCUのPUのためにイントラ予測動作またはインター予測動作を実行し得る。
【０４１９】
図26は、本開示の技法による、LMベースの符号化をサポートする例示的なビデオエンコーダ20を示すブロック図である。図26の例では、ビデオエンコーダ20の構成要素は、図24のビデオエンコーダ20の対応する構成要素と同じ方式で動作する。しかしながら、図26のビデオエンコーダ20は、LMベースの符号化ユニット222も含む。
【０４２０】
LMベースの符号化ユニット222は、本開示の他の箇所で説明される例に従って、LM予測符号化を実行し得る。たとえば、逆量子化ユニット208、逆変換処理ユニット210、再構築ユニット212、およびフィルタユニット214は、輝度参照サンプルのセット、色差参照サンプルのセットを再構築することができ、非正方形PUの輝度サンプルも再構築することができる。LMベースの符号化ユニット222は、非正方形PUの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形PUの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングし得る。加えて、LMベースの符号化ユニット222は、第1のパラメータが
(Σyi-α・Σxi)/I
に等しいように第1のパラメータを決定することができ、ここでIは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。非正方形PUの予測色差ブロックの各々のそれぞれの色差サンプルに対して、LMベースの符号化ユニット222は、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定することができ、それぞれの色差サンプルに対応する再構築された輝度サンプルは、非正方形PUの再構築された輝度サンプルのうちの1つである。LMベースの符号化ユニット222は、第2のパラメータが
【０４２１】
【数４９】
2019500778.tif 000056
【０４２２】
に等しいように第2のパラメータを決定することができる。
【０４２３】
LMベースの符号化ユニット222は、予測ブロックを残差生成ユニット202に出力し得る。残差生成ユニット202は、予測ブロックおよび色差ブロックから残差ブロックを生成する。得られる残差ブロックは、変換処理ユニット103によって変換され、量子化ユニット206によって量子化され、エントロピー符号化ユニット218によってエントロピー符号化される。この結果が次いでビットストリームを介してシグナリングされ、ビデオデコーダ30がビットストリームの中の情報を使用して色差ブロックを再構築し得る。
【０４２４】
図27は、本開示の技法による、LMベースの復号をサポートする例示的なビデオデコーダ30を示すブロック図である。図27の例では、ビデオデコーダ30の構成要素は、図27のビデオデコーダ30の対応する構成要素と同じ方式で動作する。しかしながら、図27のビデオデコーダ30は、LMベースの復号ユニット265も含む。
【０４２５】
本開示の様々な例によれば、ビデオデコーダ30は、本開示の他の箇所で与えられる例に従ってLMベースのコーディングを実行するように構成され得る。たとえば、逆量子化ユニット254、逆変換処理ユニット256、再構築ユニット258、およびフィルタユニット260は、輝度参照サンプルのセット、色差参照サンプルのセットを再構築することができ、非正方形PUの輝度サンプルも再構築することができる。LMベースの復号ユニット265は、非正方形PUの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形PUの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングし得る。加えて、LMベースの復号ユニット265は、第1のパラメータが
(Σyi-α・Σxi)/I
に等しいように第1のパラメータを決定することができ、ここでIは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。非正方形PUの予測色差ブロックの各々のそれぞれの色差サンプルに対して、LMベースの復号ユニット266は、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定することができ、それぞれの色差サンプルに対応する再構築された輝度サンプルは、非正方形PUの再構築された輝度サンプルのうちの1つである。LMベースの復号ユニット266は、第2のパラメータが
【０４２６】
【数５０】
2019500778.tif 000057
【０４２７】
に等しいように第2のパラメータを決定することができる。
【０４２８】
LMベースの復号ユニット265は、予測ブロックを再構築ユニット258に出力し得る。再構築ユニット258はまた、残差ブロックを受信する(たとえば、残差ブロックのためのビットストリームの中の情報がエントロピー復号ユニット250によりエントロピー復号され、逆量子化ユニット254により逆量子化され、逆変換処理ユニット256により逆変換された後で)。再構築ユニット258は、残差ブロックを予測ブロックと加算して色差ブロックを再構築する。
【０４２９】
図28は、本開示のLMベースのコーディング技法による、ビデオエンコーダ20の例示的な動作を示すフローチャートである。本開示のフローチャートは、例として与えられる。本開示の範囲内の他の例は、より多数の、より少数の、または異なる活動を含み得る。本開示の範囲内の他の例は、異なる順序の、または並列に実行される活動を含み得る。
【０４３０】
図28の例では、ビデオエンコーダ20がビデオデータを受信し得る(300)。たとえば、ビデオエンコーダ20は、ビデオソース18(図1)、または別のソースからビデオデータを受信し得る。
【０４３１】
加えて、図28の例では、ビデオエンコーダ20は、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築することができる(302)。輝度参照サンプルのセットは、ビデオデータの現在のピクチャの非正方形輝度ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え得る。いくつかの例では、非正方形輝度ブロックは非正方形PUの輝度予測ブロックである。色差参照サンプルのセットは、非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備え得る。いくつかの例では、非正方形輝度ブロックは非正方形PUの輝度予測ブロックである。
【０４３２】
さらに、ビデオエンコーダ20は、非正方形輝度ブロックの輝度サンプルを再構築することができる(304)。たとえば、ビデオエンコーダ20は、本開示の他の箇所で説明されたようにCUの輝度残差サンプルを生成し得る。この例では、ビデオエンコーダ20は、輝度残差サンプルの対応するサンプルに非正方形輝度ブロックの輝度予測ブロックのサンプルを加算して、非正方形輝度ブロックの輝度サンプルを再構築し得る。
【０４３３】
いくつかの例では、ビデオエンコーダ20は、非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングし得る。非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングすることによって、ビデオエンコーダ20は、色差予測ブロック(たとえば、輝度ブロックと同じPUの色差予測ブロック)の各色差サンプルに対して1つの輝度サンプルを有する、輝度サンプルのダウンサンプリングまたはサブサンプリングされたセットを取得し得る。ビデオエンコーダ20は、現在のピクチャのカラーフォーマットが4:4:4ではないと決定したことに応答して、非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングし得る。
【０４３４】
加えて、ビデオエンコーダ20は、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングすることができる(306)。ビデオエンコーダ20は、本開示の他の箇所で説明された技法に従って、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングし得る。たとえば、ビデオエンコーダ20は、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットが非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをデシメーションすることができる。いくつかの例では、ビデオエンコーダ20は、左の参照サンプルまたは上の参照サンプルのうちで、輝度の左の境界と輝度の上の境界のうちの長い方に相当するものをダウンサンプリングまたはサブサンプリングしてよいが、輝度ブロックの左の境界と輝度ブロックの上の境界のうちの短い方はダウンサンプリングまたはサブサンプリングしなくてよい。いくつかの例では、輝度参照サンプルのセットの中の参照サンプルの総数は2mに等しく、ここでmは非正方形輝度ブロックの高さおよび/または幅に依存する整数である。
【０４３５】
いくつかの例では、ビデオエンコーダ20はまた、非正方形色差ブロックの長辺に隣接する色差参照サンプルのセットの中の色差参照サンプルの総数が非正方形色差ブロックの短辺に隣接する色差参照サンプルのセットの色差参照サンプルの総数と同じになるように、色差参照サンプルのセットをダウンサンプリングまたはサブサンプリングすることができる。
【０４３６】
図28の活動(308)において、ビデオエンコーダ20は、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータ(β)を決定することができる。上の式において、Iは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。ビデオエンコーダ20は、上の式を直接使用する、または追加の定数もしくは係数を含むものなどの上の式の変形を使用するという意味で、上の式に基づいて第1のパラメータを決定し得る。
【０４３７】
いくつかの例では、ビデオエンコーダ20はまた、第2のパラメータが
【０４３８】
【数５１】
2019500778.tif 000058
【０４３９】
に基づくように第2のパラメータ(α)を決定し得る。ビデオエンコーダ20は、上の式を直接使用する、または追加の定数または係数を含むものなどの上の式の変形を使用するという意味で、上の式に基づいて第2のパラメータを決定し得る。
【０４４０】
加えて、図28の例では、予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオエンコーダ20は、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定することができる(310)。それぞれの色差サンプルに対応する再構築された輝度サンプルは、非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである。
【０４４１】
さらに、ビデオエンコーダ20は、予測色差ブロックに基づいて、残差データを取得することができる(312)。たとえば、ビデオエンコーダ20は、非正方形予測ブロックの色差ブロックのサンプルとCUの色差コーディングブロックのサンプルとの差に等しい、残差データの色差サンプルの値を決定し得る。
【０４４２】
加えて、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含めることができる(314)。たとえば、ビデオエンコーダ20は、残差データに1つまたは複数の変換を適用して1つまたは複数の係数ブロックを生成し、係数ブロックを量子化し、変換係数が0ではないかどうか、変換係数が1より大きいかどうか、変換係数が2より大きいかどうか、変換係数の符号、および変換係数の剰余を示すシンタックス要素を生成し得る。この例では、ビデオエンコーダ20は、これらのシンタックス要素のうちの1つまたは複数にCABACコーディングを適用し、得られる値をビットストリームに含め得る。
【０４４３】
図29は、本開示のLMベースのコーディング技法による、ビデオデコーダ30の例示的な動作を示すフローチャートである。図29の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを受信する(350)。
【０４４４】
さらに、図29の例では、ビデオデコーダ30は、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築する(352)。輝度参照サンプルのセットは、ビデオデータの現在のピクチャの非正方形輝度ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備える。いくつかの例では、非正方形輝度ブロックは非正方形PUの輝度予測ブロックである。色差参照サンプルのセットは、非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備える。いくつかの例では、非正方形輝度ブロックは非正方形PUの輝度予測ブロックである。
【０４４５】
ビデオデコーダ30は、非正方形輝度ブロックの輝度サンプルを再構築することができる(354)。たとえば、非正方形輝度ブロックの輝度サンプルを再構築することの一部として、ビデオデコーダ30は、イントラ予測またはインター予測を使用して、非正方形輝度ブロックの輝度予測ブロックを生成し得る。加えて、この例では、ビデオデコーダ30は、非正方形輝度ブロックの輝度予測ブロックのサンプルを対応する残差サンプルに加算して、輝度サンプルを再構築し得る。
【０４４６】
いくつかの例では、ビデオデコーダ30は、非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングし得る。非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングすることによって、ビデオデコーダ30は、色差予測ブロック(たとえば、輝度ブロックと同じPUの色差予測ブロック)の各色差サンプルに対して1つの輝度サンプルを有する、輝度サンプルのダウンサンプリングまたはサブサンプリングされたセットを取得し得る。ビデオデコーダ30は、現在のピクチャのカラーフォーマットが4:4:4ではないと決定したことに応答して、非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングし得る。
【０４４７】
さらに、図29の例では、ビデオデコーダ30は、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングすることができる(356)。ビデオデコーダ30は、本開示の他の箇所で説明された技法に従って、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングし得る。たとえば、ビデオデコーダ30は、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットが非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをデシメーションすることができる。いくつかの例では、ビデオデコーダ30は、左の参照サンプルまたは上の参照サンプルのうちで、輝度ブロックの左の境界と輝度ブロックの上の境界のうちの長い方に相当するものをダウンサンプリングまたはサブサンプリングしてよいが、輝度ブロックの左の境界と輝度ブロックの上の境界のうちの短い方はダウンサンプリングまたはサブサンプリングしなくてよい。いくつかの例では、輝度参照サンプルのセットの中の参照サンプルの総数は2mに等しく、ここでmは非正方形輝度ブロックの高さおよび/または幅に依存する整数である。
【０４４８】
いくつかの例では、ビデオデコーダ30はまた、非正方形色差ブロックの長辺に隣接する色差参照サンプルのセットの中の色差参照サンプルの総数が非正方形色差ブロックの短辺に隣接する色差参照サンプルのセットの色差参照サンプルの総数と同じになるように、色差参照サンプルのセットをダウンサンプリングまたはサブサンプリングすることができる。
【０４４９】
加えて、図29の活動(358)において、ビデオデコーダ30は、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータ(β)を決定することができる。上の式において、Iは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。本開示では、ビデオエンコーダ20および/またはビデオデコーダ30は、式を直接使用する、または追加の定数もしくは係数を含むものなどの式の変形を使用するという意味で、式に基づいて値を決定し得る。
【０４５０】
いくつかの例では、ビデオデコーダ30はまた、第2のパラメータが
【０４５１】
【数５２】
2019500778.tif 000059
【０４５２】
に基づくように第2のパラメータ(α)を決定し得る。
【０４５３】
図29の例では、予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオデコーダ30は、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定することができる(360)。この例では、それぞれの色差サンプルに対応する再構築された輝度サンプルは、非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである。
【０４５４】
さらに、ビデオデコーダ30は、予測色差ブロックに一部基づいて、コーディングブロックを再構築することができる(362)。たとえば、ビデオデコーダ30は、予測色差ブロックのサンプルをCUの対応する残差色差サンプルに加算して、CUのコーディングブロックのサンプルを決定し得る。図30は、本開示の量子化技法による、ビデオエンコーダ20の例示的な動作を示すフローチャートである。図30の例では、ビデオエンコーダ20がビデオデータを受信する(400)。さらに、ビデオエンコーダ20は、残差ブロックの各残差サンプルがCUのコーディングブロックの対応するサンプルとCUのPUの予測ブロックとの差を示すように、CUの非正方形TUの残差ブロックを生成することができる(402)。
【０４５５】
ビデオエンコーダ20は、変換を残差ブロックに適用して変換係数のブロックを生成することができる(404)。たとえば、ビデオエンコーダ20は、DCT変換を残差ブロックに適用し得る。加えて、ビデオエンコーダ20は、変換係数のブロックの各々のそれぞれの変換係数が、
【０４５６】
【数５３】
2019500778.tif 000060
【０４５７】
の近似と乗じられたそれぞれの逆量子化された変換係数に基づくように、変換係数を修正することができる(406)。たとえば、ビデオエンコーダ20は、各々のそれぞれの変換係数が、
【０４５８】
【数５４】
2019500778.tif 000061
【０４５９】
の近似と乗じられたそれぞれの変換係数の元の値に等しくなるように、変換係数を修正し得る。本開示では、
【０４６０】
【数５５】
2019500778.tif 000062
【０４６１】
の近似は、
【０４６２】
【数５６】
2019500778.tif 000063
【０４６３】
の表現(たとえば、
【０４６４】
【数５７】
2019500778.tif 000064
【０４６５】
の浮動小数点数表現)であり得る。いくつかの例では、各々のそれぞれの変換係数が、
【０４６６】
【数５８】
2019500778.tif 000065
【０４６７】
の近似と乗じられたそれぞれの変換係数の元の値に等しくなるように変換係数を修正することは、1つまたは複数の数学的演算を実行して、
【０４６８】
【数５９】
2019500778.tif 000066
【０４６９】
と乗じられた変換係数を近似する値を決定することを備え得る。
【０４７０】
非正方形TUのサイズがK×Lであるいくつかの例では、変換を残差ブロックに適用することの一部として、ビデオエンコーダ20は、残差ブロックにサイズがN×Nの変換を適用することができ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)であり、((log2(K) + log2(L))は奇数である。たとえば、ビデオエンコーダ20は、上の式(18)に示されるように、N点の1次元DCT変換を残差ブロックの行および列に適用し得る。
【０４７１】
さらに、図30の例では、変換係数を修正した後で、ビデオエンコーダ20は、量子化プロセスをCUの非正方形予測ブロックの修正された変換係数に適用することができる(408)。たとえば、ビデオエンコーダ20は、上の式(22)に記載されたように、修正された変換係数を量子化し得る。
【０４７２】
ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、量子化された変換係数に基づくデータを含めることができる(410)。たとえば、ビデオエンコーダ20は、量子化された変換係数が0ではないかどうか、量子化された変換係数が1より大きいかどうか、量子化された変換係数が2より大きいかどうか、量子化された変換係数の符号、および量子化された変換係数の剰余を示すシンタックス要素を生成し得る。この例では、ビデオエンコーダ20は、これらのシンタックス要素のうちの1つまたは複数にCABACコーディングを適用し、得られる値をビットストリームに含め得る。
【０４７３】
非正方形TUのサイズがK×Lであるいくつかの例では、ビデオエンコーダ20は、((log2(K) + log2(L))が奇数であることに基づいて、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
【０４７４】
【数６０】
2019500778.tif 000067
【０４７５】
の近似と乗じられたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正し得る。そのような例では、((log2(K) + log2(L))が偶数であるとき、ビデオエンコーダ20は、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
【０４７６】
【数６１】
2019500778.tif 000068
【０４７７】
の近似と乗じられたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正しない。
【０４７８】
図31は、本開示の量子化技法による、ビデオデコーダ30の例示的な動作を示すフローチャートである。図31の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを受信することができる(450)。さらに、ビデオデコーダ30は、逆量子化プロセスをビデオデータのCUの非正方形TUの変換係数に適用することができる(452)。たとえば、ビデオデコーダ30は、上の式(24)を適用することによって、変換係数を逆量子化(dequantize)(すなわち、逆量子化(inverse quantize))し得る。
【０４７９】
逆量子化プロセスを変換係数に適用した後で、ビデオデコーダ30は、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
【０４８０】
【数６２】
2019500778.tif 000069
【０４８１】
の近似で割られたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正することができる(454)。たとえば、ビデオデコーダ30は、各々のそれぞれの修正された変換係数が、
【０４８２】
【数６３】
2019500778.tif 000070
【０４８３】
の近似で割られた変換係数と等しいと決定し得る。本開示では、
【０４８４】
【数６４】
2019500778.tif 000071
【０４８５】
の近似は、
【０４８６】
【数６５】
2019500778.tif 000072
【０４８７】
の表現(たとえば、
【０４８８】
【数６６】
2019500778.tif 000073
【０４８９】
の浮動小数点数表現)であり得る。いくつかの例では、各々のそれぞれの変換係数が、
【０４９０】
【数６７】
2019500778.tif 000074
【０４９１】
の近似と乗じられたそれぞれの変換係数の元の値に等しくなるように変換係数を修正することは、1つまたは複数の数学的演算を実行して、
【０４９２】
【数６８】
2019500778.tif 000075
【０４９３】
で割られた変換係数を近似する値を決定することを備え得る。
【０４９４】
さらに、ビデオデコーダ30は、逆変換を修正された逆量子化された変換係数に適用して、残差ブロックを再構築することができる(456)。たとえば、ビデオデコーダ30は、修正された逆量子化された変換係数に逆変換を適用するために、変換行列Cの転置(または整数精度で表されるその近似)とともに式(18)を適用し得る。非正方形TUのサイズがK×Lであるいくつかの例では、変換を残差ブロックに適用することの一部として、ビデオデコーダ30は、残差ブロックにサイズがN×Nの変換を適用することができ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)であり、((log2(K) + log2(L))は奇数である。ビデオデコーダ30は、予測ブロックのサンプルをCUのTUの残差ブロックの対応するサンプルに加算することによって、コーディングブロックのサンプルを再構築することができる(458)。
【０４９５】
非正方形TUのサイズがK×Lであるいくつかの例では、ビデオデコーダ30は、((log2(K) + log2(L))が奇数であることに基づいて、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
【０４９６】
【数６９】
2019500778.tif 000076
【０４９７】
の近似で割られたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正し得る。そのような例では、((log2(K) + log2(L))が偶数であるとき、ビデオデコーダ30は、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
【０４９８】
【数７０】
2019500778.tif 000077
【０４９９】
の近似で割られたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正しない。
【０５００】
図32は、ICを使用する本開示の技法による、ビデオエンコーダ20の例示的な動作を示すフローチャートである。図32の例では、ビデオエンコーダ20がビデオデータを受信する(500)。たとえば、ビデオエンコーダ20は、ビデオソース18(図1)、または別の箇所からビデオデータを受信し得る。さらに、ビデオエンコーダ20は、ICを使用してビデオデータの現在のピクチャの現在のCUの現在のPUの非正方形予測ブロックを生成することができる(502)。
【０５０１】
ICを使用して非正方形予測ブロックを生成することの一部として、ビデオエンコーダ20は、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定することができる(504)。いくつかの例では、ベクトルは視差ベクトルであり、参照ピクチャはビュー間参照ピクチャである。いくつかの例では、ベクトルは動きベクトルであり、参照ピクチャは時間動きベクトルである。参照ブロックおよび非正方形予測ブロックは、サイズおよび形状が同じであり得る。いくつかの例では、現在のPUのベクトルに基づいて参照ブロックを決定するために、ビデオエンコーダ20は、ベクトルの水平成分を非正方形予測ブロックの左上の角のx座標に加算し、ベクトルの垂直成分を非正方形予測ブロックの左上の角のy座標に加算することによって、参照ブロックの左上の角の参照ピクチャにおける場所を決定し得る。この例では、参照ブロックの左上の角の示される場所が整数画素の参照ピクチャにおける場所を示さない場合、ビデオエンコーダ20は、参照ブロックのサンプルを補間して参照ブロックを決定し得る。
【０５０２】
さらに、図32の例では、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオエンコーダ20は、参照サンプルの第1のセットをサブサンプリングして、第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成することができる(506)。この例では、参照サンプルの第1のセットの中の参照サンプルの総数は2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数は2mに等しい。さらに、この例では、参照サンプルの第1のセットは、非正方形予測ブロックの外側の、非正方形予測ブロックの左辺および上辺に沿ったサンプルを備え、mは整数である。
【０５０３】
加えて、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオエンコーダ20は、参照サンプルの第2のセットをサブサンプリングして、第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成することができる(508)。第1のサブサンプリング比は、第2のサブサンプリング比と同じであることがあり、または異なることがある。この例では、参照サンプルの第2のセットの中の参照サンプルの総数は2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数は2mに等しい。さらに、この例では、参照サンプルの第2のセットは、参照ブロックの外側の、参照ブロックの左辺および上辺に沿ったサンプルを備える。
【０５０４】
活動(506)および(508)において、ビデオエンコーダ20は、様々な方法でサブサンプリングを実行し得る。たとえば、ビデオエンコーダ20は、デシメーションを使用してサブサンプリングを実行することができる。ビデオエンコーダ20がデシメーションを使用してサブサンプリングを実行する例では、ビデオエンコーダ20は、通常の間隔でサンプルを除去し(たとえば、1つおきにサンプルを除去し)、残りのサンプルの値を変更せずにサンプルの数を減らすことができる。したがって、この例では、ビデオエンコーダ20は、参照サンプルの第1のセットをデシメーションして参照サンプルの第1のサブサンプリングされたセットを生成することと、参照サンプルの第2のセットをデシメーションして参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
【０５０５】
別の例では、ビデオエンコーダ20は、補間を使用してサブサンプリングを実行することができる。ビデオエンコーダ20が補間を使用してサブサンプリングを実行する例では、隣り合うサンプルのそれぞれのペアに対して、ビデオエンコーダ20は、それぞれのペアのサンプルの間の値を補間することができ、サンプルのサブサンプリングされたセットにその補間された値を含めることができる。したがって、この例では、ビデオエンコーダ20は、参照サンプルの第1のセットの補間されたサンプリングを実行して参照サンプルの第1のサブサンプリングされたセットを生成することと、参照サンプルの第2のセットの補間されたサンプリングを実行して参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
【０５０６】
別の例では、ビデオエンコーダ20は、ビットストリームの中のシンタックス要素により示されるサブサンプリング方法を使用してサブサンプリングを実行し得る。したがって、この例では、ビデオエンコーダ20は、ビットストリームに、サブサンプリング方法を示すシンタックス要素を含め得る。この例では、ビデオエンコーダ20は、示されるサブサンプリング方法を使用して参照サンプルの第1のセットをサブサンプリングし参照サンプルの第1のサブサンプリングされたセットを生成することと、示されるサブサンプリング方法を使用して参照サンプルの第2のセットをサブサンプリングし参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
【０５０７】
別の例では、ビデオエンコーダ20は、現在のPUのサイズに基づいて、サブサンプリング方法を決定し得る。この例では、ビデオエンコーダ20は、決定されたサブサンプリング方法を使用して参照サンプルの第1のセットをサブサンプリングし参照サンプルの第1のサブサンプリングされたセットを生成することと、決定されたサブサンプリング方法を使用して参照サンプルの第2のセットをサブサンプリングし参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
【０５０８】
ICを使用して非正方形予測ブロックを生成することの一部として、図32の活動(510)において、ビデオエンコーダ20は、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し得る。たとえば、ビデオエンコーダ20は、第1のICパラメータが
【０５０９】
【数７１】
2019500778.tif 000078
【０５１０】
に基づくように第1のICパラメータを決定し得る。上の式において、2Nは参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数を表し、Recneig(i)は参照サンプルの第1のサブサンプリングされたセットの中のi番目の参照サンプルを表し、Recrefneig(i)は参照サンプルの第2のサブサンプリングされたセットの中のi番目の参照サンプルを表す。
【０５１１】
いくつかの例では、ビデオエンコーダ20は、第2のICパラメータが
【０５１２】
【数７２】
2019500778.tif 000079
【０５１３】
に基づくように第2のICパラメータを決定し得る。
【０５１４】
さらに、ICを使用して非正方形予測ブロックを生成することの一部として、図32の活動(512)において、ビデオエンコーダ20は、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定し得る。たとえば、サンプルは現在のピクチャの左上の角に対する相対的な座標(i, j)にあることがあり、ビデオエンコーダ20はサンプルが以下に基づくようにサンプルを決定し得る。
a * r( i + dvx, j + dvy + b )
上の式において、bは第1のICパラメータであり、aは第2のICパラメータであり、rは参照ピクチャであり、dvxは現在のPUのベクトル(たとえば、視差ベクトル、動きベクトル)の水平成分であり、dvyは現在のPUのベクトルの垂直成分である。
【０５１５】
図32の例では、ビデオエンコーダ20は、非正方形予測ブロックに基づいて残差データを生成することができる(514)。たとえば、ビデオエンコーダ20は、残差データのサンプルが、非正方形予測ブロックのサンプルと現在のCUのコーディングブロックのサンプルとの差に等しくなるように、残差データを生成し得る。加えて、ビデオエンコーダ20は、残差データに基づくデータを含むビットストリームを出力することができる(516)。たとえば、ビデオエンコーダ20は、残差データを示すエントロピー符号化されたシンタックス要素(たとえば、1より大きいこと、2より大きいこと、剰余などを示すシンタックス要素)を含むビットストリームを出力し得る。
【０５１６】
図33は、ICを使用する本開示の技法による、ビデオデータを符号化するためのビデオデコーダ30の例示的な動作を示すフローチャートである。図32の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリーム受信する(550)。さらに、ビデオデコーダ30は、ICを使用してビデオデータの現在のピクチャの現在のCUの現在のPUの非正方形予測ブロックを生成する(552)。
【０５１７】
ICを使用して非正方形予測ブロックを生成することの一部として、ビデオデコーダ30は、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定することができる(554)。いくつかの例では、ベクトルは視差ベクトルであり、参照ピクチャはビュー間参照ピクチャである。いくつかの例では、ベクトルは動きベクトルであり、参照ピクチャは時間動きピクチャである。参照ブロックおよび非正方形予測ブロックは、サイズおよび形状が同じである。現在のPUの視差ベクトルに基づいて参照ブロックを決定するために、ビデオデコーダ30は、ベクトルの水平成分を非正方形予測ブロックの左上の角のx座標に加算し、ベクトルの垂直成分を非正方形予測ブロックの左上の角のy座標に加算することによって、参照ブロックの左上の角の参照ピクチャにおける場所を決定し得る。この例では、参照ブロックの左上の角の示される場所が整数画素の参照ピクチャにおける場所を示さない場合、ビデオデコーダ30は、参照ブロックのサンプルを補間して参照ブロックを決定し得る。
【０５１８】
さらに、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオデコーダ30は、参照サンプルの第1のセットをサブサンプリングして、第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成することができる(556)。この例では、参照サンプルの第1のセットの中の参照サンプルの総数は2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数は2mに等しい。この例では、参照サンプルの第1のセットは、非正方形予測ブロックの外側の、非正方形予測ブロックの左辺および上辺に沿ったサンプルを備えることがあり、mは整数である。
【０５１９】
加えて、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオデコーダ30は、参照サンプルの第2のセットをサブサンプリングして、第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成することができる(558)。第1のサブサンプリング比は、第2のサブサンプリング比と同じであることがあり、または異なることがある。この例では、第2のセットの中の参照サンプルの総数は2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数は2mに等しい。さらに、この例では、参照サンプルの第2のセットは、参照ブロックの外側の、参照ブロックの左辺および上辺に沿ったサンプルを備え得る。
【０５２０】
活動(556)および(558)において、ビデオデコーダ30は、様々な方法でサブサンプリングを実行し得る。たとえば、ビデオデコーダ30は、デシメーションを使用してサブサンプリングを実行することができる。ビデオデコーダ30がデシメーションを使用してサブサンプリングを実行する例では、ビデオデコーダ30は、通常の間隔でサンプルを除去し(たとえば、1つおきにサンプルを除去し)、残りのサンプルの値を変更せずにサンプルの数を減らすことができる。したがって、この例では、ビデオデコーダ30は、参照サンプルの第1のセットをデシメーションして参照サンプルの第1のサブサンプリングされたセットを生成することと、参照サンプルの第2のセットをデシメーションして参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
【０５２１】
別の例では、ビデオデコーダ30は、補間を使用してサブサンプリングを実行することができる。ビデオデコーダ30が補間を使用してサブサンプリングを実行する例では、隣り合うサンプルのそれぞれのペアに対して、ビデオデコーダ30は、それぞれのペアのサンプルの間の値を補間することができ、サンプルのサブサンプリングされたセットにその補間された値を含めることができる。したがって、この例では、ビデオデコーダ30は、参照サンプルの第1のセットの補間されたサンプリングを実行して参照サンプルの第1のサブサンプリングされたセットを生成することと、参照サンプルの第2のセットの補間されたサンプリングを実行して参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
【０５２２】
別の例では、ビデオデコーダ30は、ビットストリームの中のシンタックス要素により示されるサブサンプリング方法を使用してサブサンプリングを実行し得る。したがって、この例では、ビデオデコーダ30は、ビットストリームから、サブサンプリング方法を示すシンタックス要素を取得し得る。この例では、ビデオデコーダ30は、示されるサブサンプリング方法を使用して参照サンプルの第1のセットをサブサンプリングし参照サンプルの第1のサブサンプリングされたセットを生成することと、示されるサブサンプリング方法を使用して参照サンプルの第2のセットをサブサンプリングし参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
【０５２３】
別の例では、ビデオデコーダ30は、現在のPUのサイズに基づいて、サブサンプリング方法を決定し得る。この例では、ビデオデコーダ30は、決定されたサブサンプリング方法を使用して参照サンプルの第1のセットをサブサンプリングし参照サンプルの第1のサブサンプリングされたセットを生成することと、決定されたサブサンプリング方法を使用して参照サンプルの第2のセットをサブサンプリングし参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
【０５２４】
さらに、図33の活動(560)において、ビデオデコーダ30は、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し得る。たとえば、ビデオデコーダ30は、第1のICパラメータが
【０５２５】
【数７３】
2019500778.tif 000080
【０５２６】
に基づくように第1のICパラメータを決定し得る。上の式において、2Nは参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数を表し、Recneig(i)は参照サンプルの第1のサブサンプリングされたセットの中のi番目の参照サンプルを表し、Recrefneig(i)は参照サンプルの第2のサブサンプリングされたセットの中のi番目の参照サンプルを表す。
【０５２７】
いくつかの例では、ビデオデコーダ30は、第2のICパラメータが
【０５２８】
【数７４】
2019500778.tif 000081
【０５２９】
に基づくように第2のICパラメータを決定し得る。
【０５３０】
加えて、図33の活動(562)において、ビデオデコーダ30は、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定し得る。たとえば、サンプルは現在のピクチャの左上の角に対する相対的な座標(i, j)にあることがあり、ビデオデコーダ30はサンプルが以下に基づくようにサンプルを決定し得る。
a * r( i + dvx, j + dvy + b )
上の式において、bは第1のICパラメータであり、aは第2のICパラメータであり、rは参照ピクチャであり、dvxは現在のPUのベクトルの水平成分であり、dvyは現在のPUのベクトルの垂直成分である。
【０５３１】
ビデオデコーダ30は、非正方形予測ブロックに基づいて、現在のCUのコーディングブロックを再構築することができる(564)。たとえば、ビデオデコーダ30は、非正方形予測ブロックのサンプルを現在のCUのTUの残差ブロックの対応するサンプルに加算することによって、コーディングブロックのサンプルを再構築することができる。
【０５３２】
図34は、柔軟性のある残差木を使用する本開示の技法による、ビデオデータを符号化するためのビデオエンコーダ20の例示的な動作を示すフローチャートである。図34の例では、ビデオエンコーダ20がビデオデータを受信し得る(600)。さらに、ビデオエンコーダ20は、木構造に基づいてCUのTUへとビデオデータのCUを区分することができる(602)。いくつかの例では、ビデオエンコーダ20は、木構造の各々のそれぞれのノードに対して、それぞれのノードのための分割インジケータの値を決定し得る。それぞれのノードのための分割インジケータは、それぞれのノードがどれだけの子ノードを有するかを示し得る。いくつかの事例では、ビデオエンコーダ20は、ビットストリームにおいて、それぞれのノードの分割インジケータの値を明示的に示すシンタックス要素をシグナリングし得る。他の事例では、ビデオデコーダ30は、それぞれのノードのための分割インジケータの値を(たとえば、木構造におけるノードの深度、親ノードの分割ノードの値、それぞれのノードに対応する予測ブロックのサイズおよび/または形状などに基づいて)推測し得る。
【０５３３】
木構造に基づいてCUをCUのTUへと区分することの一部として、ビデオエンコーダ20は、木構造の中のノードが木構造の中で丁度2つの子ノードを有すると決定することができる(604)。この例では、木構造のルートノードはCUのコーディングブロックに対応する。木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。木構造のリーフノードはCUのTUに対応する。
【０５３４】
たとえば、ビデオエンコーダ20は、CUのPUの総数に基づいて、木構造が二分木か四分木かを決定し得る。この例では、CUが2つのPUを有することに基づいて、ノードは木構造の中で丁度2つの子ノードを有する。言い換えると、ビデオエンコーダ20は、CUが丁度2つのPUを有することに基づいて、ノードが木構造の中で丁度2つの子ノードを有すると決定し得る。
【０５３５】
いくつかの例では、ビデオエンコーダ20は、CUが丁度2つのPUを有することに基づいて、ノードが木構造の中で丁度2つの子ノードを有すると決定し得る。
【０５３６】
さらに、図34の例では、CUのTUのうちの少なくとも1つに対して、ビデオエンコーダ20は、変換をTUの残差ブロックに適用して、TUの変換係数のブロックを生成する(606)。たとえば、ビデオエンコーダ20は、離散コサイン変換(DCT)、離散サイン変換(DST)、または別のタイプの変換をTUの残差ブロックに適用して、変換係数のブロックを生成し得る。加えて、ビデオエンコーダ20は、TUの変換係数を示すシンタックス要素をエントロピー符号化することができる(608)。たとえば、ビデオエンコーダ20は、変換係数が0ではないかどうか、変換係数が1より大きいかどうか、変換係数が2より大きいかどうか、変換係数の符号、および変換係数の剰余を示すシンタックス要素を生成し得る。この例では、ビデオエンコーダ20は、これらのシンタックス要素のうちの1つまたは複数にCABACコーディングを適用し得る。
【０５３７】
図35は、柔軟性のある残差木を使用する本開示の技法による、ビデオデータを復号するためのビデオデコーダ30の例示的な動作を示すフローチャートである。図35の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリーム受信することができる(650)。加えて、ビデオデコーダ30は、木構造に基づいてCUのTUへとビデオデータのCUが区分されると決定することができる(652)。いくつかの例では、ビデオデコーダ30は、木構造の各々のそれぞれのノードに対して、それぞれのノードのための分割インジケータの値を決定し得る。それぞれのノードのための分割インジケータは、それぞれのノードがどれだけの子ノードを有するかを示し得る。いくつかの事例では、ビデオデコーダ30は、ビットストリームから、それぞれのノードの分割インジケータの値を明示的に示すシンタックス要素を取得し得る。他の事例では、ビデオデコーダ30は、それぞれのノードのための分割インジケータの値を(たとえば、木構造におけるノードの深度、親ノードの分割ノードの値、それぞれのノードに対応する予測ブロックのサイズおよび/または形状などに基づいて)推測し得る。
【０５３８】
木構造に基づいてCUがCUのTUへと区分されると決定することの一部として、ビデオデコーダ30は、木構造の中のノードが木構造の中で丁度2つの子ノードを有すると決定することができる(654)。この例では、木構造のルートノードはCUのコーディングブロックに対応する。木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。木構造のリーフノードはCUのTUに対応する。本開示の他の箇所で説明されるように、ビデオデコーダ30は、CUの中のPUの数に基づいて、木構造におけるノードの深度に基づいて、シグナリングされるシンタックス要素に基づいて、または他のデータに基づいて、木構造の中のノードが丁度2つの子ノードを有すると決定し得る。
【０５３９】
たとえば、ビデオデコーダ30は、CUのPUの総数に基づいて、木構造が二分木か四分木かを決定し得る。この例では、CUが2つのPUを有することに基づいて、ノードは木構造の中で丁度2つの子ノードを有する。言い換えると、ビデオデコーダ30は、CUが丁度2つのPUを有することに基づいて、ノードが木構造の中で丁度2つの子ノードを有すると決定し得る。
【０５４０】
CUのTUのうちの少なくとも1つに対して、ビデオデコーダ30は、変換をTUの係数ブロックに適用して、TUの残差ブロックを生成することができる(656)。たとえば、ビデオデコーダ30は、逆DCT、逆DST、または別のタイプの変換をTUの係数ブロックに適用して、TUの残差ブロックを生成し得る。加えて、ビデオデコーダ30は、予測ブロックのサンプルをCUのTUの残差ブロックの対応するサンプルに加算することによって、コーディングブロックのサンプルを再構築することができる(658)。
【０５４１】
本開示のいくつかの態様は、説明を目的にHEVC規格の拡張に関して説明されている。しかしながら、本開示において説明される技法は、まだ開発されていない他の標準的なまたは独自のビデオコーディングプロセスを含む、他のビデオコーディングプロセスにとって有用であり得る。
【０５４２】
ビデオコーダは、本開示において説明されるように、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングは、場合により、ビデオ符号化またはビデオ復号を指すことがある。
【０５４３】
例によっては、本明細書において説明された技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行されてよく、追加され、統合され、または完全に除外されてよい(たとえば、説明されたすべての行為またはイベントが技法の実践にとって必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて並行して実行されてよい。
【０５４４】
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  ビデオソース
19  記憶媒体
20  ビデオエンコーダ
22  出力インターフェース
28  入力インターフェース
29  記憶媒体
30  ビデオデコーダ
32  ディスプレイデバイス
50  ブロック
52  サンプル
54  サンプル
60  再構築されたサンプル
62  再構築されたサンプル
70  サンプル
72  予測ブロック
74  イントラ予測方向
78  領域
80  係数行列
82  8×8行列
84  1Dバッファ
90  色差予測ブロック
92  輝度予測ブロック
100  コーディングブロック
110  現在のCU
112  参照ブロック
114  参照ブロック
116  現在のCU
130  変換ブロック
132  変換ブロック
134  変換ブロック
136  変換ブロック
137  変換ブロック
138  変換ブロック
139  変換ブロック
140  変換ブロック
141  変換ブロック
142  変換ブロック
143  変換ブロック
150  変換ブロック
152  変換ブロック
154  変換ブロック
156  変換ブロック
158  変換ブロック
160  変換ブロック
162  変換ブロック
164  変換ブロック
166  変換ブロック
180  TU
182  TU
184  TU
186  TU
188  TU
190  TU
192  TU
194  TU
196  TU
198  TU
200  予測処理ユニット
201  ビデオデータメモリ
202  残差生成ユニット
204  変換処理ユニット
206  量子化ユニット
208  逆量子化ユニット
210  逆変換処理ユニット
212  再構築ユニット
214  フィルタユニット
216  復号ピクチャバッファ
218  エントロピー符号化ユニット
220  インター予測処理ユニット
222  LMベースの符号化ユニット
226  イントラ予測処理ユニット
250  エントロピー復号ユニット
251  ビデオデータメモリ
252  予測処理ユニット
254  逆量子化ユニット
256  逆変換処理ユニット
258  再構築ユニット
260  フィルタユニット
262  復号ピクチャバッファ
264  動き補償ユニット
265  LMベースの復号ユニット
266  イントラ予測処理ユニット
【図１】
2019500778.tif 000090
【図２Ａ】
2019500778.tif 000091
【図２Ｂ】
2019500778.tif 000092
【図３】
2019500778.tif 000093
【図４】
2019500778.tif 000094
【図５】
2019500778.tif 000095
【図６】
2019500778.tif 000096
【図７】
2019500778.tif 000097
【図８】
2019500778.tif 000098
【図９】
2019500778.tif 000099
【図１０】
2019500778.tif 000100
【図１１】
2019500778.tif 000101
【図１２Ａ】
2019500778.tif 000102
【図１２Ｂ】
2019500778.tif 000103
【図１３】
2019500778.tif 000104
【図１４】
2019500778.tif 000105
【図１５】
2019500778.tif 000106
【図１６】
2019500778.tif 000107
【図１７】
2019500778.tif 000108
【図１８】
2019500778.tif 000109
【図１９】
2019500778.tif 000110
【図２０】
2019500778.tif 000111
【図２１】
2019500778.tif 000112
【図２２】
2019500778.tif 000113
【図２３】
2019500778.tif 000114
【図２４】
2019500778.tif 000115
【図２５】
2019500778.tif 000116
【図２６】
2019500778.tif 000117
【図２７】
2019500778.tif 000118
【図２８】
2019500778.tif 000119
【図２９】
2019500778.tif 000120
【図３０】
2019500778.tif 000121
【図３１】
2019500778.tif 000122
【図３２】
2019500778.tif 000123
【図３３】
2019500778.tif 000124
【図３４】
2019500778.tif 000125
【図３５】
2019500778.tif 000126
【国際調査報告】
2019500778.tif 000127
2019500778.tif 000128
2019500778.tif 000129