(57)【要約】  スケーラブルビデオコーディング(SVC)において色域スケーラビリティ(CGS)パラメータおよびテーブルを使用して、ビデオにおけるアーティファクトの発生を識別し低減するための技法について説明する。CGSマッピングテーブルの導出が、色空間におけるピクセル値の各区分に関して実行される。ピクセル値領域は区分に分割され、各々は独立して最適化される。CGSのための色予測技法は、ビデオデータの下位レイヤに関する色域がビデオデータの上位レイヤに関する色域とは異なるときに、レイヤ間参照ピクチャを生成するために、ビデオエンコーダおよび/またはビデオデコーダによって使用され得る。マッピングされた値がエンハンスメントレイヤブロックのためのレイヤ間予測参照として使用されるとき、シーケンスのいくつかのフレーム中にアーティファクトが現れ得る。ビデオエンコーダは、これらのアーティファクトを潜在的に含むブロックを識別し、それらの識別されたブロックにおけるレイヤ間予測を無効化し得る。
2018522463.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
複数のビデオブロックを含むビデオデータを受信するステップであって、前記複数のビデオブロックは、色空間における複数のピクセル値を含む、ステップと、
複数の直方体区分に前記色空間を分割することを含む色域スケーラビリティ(CGS)パラメータを取得するステップであって、前記複数の直方体区分の各々は、前記複数の直方体区分の間の少なくとも1つの区分境界を含む、ステップと、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る特性を含む前記複数の直方体区分におけるピクセル値を識別するステップと、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る特性を含む前記ピクセル値を含む前記複数のビデオブロックのうちのブロックを識別するステップと、
前記識別されたブロックに関してレイヤ間予測モードを無効化するステップと、
前記取得されたCGSパラメータとともにスケーラブルビデオコーディングプロセスを使用して、前記複数のビデオブロックを符号化するステップと
を含む方法。
【請求項２】
前記複数のビデオブロックは、コーディングユニットまたは予測ユニットを含む、請求項1に記載の方法。
【請求項３】
前記少なくとも1つの区分境界は、前記色空間におけるピクセル成分の区分境界を含む、請求項1に記載の方法。
【請求項４】
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの第1の直方体区分に関して、ピクセル値の第1のしきい値を定義するステップと、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの前記第1の直方体区分とは異なる前記複数の直方体区分のうちの第2の直方体区分に関して、ピクセル値の第2のしきい値を定義するステップと
をさらに含み、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る前記ピクセル値を含む前記複数のビデオブロックのうちのブロックを識別するステップは、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの前記第1の直方体区分に関して、ピクセル値の前記第1のしきい値内にあるすべてのピクセル値を収集するステップと、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの前記第2の直方体区分に関して、ピクセル値の前記第2のしきい値内にあるすべてのピクセル値を収集するステップと
を含む、請求項3に記載の方法。
【請求項５】
前記ピクセル成分は、前記色空間のルーマ成分を含む、請求項3に記載の方法。
【請求項６】
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る前記直方体区分におけるピクセル値を識別するステップは、ピクセル値の第1のリスト内には第1の区分境界、またピクセル値の第2のリスト内には第2の区分境界に関して、ピクセル値のしきい値内にあるすべてのピクセル値を収集するステップを含む、請求項1に記載の方法。
【請求項７】
前記CGSパラメータは、前記複数のビデオブロックのうちの第1のビデオブロックにおける最大数のピクセルを含む前記複数の直方体区分のうちの直方体区分に対応する、前記第1のビデオブロックにおけるすべてのピクセルをマッピングするために使用されるCGSマップを含む、請求項1に記載の方法。
【請求項８】
CGSパラメータを取得するステップは、
前記複数の直方体区分のうちの直方体区分のCGSパラメータを、前記直方体区分におけるすべてのピクセル値に基づいて推定するステップと、
前記CGSパラメータの各マッピングされた値と元のエンハンスメントレイヤ参照値との間の複数の差分値を計算するステップと、
前記複数の差分値のうちの差分値がしきい値を上回る、前記直方体区分における前記すべてのピクセル値のうちの少なくとも1つのピクセル値を除外するステップと、
前記直方体区分における除外されていないピクセル値に基づいて、前記直方体区分の前記CGSパラメータを再推定するステップと
をさらに含む、請求項1に記載の方法。
【請求項９】
複数の直方体区分に前記色空間を分割するステップは、
現在ピクチャまでに送られたCGSパラメータに対応するビットの数と前記現在ピクチャまでに送られたビットの総数との比率に少なくとも部分的に基づいて、CGSビットバジェットを計算するステップと、
前記CGSビットバジェットが第1のしきい値を下回るときに、先行ピクチャの直方体区分の第2の数と比較して第1の値だけ、前記複数の直方体区分の数を増やすステップであって、前記第1の値は、複数の直方体区分の前記数に基づいて決定される、ステップと、
前記CGSビットバジェットが第2のしきい値を上回るときに、先行ピクチャの直方体区分の第2の数と比較して第2の値だけ、前記複数の直方体区分の数を減らすステップであって、前記第2の値は、複数の直方体区分の前記数に基づいて決定される、ステップと、
前記CGSビットバジェットが前記第1のしきい値以上または前記第2のしきい値以下であるときに、先行ピクチャの直方体区分の第2の数と比較して第3の値だけ、前記複数の直方体区分の前記数を変更するステップであって、前記第3の値は、複数の直方体区分の前記数に基づいて決定される、ステップと
を含む、請求項1に記載の方法。
【請求項１０】
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの第1の直方体区分に関して、ピクセル値のしきい値を定義するステップ
をさらに含み、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る前記ピクセル値を含む前記複数のビデオブロックのうちのブロックを識別するステップは、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの前記第1の直方体区分に関して、ピクセル値の前記しきい値内にあるすべてのピクセル値をピクセル値の第1のリスト内に収集するステップと、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの第2の直方体区分に関して、ピクセル値の前記しきい値内にあるすべてのピクセル値をピクセル値の第2のリスト内に収集するステップと
を含む、請求項1に記載の方法。
【請求項１１】
前記第1のリスト上の第1のピクセル値と前記第2のリスト上の第2のピクセル値との間の第1の差分を判断するステップと、
前記第1のピクセル値の第1のCGSマッピングされた値と前記第2のピクセル値の第2のCGSマッピングされた値との間の第2の差分を判断するステップと
をさらに含み、
前記識別されたブロックに関して前記レイヤ間予測モードを無効化するステップは、前記第1の差分が第2のしきい値よりも小さく、前記第2の差分が第3のしきい値よりも大きいときに、前記複数のビデオブロックのうちの少なくとも1つのビデオブロックに関して前記レイヤ間予測モードを無効化するステップを含む、請求項10に記載の方法。
【請求項１２】
前記第1のリストおよび前記第2のリスト上のピクセル値の各ペアに関して、
前記第1のリスト上の第1のピクセル値と前記第2のリスト上の第2のピクセル値との間の第1の差分を判断するステップと、
前記第1のピクセル値の第1のCGSマッピングされた値と前記第2のピクセル値の第2のCGSマッピングされた値との間の第2の差分を判断するステップと
をさらに含み、
前記識別されたブロックに関して前記レイヤ間予測モードを無効化するステップは、前記第1の差分が第2のしきい値よりも小さく、前記第2の差分が、前記第1のリストおよび前記第2のリスト上のピクセル値のペアの総数のうちのペアの第4のしきい値を上回る第3のしきい値よりも大きいときに、前記複数のビデオブロックのうちの少なくとも1つのビデオブロックに関して前記レイヤ間予測モードを無効化するステップを含む、請求項10に記載の方法。
【請求項１３】
前記色空間は、YUVまたはYCBCR色空間を含む、請求項1に記載の方法。
【請求項１４】
前記少なくとも1つの区分境界に関して、ピクセル値のしきい値を定義するステップ
をさらに含み、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る前記ピクセル値を含む前記複数のビデオブロックのうちのブロックを識別するステップは、前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの直方体区分に関して、ピクセル値の前記しきい値内にあるすべてのピクセル値を、ピクセル値のリスト内に収集するステップを含む、請求項1に記載の方法。
【請求項１５】
色域スケーラビリティ(CGS)パラメータを取得するステップは、
各色成分に関して前記複数の直方体区分に基づいて、3次元ルックアップテーブルを生成するステップと、
前記複数の直方体区分の各々に属するピクセル間の2乗平均値を最小化するステップと
をさらに含み、
前記複数のビデオブロックを符号化するステップは、
前記複数の直方体区分の各々に関して、前記3次元ルックアップテーブルにおける色値の線形色マッピング関数のためのCGSパラメータを符号化するステップ
をさらに含む、請求項1に記載の方法。
【請求項１６】
データを処理するためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信している1つまたは複数のプロセッサと
を備え、前記1つまたは複数のプロセッサは、
複数のビデオブロックを含む前記ビデオデータを受信することであって、前記複数のビデオブロックは、色空間における複数のピクセル値を含む、受信することと、
複数の直方体区分への前記色空間の分割を介して色域スケーラビリティ(CGS)パラメータを取得することであって、前記複数の直方体区分の各々は、前記複数の直方体区分の間の少なくとも1つの区分境界を含む、取得することと、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る特性を含む前記直方体区分におけるピクセル値を識別することと、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る前記ピクセル値を含む前記複数のビデオブロックのうちのブロックを識別することと、
前記識別されたブロックに関してレイヤ間予測モードを無効化することと、
前記取得されたCGSパラメータとともにスケーラブルビデオコーディングプロセスを使用して、前記複数のビデオブロックを符号化することと
を行うように構成される、デバイス。
【請求項１７】
前記少なくとも1つの区分境界は、前記色空間におけるピクセル成分の区分境界を含む、請求項16に記載のデバイス。
【請求項１８】
前記1つまたは複数のプロセッサは、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの第1の直方体区分に関して、ピクセル値の第1のしきい値を定義することと、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの前記第1の直方体区分とは異なる前記複数の直方体区分のうちの第2の直方体区分に関して、ピクセル値の第2のしきい値を定義することと、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの前記第1の直方体区分に関して、ピクセル値の前記第1のしきい値内にあるすべてのピクセル値を収集することと、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの前記第2の直方体区分に関して、ピクセル値の前記第2のしきい値内にあるすべてのピクセル値を収集することと
を行うようにさらに構成される、請求項17に記載のデバイス。
【請求項１９】
前記ピクセル成分は、前記色空間のルーマ成分を含む、請求項17に記載のデバイス。
【請求項２０】
前記1つまたは複数のプロセッサは、
ピクセル値の第1のリスト内には第1の区分境界、またピクセル値の第2のリスト内には第2の区分境界に関して、ピクセル値のしきい値内にあるすべてのピクセル値を収集する
ようにさらに構成される、請求項16に記載のデバイス。
【請求項２１】
前記CGSパラメータは、前記複数のビデオブロックのうちの第1のビデオブロックにおける最大数のピクセルを含む前記複数の直方体区分のうちの直方体区分に対応する、前記第1のビデオブロックにおけるすべてのピクセルをマッピングするために使用されるCGSマップを含む、請求項16に記載のデバイス。
【請求項２２】
前記1つまたは複数のプロセッサは、
前記複数の直方体区分のうちの直方体区分のCGSパラメータを、前記直方体区分におけるすべてのピクセル値に基づいて推定することと、
前記CGSパラメータの各マッピングされた値と元のエンハンスメントレイヤ参照値との間の複数の差分値を計算することと、
前記複数の差分値のうちの差分値がしきい値を上回る、前記直方体区分における前記すべてのピクセル値のうちの少なくとも1つのピクセル値を除外することと、
前記直方体区分における除外されていないピクセル値に基づいて、前記直方体区分の前記CGSパラメータを再推定することと
を行うようにさらに構成される、請求項16に記載のデバイス。
【請求項２３】
前記1つまたは複数のプロセッサは、
現在ピクチャまでに送られたCGSパラメータに対応するビットの数と前記現在ピクチャまでに送られたビットの総数との比率に少なくとも部分的に基づいて、CGSビットバジェットを計算することと、
前記CGSビットバジェットが第1のしきい値を下回るときに、先行ピクチャの直方体区分の第2の数と比較して第1の値だけ、前記複数の直方体区分の数を増やすことであって、前記第1の値は、複数の直方体区分の前記数に基づいて決定される、増やすことと、
前記CGSビットバジェットが第2のしきい値を上回るときに、先行ピクチャの直方体区分の第2の数と比較して第2の値だけ、前記複数の直方体区分の数を減らすことであって、前記第2の値は、複数の直方体区分の前記数に基づいて決定される、減らすことと、
前記CGSビットバジェットが前記第1のしきい値以上または前記第2のしきい値以下であるときに、先行ピクチャの直方体区分の第2の数と比較して第3の値だけ、前記複数の直方体区分の前記数を変更することであって、前記第3の値は、複数の直方体区分の前記数に基づいて決定される、変更することと
を行うようにさらに構成される、請求項16に記載のデバイス。
【請求項２４】
前記1つまたは複数のプロセッサは、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの第1の直方体区分に関して、ピクセル値のしきい値を定義することと、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの前記第1の直方体区分に関して、ピクセル値の前記しきい値内にあるすべてのピクセル値をピクセル値の第1のリスト内に収集することと、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの第2の直方体区分に関して、ピクセル値の前記しきい値内にあるすべてのピクセル値をピクセル値の第2のリスト内に収集することと
を行うようにさらに構成される、請求項16に記載のデバイス。
【請求項２５】
前記1つまたは複数のプロセッサは、
前記第1のリスト上の第1のピクセル値と前記第2のリスト上の第2のピクセル値との間の第1の差分を判断することと、
前記第1のピクセル値の第1のCGSマッピングされた値と前記第2のピクセル値の第2のCGSマッピングされた値との間の第2の差分を判断することと、
前記第1の差分が第2のしきい値よりも小さく、前記第2の差分が第3のしきい値よりも大きいときに、前記複数のビデオブロックのうちの少なくとも1つのビデオブロックに関して前記レイヤ間予測モードを無効化することと
を行うようにさらに構成される、請求項24に記載のデバイス。
【請求項２６】
前記1つまたは複数のプロセッサは、前記第1のリストおよび前記第2のリスト上のピクセル値の各ペアに関して、
前記第1のリスト上の第1のピクセル値と前記第2のリスト上の第2のピクセル値との間の第1の差分を判断することと、
前記第1のピクセル値の第1のCGSマッピングされた値と前記第2のピクセル値の第2のCGSマッピングされた値との間の第2の差分を判断することと、
前記第1の差分が第2のしきい値よりも小さく、前記第2の差分が、前記第1のリストおよび前記第2のリスト上のピクセル値のペアの総数のうちのペアの第4のしきい値を上回る第3のしきい値よりも大きいときに、前記複数のビデオブロックのうちの少なくとも1つのビデオブロックに関して前記レイヤ間予測モードを無効化することと
を行うようにさらに構成される、請求項24に記載のデバイス。
【請求項２７】
前記1つまたは複数のプロセッサは、
前記少なくとも1つの区分境界に関して、ピクセル値のしきい値を定義することと、
前記少なくとも1つの区分境界に隣接する前記複数の直方体区分のうちの直方体区分に関して、ピクセル値の前記しきい値内にあるすべてのピクセル値をピクセル値のリスト内に収集することと
を行うようにさらに構成される、請求項16に記載のデバイス。
【請求項２８】
前記1つまたは複数のプロセッサは、
各色成分に関して前記複数の直方体区分に基づいて、3次元ルックアップテーブルを生成することと、
前記複数の直方体区分の各々に属するピクセル間の2乗平均値を最小化することと、
前記3次元ルックアップテーブルにおける色値の線形色マッピング関数のためのCGSパラメータを符号化することと
を行うようにさらに構成される、請求項16に記載のデバイス。
【請求項２９】
ビデオデータを符号化するためのデバイスであって、
複数のビデオブロックを含むビデオデータを受信するための手段であって、前記複数のビデオブロックは、色空間における複数のピクセル値を含む、手段と、
複数の直方体区分に前記色空間を分割することを含む色域スケーラビリティ(CGS)パラメータを取得するための手段であって、前記複数の直方体区分の各々は、前記複数の直方体区分の間の少なくとも1つの区分境界を含む、手段と、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る特性を含む前記直方体区分におけるピクセル値を識別するための手段と、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る前記ピクセル値を含む前記複数のビデオブロックのうちのブロックを識別するための手段と、
前記識別されたブロックに関してレイヤ間予測モードを無効化するための手段と、
前記取得されたCGSパラメータとともにスケーラブルビデオコーディングプロセスを使用して、前記複数のビデオブロックを符号化するための手段と
を含むデバイス。
【請求項３０】
実行されると、少なくとも1つのプロセッサに、
複数のビデオブロックを含むビデオデータを受信することであって、前記複数のビデオブロックは、色空間における複数のピクセル値を含む、受信することと、
複数の直方体区分への前記色空間の分割を介して色域スケーラビリティ(CGS)パラメータを取得することであって、前記複数の直方体区分の各々は、前記複数の直方体区分の間の少なくとも1つの区分境界を含む、取得することと、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る特性を含む前記直方体区分におけるピクセル値を識別することと、
前記複数のビデオブロックを復号するときに、前記取得されたCGSパラメータにアーティファクトを生成させ得る前記ピクセル値を含む前記複数のビデオブロックのうちのブロックを識別することと、
前記識別されたブロックに関してレイヤ間予測モードを無効化することと、
前記取得されたCGSパラメータとともにスケーラブルビデオコーディングプロセスを使用して、前記複数のビデオブロックを符号化することと
を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、その内容全体が参照により本明細書にすべて組み込まれる、2015年6月8日に出願された米国仮出願第62/172,779号の利益を主張するものである。
【０００２】
本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラー無線電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、アドバンストビデオコーディング(AVC:Advanced Video Coding)、高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法などのビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、かつ/または記憶することができる。
【０００４】
ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的(ピクチャ内)予測および/または時間的(ピクチャ間)予測を含む。ブロックベースのビデオコーディングのために、ビデオスライス(たとえば、ビデオフレーム、またはビデオフレームの一部分)は、ビデオブロックに区分されることがあり、ビデオブロックは、ツリーブロック、コーディングユニット(CU)、および/またはコーディングノードと呼ばれることもある。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用することができる。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
空間的予測または時間的予測は、コーディングされるべきブロックのための予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コーディングされたブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコーディングされたブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数をもたらすことがあり、その残差変換係数は、次いで量子化され得る。最初に2次元アレイに配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査されることがあり、エントロピーコーディングが、さらなる圧縮を実現するために適用されることがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願第14/512,177号(代理人整理番号第1212-712US01/140193号)
【非特許文献】
【０００７】
【非特許文献１】ITU-R Recommendation BT.709「Parameter values for the HDTV standards for production and international programme exchange」2010年12月
【非特許文献２】ITU-R Recommendation BT.2020「Parameter values for UHDTV systems for production and international programme exchange」2012年4月
【非特許文献３】L. Kerofsky、A. Segall、S.-H. Kim、K. Misra、「Color Gamut Scalable Video Coding:New Results」、JCTVC-L0334、ジュネーブ、スイス、2013年1月14〜23日
【非特許文献４】「Call for Evidence (CfE) for HDR and WCG Video Coding」、MPEG文書M36131、スイス、2015年2月
【発明の概要】
【課題を解決するための手段】
【０００８】
一般に、本開示は、スケーラブルビデオコーディング(SVC)において色域スケーラビリティ(CGS)パラメータおよびテーブルを使用して、ビデオにおけるアーティファクトの発生を識別し低減するための技法について説明する。CGSマッピングテーブルの導出が、色空間(たとえば、YUV領域)におけるピクセル値の各区分に関して実行され得る。ピクセル色領域(すなわち、特定の色コンテナを前提として特定の色を指定するYUVまたはXYZ三刺激値の3次元(3D)領域)は、直方体に分割され、CGSパラメータは、各直方体を最適化することによって取得される。各直方体は、独立して最適化される。2つの隣接する直方体に属し、小さい値差分を有する2つのピクセル値は、大きい2つのピクセル値に関するCGSマッピングテーブルにおけるマッピングされた値の差分を有する。ビデオデータの下位レイヤに関する色域またはダイナミックレンジがビデオデータの上位レイヤに関する色域またはダイナミックレンジとは異なるときに、レイヤ間参照ピクチャを生成するために、ビデオエンコーダおよび/またはビデオデコーダによって、CGSのための色予測技法が使用され得る。マッピングされた値がエンハンスメントレイヤブロックのためのレイヤ間予測参照として使用されるとき、シーケンスのいくつかのフレーム中にアーティファクトが現れ得る。本開示で説明する技法によれば、ビデオエンコーダは、これらのアーティファクトを潜在的に含み得るブロックを識別し、それらの識別されたブロックにおけるレイヤ間予測を無効化し得る。
【０００９】
一例では、本開示は、ビデオデータを符号化する方法を対象とする。本方法は、複数のビデオブロックを含むビデオデータを受信するステップであって、複数のビデオブロックは、色空間における複数のピクセル値を含む、ステップと、複数の直方体区分に色空間を分割することを含む色域スケーラビリティ(CGS)パラメータを取得するステップであって、複数の直方体区分の各々は、複数の直方体区分の間の少なくとも1つの区分境界を含む、ステップと、複数のビデオブロックを復号するときに、取得されたCGSパラメータにアーティファクトを生成させ得る特性を有する直方体区分におけるピクセル値を識別するステップと、複数のビデオブロックを復号するときに、取得されたCGSパラメータにアーティファクトを生成させ得るピクセル値を含む複数のビデオブロックのうちのブロックを識別するステップと、識別されたブロックに関してレイヤ間予測モードを無効化するステップと、取得されたCGSパラメータとともにスケーラブルビデオコーディングプロセスを使用して、複数のビデオブロックを符号化するステップとを含む。
【００１０】
別の例では、本開示は、データを処理するためのデバイスについて説明し、本デバイスは、ビデオデータを記憶するように構成されたメモリと、メモリと通信している1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、複数のビデオブロックを含むビデオデータを受信することであって、複数のビデオブロックは、色空間における複数のピクセル値を含む、受信することと、複数の直方体区分への色空間の分割を介して色域スケーラビリティ(CGS)パラメータを取得することであって、複数の直方体区分の各々は、複数の直方体区分の間の少なくとも1つの区分境界を含む、取得することと、複数のビデオブロックを復号するときに、取得されたCGSパラメータにアーティファクトを生成させ得る特性を有する直方体区分におけるピクセル値を識別することと、複数のビデオブロックを復号するときに、取得されたCGSパラメータにアーティファクトを生成させ得るピクセル値を含む複数のビデオブロックのうちのブロックを識別することと、識別されたブロックに関してレイヤ間予測モードを無効化することと、取得されたCGSパラメータとともにスケーラブルビデオコーディングプロセスを使用して、複数のビデオブロックを符号化することとを行うように構成される。
【００１１】
別の例では、本開示は、ビデオデータを符号化するためのデバイスについて説明し、本デバイスは、複数のビデオブロックを含むビデオデータを受信するための手段であって、複数のビデオブロックは、色空間における複数のピクセル値を含む、手段と、複数の直方体区分に色空間を分割することを含む色域スケーラビリティ(CGS)パラメータを取得するための手段であって、複数の直方体区分の各々は、複数の直方体区分の間の少なくとも1つの区分境界を含む、手段と、複数のビデオブロックを復号するときに、取得されたCGSパラメータにアーティファクトを生成させ得る特性を有する直方体区分におけるピクセル値を識別するための手段と、複数のビデオブロックを復号するときに、取得されたCGSパラメータにアーティファクトを生成させ得るピクセル値を含む複数のビデオブロックのうちのブロックを識別するための手段と、識別されたブロックに関してレイヤ間予測モードを無効化するための手段と、取得されたCGSパラメータとともにスケーラブルビデオコーディングプロセスを使用して、複数のビデオブロックを符号化するための手段とを含む。
【００１２】
別の例では、本開示は、実行されると、少なくとも1つのプロセッサに、複数のビデオブロックを含むビデオデータを受信することであって、複数のビデオブロックは、色空間における複数のピクセル値を含む、受信することと、複数の直方体区分への色空間の分割を介して色域スケーラビリティ(CGS)パラメータを取得することであって、複数の直方体区分の各々は、複数の直方体区分の間の少なくとも1つの区分境界を含む、取得することと、複数のビデオブロックを復号するときに、取得されたCGSパラメータにアーティファクトを生成させ得る特性を有する直方体区分におけるピクセル値を識別することと、複数のビデオブロックを復号するときに、取得されたCGSパラメータにアーティファクトを生成させ得るピクセル値を含む複数のビデオブロックのうちのブロックを識別することと、識別されたブロックに関してレイヤ間予測モードを無効化することと、取得されたCGSパラメータとともにスケーラブルビデオコーディングプロセスを使用して、複数のビデオブロックを符号化することとを行わせる命令を記憶した非一時的コンピュータ可読記憶媒体について説明する。
【００１３】
1つまたは複数の例の詳細が、添付図面および以下の説明に記載される。他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】本開示の技法を実行するように構成され得る例示的なビデオ符号化および復号システムを示すブロック図である。
【図２】3つの異なる次元におけるスケーラビリティの一例を示す概念図である。
【図３】スケーラブルビデオコーディングビットストリームの例示的な構造を示す概念図である。
【図４】ビットストリーム順序での例示的なスケーラブルビデオコーディングアクセスユニットを示す概念図である。
【図５】HEVC(SHVC)エンコーダへの例示的なスケーラブルビデオコーディング拡張を示すブロック図である。
【図６】サンプルビデオシーケンスに対する例示的な色域を示すグラフである。
【図７】高精細(HD)色域BT.709から超高精細(UHD)色域BT.2020への変換を示すブロック図である。
【図８】ベースレイヤ色域およびエンハンスメントレイヤ色域が異なるときにレイヤ間参照ピクチャを生成し得る色予測処理ユニットを含む色域スケーラブルコーダを示すブロック図である。
【図９（ａ）】色域スケーラビリティのための例示的な3Dルックアップテーブルを示す概念図である。
【図９（ｂ）】色域スケーラビリティのための例示的な3Dルックアップテーブルを示す概念図である。
【図１０】HDRデータの例示的な概念を示す概念図である。
【図１１】マルチレイヤビデオコーディングにおいて色域スケーラビリティを使用するときにアーティファクトを識別し除去するための技法を実装し得る例示的なビデオエンコーダを示すブロック図である。
【図１２】マルチレイヤビデオコーディングにおいて色域スケーラビリティを使用するときにアーティファクトを識別し除去するための技法を実装し得るビデオデコーダの一例を示すブロック図である。
【図１３】色空間の直方体区分を示す概念図である。
【図１４】ベースレイヤおよびエンハンスメントレイヤの色空間の直方体区分を示す概念図である。
【図１５】ビデオデータを符号化する例示的な動作を示すフローチャートである。
【図１６】符号化されたビデオにおけるアーティファクトを識別し低減する例示的な動作を示すフローチャートである。
【図１７】符号化されたビデオにおけるアーティファクトを識別し低減する例示的な動作を示すフローチャートである。
【図１８】CGSマッピングを変更する例示的な動作を示すフローチャートである。
【図１９】CGSマッピングを変更する例示的な動作を示すフローチャートである。
【図２０】CGS区分の数を変更する例示的な動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
本開示は、色域スケーラビリティ(CGS)パラメータおよびテーブルの導出を改善するための技法について説明する。いくつかの例では、本開示は、エンコーダの変更、たとえば、いくつかのタイプのブロックの検出およびそれらのブロックにおけるレイヤ間予測の無効化、ならびにCGSテーブルにおける区分の数の更新について説明する。マルチレイヤビデオコーディングにおいて色域スケーラビリティのための3次元(3D)色予測を使用するときのいくつかのブロックにおけるアーティファクト識別およびアーティファクトの低減が開示される。本開示のマルチレイヤビデオコーディング技法は、高効率ビデオコーディング(HEVC)に対するスケーラブルビデオコーディング拡張、マルチビュービデオコーディング拡張、3Dビデオコーディング(すなわち、マルチビュービデオコーディングプラス深度)拡張、または他のマルチレイヤビデオコーディング拡張のいずれかを含む、HEVC規格に従ったものであり得る。ただし、本開示の技法はそのように限定されておらず、任意のスケーラブルビデオコーディング規格またはシステムとともに使用されてよい。本開示の技法は、ビデオデータの下位レイヤに関する色域がビデオデータの上位レイヤに関する色域とは異なるときに、レイヤ間参照ピクチャを生成するために、ビデオエンコーダおよび/またはビデオデコーダによって使用され得る。いくつかの例では、本開示の技法は、ビデオデータの下位レイヤのビット深度がビデオデータの上位レイヤのビット深度とは異なるときにも使用され得る。
【００１６】
色域は、たとえば、ビデオデータのピクチャ、スライス、ブロックまたはレイヤにおける、画像のために再生され得る色の全レンジを含む。通常、マルチレイヤビデオコーディングでは、ビデオデータの下位レイヤ(たとえば、ベースレイヤ)およびビデオデータの上位レイヤ(たとえば、エンハンスメントレイヤ)は、同じ色域、たとえば、高精細(HD)色域BT.709における色データを含む。この場合、ビデオエンコーダおよび/またはビデオデコーダは、ビデオデータの下位レイヤのためのコロケートされた参照ピクチャのアップサンプリングされたバージョンとして、ビデオデータの上位レイヤのためのレイヤ間参照ピクチャを生成し得る。いくつかの例では、ビデオデータの下位レイヤのためのコロケートされた参照ピクチャは、ビデオデータの上位レイヤのためのレイヤ間参照ピクチャとして直接使用され得る。
【００１７】
ただし、いくつかの例では、ビデオデータの下位レイヤが、第1の色域、たとえば、BT.709色コンテナにおける色データを含むことがあり、ビデオデータの上位レイヤが、異なる第2の色域における、たとえば、色域BT.2020色コンテナにおける色データを含むことがある。この例では、ビデオデータの上位レイヤ(たとえば、エンハンスメントレイヤ)のためのレイヤ間参照ピクチャを生成するために、ビデオエンコーダおよび/またはビデオデコーダは最初に、ビデオデータの下位レイヤに関する第1の色域における参照ピクチャの色データを、ビデオデータの上位レイヤに関する第2の色域に変換するために色予測を実行し得る。
【００１８】
ビデオエンコーダおよび/またはビデオデコーダは、色域スケーラビリティのための3Dルックアップテーブルを使用して色予測を実行し得る。いくつかの例では、色成分、たとえば、ルーマ(Y)成分、第1のクロマ(Cr)成分および第2のクロマ(Cb)成分の各々に関して、別個の3Dルックアップテーブルが生成され得る。3Dルックアップテーブルの各々は、ルーマ(Y)次元、第1のクロマ(Cr)次元および第2のクロマ(Cb)次元を含み、3つの独立した色成分(Y、Cr、Cb)を使用してインデックスを作成される。本開示では、「3Dルックアップテーブル」および「CGSマッピングテーブル」という用語は、色域スケーラビリティのための色予測を実行するためのルックアップテーブルを表すために互換的に使用され得る。
【００１９】
ある例では、3Dルックアップテーブルがルーマ成分、第1のクロマ成分および第2のクロマ成分に関して同じサイズを有するように、3Dルックアップテーブルは対称的である。さらに、3Dルックアップテーブルの各次元のサイズが同じになるように、3Dルックアップテーブルは平衡なものである。これは、高い計算複雑性および高いシグナリングコストとともに大きいテーブルサイズを生じさせ得る。たとえば、テーブルサイズは、最大9×9×9または17×17×17であり得る。
【００２０】
2014年10月10日に出願された米国特許出願第14/512,177号(代理人整理番号第1212-712US01/140193号)では、ルーマ成分の場合に第1のクロマ成分および第2のクロマ成分の場合とは異なるサイズを3Dルックアップテーブルが有するような、非対称的かつ/または不平衡な3Dルックアップテーブルをビデオエンコーダおよび/またはビデオデコーダが生成すること可能にする技法が説明されている。ビデオエンコーダおよび/またはビデオデコーダは、ルーマ成分を、第1および第2のクロマ成分とは異なる数のセグメントに区分することによって、この非対称的かつ/または不平衡な3Dルックアップテーブルを生成し得る。一例では、3Dテーブルサイズは、最大8×2×2であり得る。
【００２１】
ビデオエンコーダは、色域スケーラビリティのために生成された3Dルックアップテーブルの区分情報および/または色値を符号化し得る。ビデオデコーダは、色域スケーラビリティを実行するために3Dルックアップテーブルを生成するために区分情報および/または色値を復号し得る。3Dルックアップテーブルは、非対称的かつ/または不平衡な3Dルックアップテーブルを含み得る。たとえば、ビデオデコーダおよび/またはビデオエンコーダは、基本区分値、たとえば、3Dルックアップテーブルに関する最大分割深度(maximal split depth)に従って色成分の各々をいくつかのオクタントに区分し、次いでルーマ区分値に基づいて、ルーマ成分のオクタントの各々をさらに区分することによって、第1および第2のクロマ成分に関するより粗い区分ならびにルーマ成分に関するより細かい区分を有する3Dルックアップテーブルを生成し得る。このようにして、3Dルックアップテーブルのクロマ成分は、より少ないオクタントに区分され(すなわち、より粗く区分され)、3Dルックアップテーブルのルーマ成分は、より多くのオクタントに区分される(すなわち、より細かく区分される)。
【００２２】
色成分の各々は、基本区分値またはルーマ区分値の一方または両方に基づいて、3次元色空間において1つまたは複数のオクタントに区分され得る。本開示では、「オクタント」という用語は、8つの頂点を含む3次元領域と定義される。
【００２３】
さらに、3Dルックアップテーブルの第1のクロマ成分または第2のクロマ成分のうちの少なくとも一方が2つ以上のオクタントに区分されること、すなわち、基本区分値が1よりも大きいことに基づいて、ビデオエンコーダはビデオデコーダに、クロマ成分のうちの一方に関する区分境界をシグナリングし得る。区分境界は、クロマ成分のうちの一方の、2つ以上のオクタントへの不均一な区分を画定する。言い換えれば、クロマ成分の一方または両方は、2つ以上の均一なまたは等しいサイズのオクタントに区分されなくてよい。この場合、クロマ成分のいずれか一方に関して、オクタントのうちの少なくとも1つは、1つまたは複数の他のオクタントとは異なるサイズを有する。一例では、ビデオエンコーダは、クロマ成分のうちの一方が2つ以上のオクタントに区分されるという条件に基づいてのみ、区分境界をシグナリングし得る。それ以外は、区分境界は不必要であり、ビデオデコーダにシグナリングされない。
【００２４】
ビデオエンコーダおよび/またはビデオデコーダは、ルーマ、第1のクロマおよび第2のクロマ色成分の各々のためのオクタントの数、ならびにオクタントの各々に関する色成分値に基づいて、3Dルックアップテーブルを生成し得る。上記で説明したように、場合によっては、3Dルックアップテーブルの色成分のうちの少なくとも1つのためのオクタントの数も、ビデオエンコーダによってビデオデコーダにシグナリングされ得る。ビデオデコーダが3Dルックアップテーブルにおける色値を判断するために、3Dルックアップテーブルにおける色値の線形色マッピング関数のための色マッピング係数が、ビデオエンコーダによってビデオデコーダにシグナリングされ得る。線形色マッピング関数は、ビデオデータの下位レイヤに関する第1の色域における色データを、ビデオデータの上位レイヤに関する第2の色域に変換するために使用され、色マッピング係数は、ビデオデータの下位レイヤおよび上位レイヤの色成分間の重み付け係数である。色成分の各々に関して、色マッピング係数のうちの1つは、ビデオデータの下位レイヤおよび上位レイヤの同じ色成分間の重み付け係数を定義する重要係数(key coefficient)であり得る。
【００２５】
線形色マッピング関数の色マッピング係数は、浮動小数点値として導出され得る。ビットストリームにおいて色マッピング係数をシグナリングする前に、浮動小数点値は整数値に変換され得る。整数値は、浮動小数点値ほど正確ではないことがあるが、整数値は、シグナリングするのがより容易であり、整数演算は、浮動小数点演算ほど計算コストが高くない。変換は、3Dルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも一方に基づいて、整数値のためにビット深度を使用し得る。さらに、色マッピング係数の値は、既定の固定値または3Dルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも一方に依存する値に基づいて所与のレンジ内になるように制限され得る。
【００２６】
ビットストリームにおいて色マッピング係数の元の値と色マッピング係数の予測値との間の残差値が符号化されるように、色マッピング係数のうちの1つまたは複数が予測され得る。たとえば、色成分の各々のための第1のオクタントに関して、線形色マッピング関数の色マッピング係数は、既定の固定値に基づいて予測され得る。一例では、線形色マッピング関数の重要係数は、既定の非ゼロ値に等しい予測値に基づいて予測され得、残存する色マッピング係数は、ゼロに等しい予測値に基づいて予測され得る。この例では、色成分の各々のための残存オクタントの色マッピング係数は、第1のオクタントなどの少なくとも1つの以前のオクタントからの予測値に基づいて予測され得る。場合によっては、色マッピング係数の残差値は、決定された量子化値に基づいて量子化され得る。ビデオエンコーダは、ビデオデコーダが逆量子化を実行して色マッピング係数を適切に復号するために、決定された量子化値をシグナリングし得る。
【００２７】
本開示の技法は、異なるレイヤ(たとえば、ベースレイヤおよびエンハンスメントレイヤ)の間でレイヤ間予測が使用される場合に、コーディングまたは予測ブロックがアーティファクトを有する可能性が高いかどうかを判断するために、CGSマッピングテーブルおよびパラメータを使用することを対象とする。エンコーダは、これらのレイヤの間でレイヤ間予測を使用することができ、色ピクセルの異なる表現(たとえば、異なる色域)の間で色値を変換する(すなわち、色予測)際に(色域スケーラビリティのための3Dルックアップテーブルを含み得る)CGSマップを利用することができる。レイヤ間予測は、コーディングユニット(CU)レベルマージ、予測ユニット(PU)レベルマージ、スキップモード、レイヤ間予測候補に関係する残差予測を含み得る。
【００２８】
高いコーディング効率を達成するために、レイヤ間参照ピクチャを生成するときに特定の色予測または色マッピングが有用である。ビデオエンコーダによるCGSマッピングテーブルの導出は、色空間(たとえば、YUV領域)におけるピクセル色値の各区分に関して実行される。ピクセル色値領域、すなわち、特定の色コンテナを前提として特定の色を指定するYUVまたはXYZ三刺激値の3次元(3D)領域は、直方体に分割され、CGSパラメータは、各直方体に属するピクセル色値に関する2乗平均を最小化することによって取得される。ピクセル色値領域はまた、特定の色を指定するためのXYZ三刺激値を含み得る。したがって、各直方体は、独立して最適化され得る。これは、2つの隣接する区分に属する2ピクセル色値が互いの間の小さい差分を有するが、2つのピクセル色値に関するマッピングされた値が大きい、CGSマッピングテーブルにおけるマッピングをもたし得る。エンコーダが、レイヤ間予測を実行するためにこれらのピクセル値を使用する場合、得られるブロックは、輪郭化アーティファクトなどのアーティファクトを含み得る。これらのアーティファクトは、通常、エンハンスメントレイヤデータが高ダイナミックレンジ(HDR)データであり、ベースレイヤが、HDRコンテンツから手動でグレーディングされた標準ダイナミックレンジ(SDR)データである、スケーラブルコーディングされたデータ(SCD)に現れ得る。手動グレーディングは、HDRコンテンツが、たとえば、自動アルゴリズムによってではなく、カラーリストによってより小さい量を占めるようにグレーディングされる技法を指すために使用され得る。本開示では、「区分」、「オクタント」、「セグメント」、および「直方体」という用語は、3Dルックアップテーブルの色成分の区分された領域を表すために互換的に使用され得る。
【００２９】
本開示の技法によれば、ビデオエンコーダは、3次元色空間における隣接する直方体の1つの境界(または複数の境界)上のピクセル色値(または値のペア)を識別し得る。SCDエンハンスメントレイヤの各ブロック(たとえば、PUまたはCU)に関して、ビデオコーディングデバイスは、SCDベースレイヤに基づいてレイヤ間予測により符号化される場合に、ブロックがアーティファクトを含むことになるかどうかを検出し得る。潜在的アーティファクトが検出された場合、ビデオコーディングデバイスは、上記のアーティファクトが符号化プロセスによって作成されないようにするための1つまたは複数の措置を講じ得る。
【００３０】
一例によれば、アーティファクトを潜在的に含むブロックが検出され、エンコーダレートひずみ(RD)決定においてレイヤ間予測が無効化される。
【００３１】
別の例によれば、直方体の区分境界に関して、しきい値x_aが定義され、区分境界のしきいピクセル値内にあるすべてのピクセル値がリストにおいて収集される。各区分境界に関して、いずれかの区分におけるピクセルが別個に記憶される。
【００３２】
いくつかの例では、ピクセルは、すべての色成分(たとえば、YUV色領域におけるルーマおよび2つのクロマティック成分)においてすべての区分境界に関して収集される。別の例では、ピクセルは、ルーマ軸に沿って区分境界に関して収集されるだけであり得る。たとえば、ピクセル値127および128の間でルーマ区分が発生し、(たとえば、x_aの)しきい値が4である場合、第1の区分に属し、レンジ[124,127]内のルーマ値を有するすべてのピクセルが第1のリストにおいて収集され、第2の区分における、レンジ[128,131]内のルーマ値を有するすべてのピクセルが第2のリストにおいて収集される。さらなる一例では、各区分境界に関して、異なるしきい値(たとえば、x_a1およびx_a2)が、区分境界を共有する区分に使用され得る。
【００３３】
別の例によれば、2つのしきい値x_bおよびx_cが定義され、2つのリストからの成分ピクセル色値、すなわち、第1のリストからの値k1および第2のリストからの値k2の各組合せに関して、2つの比較が行われる(ピクセル値差分チェック)。(ベースレイヤ領域におけるピクセル値差分が比較的小さいことを示す)k1とk2との間の差分がx_bを上回らず、(各区分に関してそれぞれのCGSテーブルを使用した)k1のマッピングされた値とk2のマッピングされた値との間の差分がx_cを上回る場合、ブロックは、アーティファクトを潜在的に含むものとされる。
【００３４】
いくつかの例では、しきい値(x_bおよびx_c)の1つまたは複数のペアが定義され、しきい値の各ペアに関してピクセル色値差分チェックが実行される。チェックのサブセット、または他の例ではチェックのすべてが満たされるとき、ブロックはアーティファクトを潜在的に含むものとされる。たとえば、しきい値の1つのペアは、比較的大きい差分を検出するために適用され得(たとえば、x_bおよびx_cが比較的大きい場合)、しきい値の別のペアは、比較的小さい変化を検出するために適用され得る(たとえば、x_bおよびx_cが比較的小さい場合)。別の例では、ピクセル色値ペアのしきい値数tは、上記のピクセル条件チェックを満たすペアの数がtを上回るときのみ、ブロックがアーティファクトを潜在的に含むものとされるように、定義される。さらなる一例では、ピクセル色値差分チェックは、区分境界のサブセットに関してのみ実行される。たとえば、中間レンジ[256,384]内のルーマ値におけるアーティファクトは、特に目につくことがあり、ピクセル値チェックのいくつかは、区分境界がこのレンジに入るときのみ実行される。別の例では、しきい値(x_b、x_c)の1つのペアに関するピクセル値差分チェックは、ブロックのピクセル値の分散があるしきい値を上回らないときのみ適用される。低いピクセル分散は、アーティファクトが目につく可能性が高い画像の比較的平坦な領域を示し得る。高いピクセル値差分を有することによって近似され得る比較的平坦ではない領域では、アーティファクトはさほど目につかないことがある。
【００３５】
別の例によれば、区分におけるピクセル色値に使用されるCGSマッピングは、その特定のブロックにおける最大数のピクセルを含む区分に対応するCGSマップが、ブロックにおけるすべてまたは実質的にすべてのピクセル色値をマッピングするために使用されるように、変更される。
【００３６】
別の例によれば、CGSパラメータの推定は、外れ値であるピクセル色値を2乗平均推定が含まないように更新される。たとえば、第1のパスが区分のCGSパラメータの推定を、区分におけるすべてのピクセル色値に基づいて行うように、2パス推定方法が使用され得る。第2のパスでは、誤差(たとえば、対応するマッピングされた値と元のエンハンスメントレイヤ参照との間の差分)が特定のしきい値を上回るすべてのピクセル色値が除外され、区分におけるピクセル色値の残りのみが、区分のCGSパラメータを計算するために使用される。この例は、よりロバストなCGSパラメータ推定に対応し得る。
【００３７】
別の例によれば、CGSパラメータは、CGSパラメータのビットレートがある値を上回らないことを考慮して(区分が多くなるほど、マッピングされたピクチャの推定が良くなるので)より良いマッピング関数を利用するために、より積極的に更新され得る。CGS区分の数は、CGSビットバジェット、すなわち、現在ピクチャまでに送られたCGSパラメータに対応するビットの数と現在ピクチャまでに送られたビットの総数との比率に基づいて更新される。区分の数のより積極的な更新は、CGSビットバジェットがあるしきい値を下回るときに、先行ピクチャに関して最善の数になるように推定された区分の数に基づいて、区分の数が増やされるように設計される。CGSビットバジェットがあるしきい値を下回るとき、たとえば、先行ピクチャの区分の数が3以下であった場合、現在ピクチャの区分の数は、たとえば、2だけ増やされ得る。ビットバジェットがより少ない量だけ低下した場合、区分の数は、より少ない量だけ、たとえば1だけ増やされる。同様に、CGSビットバジェットがしきい値を上回るとき、区分の数は、先行ピクチャに関する区分の最善の数に基づいて減らされる。さらに、CGSビットバジェットがこれら2つのしきい値の間にあるとき、現在の区分の数が、大きい(または小さい)数の区分が現在あるかどうかに基づいて調整される場合、たとえば、区分の数が6よりも大きいとき、数を1だけ減らし、区分の数が3よりも小さい場合、区分の数を1だけ増やす。いくつかの例では、区分の数を導出するために使用される変数が、区分の数の代わりに使用され得る。
【００３８】
ビデオコーディング規格には、ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、およびITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られている)(それのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含む)が含まれる。
【００３９】
加えて、新しいビデオコーディング規格、すなわち高効率ビデオコーディング(HEVC)が、ITU-T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT-VC)によって最近開発された。以下ではHEVC WDと呼ばれる、最新のHEVCドラフト仕様は、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/18_Sapporo/wg11/JCTVC-R1013-v6.zipから入手可能である。
【００４０】
HEVCに対するマルチビュー拡張、すなわちMV-HEVC、およびより高度な3DビデオコーディングのためのHEVC拡張(3D-HEVC)がJCT-3Vによって開発されている一方で、HEVCに対するスケーラブルビデオコーディング拡張、すなわちSHVCがJCT-VCによって開発されている。HEVC WDはまた、MV-HEVCおよびSHVCの最新の仕様を含む。以下で3D-HEVC WD1と呼ばれる、3D-HEVCの最新のWDは、http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/11_Geneva/wg11/JCT3V-K1001-v9.zipから入手可能である。
【００４１】
図1は、3Dルックアップテーブルベースの色域スケーラビリティビデオコーディングプロセスにおけるアーティファクトの検出および除去のための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを提供するソースデバイス12を含む。具体的には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広い範囲のデバイスのうちのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応し得る。
【００４２】
宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化されたビデオデータを受信することができる。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12がリアルタイムで宛先デバイス14に符号化されたビデオデータを直接送信することを可能にする通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの任意のワイヤレス通信媒体もしくはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、または、ソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含み得る。
【００４３】
いくつかの例では、符号化されたデータは、出力インターフェース22から記憶デバイスに出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイディスク、DVD、CD-ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または、符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、様々な分散されたまたは局所的にアクセスされるデータ記憶媒体のうちのいずれかを含み得る。さらなる一例では、記憶デバイスは、ソースデバイス12によって生成された符号化されたビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、宛先デバイス14にその符号化されたビデオデータを送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブが含まれる。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して、符号化されたビデオデータにアクセスすることができる。これには、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せが含まれ得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００４４】
本開示の技法は、必ずしもワイヤレスの適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上へ符号化されるデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のうちのいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向ビデオ送信をサポートするように構成され得る。
【００４５】
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、ビデオデータを並行して処理するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または配置を含む場合がある。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受信することができる。同様に、宛先デバイス14は、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースすることができる。
【００４６】
図1の示されるシステム10は一例にすぎない。ビデオデータを並行して処理するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、技法はまた、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコーディングされたビデオデータを生成するようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化および復号構成要素を含むように実質的に対称的な方法で動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオ放送、またはビデオ電話のための、ビデオデバイス12、14間の一方向または双方向ビデオ送信をサポートし得る。
【００４７】
ソースデバイス12のビデオソース18は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてコンピュータグラフィックスベースのデータを、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータ生成されたビデオの組合せを生成することができる。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成することができる。しかしながら、上述のように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤードの適用例に適用され得る。各場合において、キャプチャされた、事前にキャプチャされた、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。次いで、符号化されたビデオ情報は、出力インターフェース22によって、コンピュータ可読媒体16に出力され得る。
【００４８】
コンピュータ可読媒体16は、ワイヤレス放送もしくはワイヤードネットワーク送信などの一時的媒体、または、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、ソースデバイス12から符号化されたビデオデータを受信することができ、たとえば、ネットワーク送信を介して、宛先デバイス14に符号化されたビデオデータを提供することができる。同様に、ディスクスタンプ設備などの媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化されたビデオデータを受信することができ、符号化されたビデオデータを含むディスクを製造することができる。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００４９】
宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、ビデオデコーダ30によっても使用される、シンタックス情報を含む場合があり、シンタックス情報は、ブロックおよび他のコーディングされたユニット、たとえばピクチャグループ(GOP)の特性および/または処理を記述するシンタックス要素を含む。ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのうちのいずれかを備え得る。
【００５０】
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を適切な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてよく、これらのいずれもが、それぞれのデバイスの中で複合エンコーダ/デコーダ(コーデック)の一部として統合されてもよい。
【００５１】
いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、ISO/IEC MPEG-4 VisualおよびITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られている)(それのスケーラブルビデオコーディング(SVC)拡張、マルチビュービデオコーディング(MVC)拡張、およびMVCベースの3次元ビデオ(3DV)拡張を含む)などのビデオ圧縮規格に従って動作する。いくつかの事例では、MVCベースの3DVに適合するビットストリームは常に、MVCプロファイル、たとえば、ステレオハイプロファイルに準拠するサブビットストリームを含む。さらに、H.264/AVCに対する3DVコーディング拡張、すなわちAVCベースの3DVを生成するための作業が進行中である。ビデオコーディング規格の他の例としては、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 Visualがある。
【００５２】
図1の例では、ビデオエンコーダ20およびビデオデコーダ30は、ITU-T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT-VC)によって確定された高効率ビデオコーディング(HEVC)規格に従って動作し得る。
【００５３】
HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれることもある。ピクチャは、SL、SCb、およびSCrと示される3つのサンプルアレイを含み得る。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書で「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであることがあり、ルーマサンプルのアレイだけを含むことがある。
【００５４】
ビデオエンコーダ20は、コーディングツリーユニット(CTU)のセットを生成し得る。CTUの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの2つの対応するコーディングツリーブロックと、コーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャ、または3つの別個の色平面を有するピクチャでは、CTUは、単一のコーディングツリーブロックと、コーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)と呼ばれることもある。HEVCのCTUは、H.264/AVCなどの他のビデオコーディング規格のマクロブロックと概して類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含み得る。スライスは、ラスター走査において連続的に順序付けられた整数個のCTUを含み得る。
【００５５】
本開示は、1つまたは複数のサンプルブロックのサンプルをコーディングするために使用される1つまたは複数のサンプルブロックおよびシンタックス構造を指すために、「ビデオユニット」または「ビデオブロック」という用語を使用する場合がある。例示的なタイプのビデオユニットは、HEVCにおけるCTU、CU、PU、変換ユニット(TU)、または他のビデオコーディング規格におけるマクロブロック、マクロブロック区分などを含み得る。
【００５６】
コーディングされたCTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロック上で4分木区分を再帰的に実行してコーディングツリーブロックをコーディングブロックに分割し得、したがって、「コーディングツリーユニット」という名前である。コーディングブロックは、サンプルのN×Nブロックである。CUは、ルーマサンプルアレイ、Cbサンプルアレイ、およびCrサンプルアレイを有するピクチャの、ルーマサンプルのコーディングブロック、およびクロマサンプルの2つの対応するコーディングブロック、ならびにコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。モノクロームピクチャ、または3つの別個の色平面を有するピクチャでは、CUは、単一のコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００５７】
ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの、長方形(すなわち、正方形または非正方形)のブロックであり得る。CUの予測ユニット(PU)は、ピクチャの、ルーマサンプルの予測ブロック、クロマサンプルの2つの対応する予測ブロック、および予測ブロックサンプルを予測するために使用されるシンタックス構造を含むことができる。モノクロームピクチャ、または3つの別個の色平面を有するピクチャでは、PUは、単一の予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロックの予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成することができる。
【００５８】
ビデオエンコーダ20は、PUに関する予測ブロックを生成するために、イントラ予測またはインター予測を使用し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUに関連するピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。
【００５９】
ビデオエンコーダ20がPUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、PUに関連するピクチャ以外の1つまたは複数のピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。インター予測は、単方向インター予測(すなわち、単予測)または双方向インター予測(すなわち、双予測)であり得る。単予測または双予測を実行するために、ビデオエンコーダ20は、現在スライスに関する第1の参照ピクチャリスト(RefPicList0)および第2の参照ピクチャリスト(RefPicList1)を生成し得る。
【００６０】
参照ピクチャリストの各々は、1つまたは複数の参照ピクチャを含み得る。単予測を使用するとき、ビデオエンコーダ20は、参照ピクチャ内の参照ロケーションを決定するために、RefPicList0およびRefPicList1の一方または両方において参照ピクチャを探索し得る。さらに、単予測を使用するとき、ビデオエンコーダ20は、参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、PUに関する予測サンプルブロックを生成し得る。その上、単予測を使用するとき、ビデオエンコーダ20は、PUの予測ブロックと参照ロケーションとの間の空間変位を示す単一の動きベクトルを生成し得る。PUの予測ブロックと参照ロケーションとの間の空間変位を示すために、動きベクトルは、PUの予測ブロックと参照ロケーションとの間の水平変位を明示する水平成分を含むことができ、PUの予測ブロックと参照ロケーションとの間の垂直変位を明示する垂直成分を含むことができる。
【００６１】
PUを符号化するために双予測を使用するとき、ビデオエンコーダ20は、RefPicList0中の参照ピクチャ中の第1の参照ロケーションおよびRefPicList1中の参照ピクチャ中の第2の参照ロケーションを決定し得る。次いで、ビデオエンコーダ20は、第1および第2の参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、PUに関する予測ブロックを生成し得る。その上、PUを符号化するために双予測を使用するとき、ビデオエンコーダ20は、PUのサンプルブロックと第1の参照ロケーションとの間の空間変位を示す第1の動きおよびPUの予測ブロックと第2の参照ロケーションとの間の空間変位を示す第2の動きを生成し得る。
【００６２】
ビデオエンコーダ20がCUの1つまたは複数のPUに関する予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成した後、ビデオエンコーダ20は、CUに関するルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックのうちの1つの中のルーマサンプルとCUの元のルーマコーディングブロックの中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ20は、CUに関するCb残差ブロックを生成することができる。CUのCb残差ブロックの中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルと、CUの元のCbコーディングブロックの中の対応するサンプルとの間の差分を示すことができる。ビデオエンコーダ20は、CUに関するCr残差ブロックを生成することもできる。CUのCr残差ブロックの中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルと、CUの元のCrコーディングブロックの中の対応するサンプルとの間の差分を示すことができる。
【００６３】
さらに、ビデオエンコーダ20は、四分木区分を使用して、CUのルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロックを1つまたは複数のルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに分解することができる。変換ブロックは、同じ変換が適用されるサンプルの長方形ブロックであり得る。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。モノクロームピクチャ、または3つの別個の色平面を有するピクチャでは、TUは、単一の変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連付けられ得る。TUに関連するルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックとすることができる。Cb変換ブロックは、CUのCb残差ブロックのサブブロックとすることができる。Cr変換ブロックは、CUのCr残差ブロックのサブブロックとすることができる。
【００６４】
ビデオエンコーダ20は、TUのルーマ変換ブロックに1つまたは複数の変換を適用して、TUに関するルーマ係数ブロックを生成することができる。係数ブロックは、変換係数の2次元アレイとすることができる。変換係数は、スカラ量とすることができる。ビデオエンコーダ20は、TUのCb変換ブロックに1つまたは複数の変換を適用して、TUに関するCb係数ブロックを生成することができる。ビデオエンコーダ20は、TUのCr変換ブロックに1つまたは複数の変換を適用して、TUに関するCr係数ブロックを生成することができる。
【００６５】
係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後に、ビデオエンコーダ20は、係数ブロックを量子化することができる。量子化は、一般に、変換係数が量子化されて、場合によっては、変換係数を表すために使用されるデータの量を低減し、さらなる圧縮をもたらすプロセスを指す。さらに、ビデオエンコーダ20は、ピクチャのCUのTUの変換ブロックを再構成するために、変換係数を逆量子化し、変換係数に逆変換を適用することができる。ビデオエンコーダ20は、CUのTUの再構成された変換ブロックおよびCUのPUの予測ブロックを使用して、CUのコーディングブロックを再構成し得る。ピクチャの各CUのコーディングブロックを再構成することによって、ビデオエンコーダ20は、ピクチャを再構成し得る。ビデオエンコーダ20は、再構成されたピクチャを復号ピクチャバッファ(DPB)に記憶し得る。ビデオエンコーダ20は、DPB中の再構成されたピクチャを、インター予測およびイントラ予測に使用することができる。
【００６６】
ビデオエンコーダ20が係数ブロックを量子化した後に、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行することができる。ビデオエンコーダ20は、エントロピー符号化されたシンタックス要素をビットストリームの中に出力することができる。
【００６７】
ビデオエンコーダ20は、コーディングされたピクチャの表現および関連するデータを形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、ネットワーク抽象化レイヤ(NAL)ユニットのシーケンスを備え得る。NALユニットの各々は、NALユニットヘッダを含み、ローバイトシーケンスペイロード(RBSP)をカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化されている整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPは、0個のビットを含む。
【００６８】
異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化し得る。たとえば、第1のタイプのNALユニットはピクチャパラメータセット(PPS)のためのRBSPをカプセル化することがあり、第2のタイプのNALユニットはコーディングされたスライスのためのRBSPをカプセル化することがあり、第3のタイプのNALユニットは補足エンハンスメント情報(SEI)のためのRBSPをカプセル化することがあり、以下同様である。PPSとは、0個以上のコーディングされたピクチャ全体に適用するシンタックス要素を含み得るシンタックス構造である。(パラメータセットおよびSEIメッセージのためのRBSPではなく)ビデオコーディングデータのためのRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれ得る。コーディングされたスライスをカプセル化するNALユニットは、本明細書ではコーディングされたスライスNALユニットと呼ばれ得る。コーディングされたスライスのためのRBSPは、スライスヘッダおよびスライスデータを含み得る。
【００６９】
ビデオデコーダ30は、ビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームを構文解析して、ビットストリームからシンタックス要素を復号し得る。ビデオデコーダ30は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは全般に、ビデオエンコーダ20によって実行されるプロセスと逆であり得る。たとえば、ビデオデコーダ30は、PUの動きベクトルを使用して、現在CUのPUに関する予測ブロックを決定し得る。ビデオデコーダ30は、PUの1つまたは複数の動きベクトルを使用して、PUに関する予測ブロックを生成し得る。
【００７０】
加えて、ビデオデコーダ30は、現在CUのTUに関連する係数ブロックを逆量子化し得る。ビデオデコーダ30は、係数ブロックに対して逆変換を実行して、現在CUのTUに関連する変換ブロックを再構成し得る。ビデオデコーダ30は、現在CUのPUに関する予測サンプルブロックのサンプルを、現在CUのTUの変換ブロックの対応するサンプルに加算することによって、現在CUのコーディングブロックを再構成し得る。ピクチャのCUごとにコーディングブロックを再構成することによって、ビデオデコーダ30はピクチャを再構成し得る。ビデオデコーダ30は、復号されたピクチャを、出力するために、かつ/または他のピクチャを復号する際に使用するために、復号ピクチャバッファに記憶し得る。
【００７１】
MV-HEVC、3D-HEVC、およびSHVCでは、ビデオエンコーダは、一連のネットワークアブストラクションレイヤ(NAL)ユニットを備えるマルチレイヤビットストリームを生成し得る。ビットストリームの異なるNALユニットは、ビットストリームの異なるレイヤに関連付けられ得る。レイヤは、同じレイヤ識別子を有するビデオコーディングレイヤ(VCL)NALユニットおよび関連する非VCL NALユニットのセットとして定義され得る。レイヤは、マルチビュービデオコーディングにおけるビューと等価であり得る。マルチビュービデオコーディングでは、レイヤは、異なる時間インスタンスを有する同じレイヤのすべてのビュー成分を含むことが可能である。各ビュー成分は、特定の時間インスタンスにおける特定のビューに属するビデオシーンのコーディングされたピクチャであり得る。3Dビデオコーディングでは、レイヤは、特定のビューのすべてのコーディングされた深度ピクチャまたは特定のビューのコーディングされたテクスチャピクチャのいずれかを含み得る。同様に、スケーラブルビデオコーディングの文脈では、レイヤは通常、他のレイヤの中のコーディングされたピクチャとは異なるビデオ特性を有する、コーディングされたピクチャに対応する。そのようなビデオ特性は通常、空間分解能および品質レベル(信号対雑音比)を含む。HEVCおよびその拡張では、特定の時間レベルを有するピクチャのグループをサブレイヤとして定義することによって、時間スケーラビリティが1つのレイヤ内で達成され得る。
【００７２】
ビットストリームの各々のそれぞれのレイヤについて、下位レイヤ中のデータは、どの上位レイヤ中のデータも参照せずに復号され得る。スケーラブルビデオコーディングでは、たとえば、ベースレイヤ中のデータは、エンハンスメントレイヤ中のデータを参照せずに復号され得る。NALユニットは、単一のレイヤのデータをカプセル化するだけである。SHVCでは、ビデオデコーダがビュー中のピクチャをいずれの他のレイヤのデータも参照せずに復号できる場合、そのビューは「ベースレイヤ」と呼ばれ得る。ベースレイヤは、HEVCベース仕様に適合し得る。したがって、ビットストリームの最上位の残りのレイヤのデータをカプセル化するNALユニットは、ビットストリームの残りのレイヤ中のデータの復号可能性に影響することなく、ビットストリームから削除され得る。MV-HEVCおよび3D-HEVCでは、上位レイヤが追加のビュー成分を含み得る。SHVCでは、上位レイヤが、信号対雑音比(SNR)エンハンスメントデータ、空間エンハンスメントデータ、および/または時間エンハンスメントデータを含み得る。
【００７３】
いくつかの例では、上位レイヤにおけるデータは、1つまたは複数の下位レイヤにおけるデータを参照して復号され得る。下位レイヤは、レイヤ間予測を使用して上位レイヤを圧縮するために参照ピクチャとして使用され得る。下位レイヤのデータは、上位レイヤと同じ分解能を有するようにアップサンプリングされ得る。一般に、ビデオエンコーダ20およびビデオデコーダ30は、1つまたは複数の隣接ピクチャとは対照的に参照ピクチャとして1つまたは複数のアップサンプリングされた下位レイヤが使用され得ることを除いて、上述したインター予測と同様の方法でレイヤ間予測を実行し得る。
【００７４】
ビデオエンコーダ20および/またはビデオデコーダ30は、ルーマ、第1のクロマおよび第2のクロマ色成分の各々のためのオクタントの数、ならびにオクタントの各々に関する色値に基づいて、色域スケーラビリティのための3Dルックアップテーブルを生成し得る。場合によっては、3Dルックアップテーブルの色成分のうちの少なくとも1つのためのオクタントの数も、CGSパラメータとしてビデオエンコーダ20によってビデオデコーダ30にシグナリングされ得る。ビデオデコーダ30が3Dルックアップテーブルにおける色値を判断するために、3Dルックアップテーブルにおける色値の線形色マッピング関数のための色マッピング係数が、CGSパラメータを介してビデオエンコーダ20によってビデオデコーダ30にシグナリングされ得る。ビデオエンコーダ20は、色領域(たとえば、YUV領域)におけるピクセル値の各区分に関して、色領域を直方体に分割し、エンハンスメントレイヤピクチャの対応するピクセルの値に対して、各直方体に属するピクセルに関するマッピングされた値の2乗平均誤差を最小化して、CGSマッピングテーブルを導出することができる。各直方体が独立して最適化されるので、ビデオエンコーダ20によって符号化され、ビデオデコーダ30によって復号されたビデオにアーティファクト(たとえば、輪郭化アーティファクト)が現れ得る。
【００７５】
ビデオエンコーダ20は、潜在的アーティファクトを検出し、そのようなアーティファクトを最小化または防止するためのコーディング決定を行うことによって、そのようなアーティファクトを最小化することができる。たとえば、ビデオエンコーダ20は、ビデオデコーダ30によって復号され得るアーティファクトを作成し得るピクセル値を利用する各ブロックに関して、レイヤ間予測を無効化することができる。
【００７６】
ビデオエンコーダ20はまた、その特定のブロックにおける最大数のピクセル色値を含む区分に対応するCGSマッピングテーブルが、ブロックにおけるすべてのピクセル色値をマッピングするために使用されるように、ピクセル色値に使用されるCGSマッピングを変更することができる。
【００７７】
ビデオエンコーダ20はまた、CGSパラメータのより良好な推定を通じてアーティファクトを回避するマルチパス方法を使用し得る。CGSパラメータは、外れ値であるピクセル色値を2乗平均推定が含まないように更新され得る。たとえば、ビデオエンコーダ20が第1のパスにおいて、区分のCGSパラメータの推定を、区分におけるすべてのピクセル色値に基づいて行うように、2パス推定方法が使用され得る。次いで、第2のパスにおいて、誤差が特定のしきい値を上回るすべてのピクセル色値が除外され、区分におけるピクセル値の残りのみが、区分のCGSパラメータを計算するために使用される。
【００７８】
ビデオエンコーダ20はまた、CGSビットバジェットに基づいてCGS区分を更新することによってCGSパラメータを更新し、マッピング関数を利用することができる。たとえば、CGSビットバジェットが第1のしきい値を下回るとき、区分の数は、先行ピクチャに関して推定された区分に数に基づいて増やされ得る。CGSビットバジェットが第2のしきい値を上回るとき、区分の数は、先行ピクチャに関する区分の数に基づいて減らされ得る。CGSビットバジェットがこれら2つのしきい値の間にあるとき、現在の区分の数は、区分の数がより大きいか、それとも小さいかに基づいて調整され得る。
【００７９】
図2は、3つの異なる次元におけるスケーラビリティの一例を示す概念図である。スケーラブルビデオコーディング構造では、スケーラビリティは3つの次元において有効化され得る。図2の例では、スケーラビリティは、空間(S)次元100、時間(T)次元102、および信号対雑音比(SNR)または品質(Q)次元104において有効化される。時間(T)次元102では、たとえば、7.5Hz(T0)、15Hz(T1)または30Hz(T2)によるフレームレートが時間スケーラビリティによってサポートされ得る。空間スケーラビリティがサポートされるとき、たとえば、1/4共通中間フォーマット(QCIF)(S0)、共通中間フォーマット(CIF)(S1)および4×CIF(4CIF)(S2)などの異なる分解能が空間次元100において有効化される。特定の空間分解能およびフレームレートごとに、ピクチャ品質を改善するために、SNR次元104においてSNRレイヤ(Q1)が追加され得る。追加の分解能のフォーマットは、16×CIF(16CIF)を含む。CIFは、ビデオ信号におけるYCbCrシーケンスのピクセルにおける水平および垂直分解能を規格化するために使用されるフォーマットである。当業者によって理解されるように、CIFの代わりに他の分解能規格が使用されてよい。
【００８０】
そのようなスケーラブルな方法でビデオコンテンツが符号化されると、たとえば、クライアントまたは送信チャネルに応じた、アプリケーション要件に従って実際の配信されるコンテンツを適応させるために抽出器ツールが使用され得る。図2に示す例では、各立方体は、同じフレームレート(時間レベル)、空間分解能、およびSNRレイヤによるピクチャを含む。次元100、102または104のいずれかにおいて立方体(すなわち、ピクチャ)を追加することによって、より良好な表現が達成され得る。有効化された2つ、3つまたはさらに多くのスケーラビリティがあるとき、複合スケーラビリティがサポートされる。
【００８１】
H.264に対するSVC拡張またはSHVCなどのスケーラブルビデオコーディングでは、最下位空間およびSNRレイヤを有するピクチャは、単一レイヤビデオコーデックに適合し、最下位時間レベルにおけるピクチャは、時間ベースレイヤを形成し、これは上位時間レベルにおけるピクチャにより向上させられ得る。ベースレイヤに加えて、いくつかの空間および/またはSNRエンハンスメントレイヤが、空間および/または品質スケーラビリティをもたらすために追加され得る。各空間またはSNRエンハンスメントレイヤ自体は、ベースレイヤと同じ時間スケーラブル構造を有し、時間的にスケーラブルであり得る。1つの空間またはSNRエンハンスメントレイヤに関して、それが依存する下位レイヤは、その特定の空間またはSNRエンハンスメントレイヤのベースレイヤと呼ばれ得る。
【００８２】
図3は、スケーラブルビデオコーディングビットストリームの例示的な構造110を示す概念図である。ビットストリーム構造110は、ピクチャまたはスライスI0、P4およびP8を含むレイヤ0 112と、ピクチャまたはスライスB2、B6およびB10を含むレイヤ1 114とを含む。さらに、ビットストリーム構造110は、ピクチャ0、2、4、6、8および10をそれぞれ含むレイヤ2 116およびレイヤ3 117と、ピクチャ0〜11を含むレイヤ4 118とを含む。
【００８３】
ベースレイヤは、最下位空間および品質レイヤ(すなわち、QCIF分解能によるレイヤ0 112およびレイヤ1 114におけるピクチャ)を有する。それらの間で、最下位時間レベルのそれらのピクチャは、図3のレイヤ0 112に示すように、時間ベースレイヤを形成する。時間ベースレイヤ(レイヤ0)112は、上位時間レベルのピクチャ、たとえば、15Hzのフレームレートによるレイヤ1 114または30Hzのフレームレートによるレイヤ4 118により向上させられ得る。
【００８４】
ベースレイヤ112、114に加えて、いくつかの空間および/またはSNRエンハンスメントレイヤが、空間および/または品質スケーラビリティをもたらすために追加され得る。たとえば、CIF分解能によるレイヤ2 116は、ベースレイヤ112、114に対する空間エンハンスメントレイヤであり得る。別の例では、レイヤ3 117は、ベースレイヤ112、114およびレイヤ2 116に対するSNRエンハンスメントレイヤであり得る。図3に示すように、各空間またはSNRエンハンスメントレイヤ自体は、ベースレイヤ112、114と同じ時間スケーラブル構造を有し、時間的にスケーラブルであり得る。さらに、エンハンスメントレイヤは、空間分解能とフレームレートの両方を向上させ得る。たとえば、レイヤ4 118は、4CIF分解能エンハンスメントレイヤを提供し、これはさらに、フレームレートを15Hzから30Hzに上昇させる。
【００８５】
図4は、ビットストリーム順序での例示的なスケーラブルビデオコーディングアクセスユニット120A〜120E(「アクセスユニット120」)を示す概念図である。図4に示すように、同じ時間インスタンスにおけるコーディングされたピクチャまたはスライスは、ビットストリーム順序で連続的であり、H.264に対するSVC拡張またはSHVCなどのスケーラブルビデオコーディング規格の文脈において1つのアクセスユニットを形成する。アクセスユニット120は次いで、表示順序とは異なる、たとえば、アクセスユニット120間の時間予測関係によって決定され得る復号順序に従う。
【００８６】
たとえば、アクセスユニット120Aは、レイヤ0 112からのピクチャI0、レイヤ2 116からのピクチャ0、レイヤ3 117からのピクチャ0、およびレイヤ4 118からのピクチャ0を含む。アクセスユニット120Bは、レイヤ0 112からのピクチャP4、レイヤ2 116からのピクチャ4、レイヤ3 117からのピクチャ4、およびレイヤ4 118からのピクチャ4を含む。アクセスユニット120Cは、レイヤ1 114からのピクチャB2、レイヤ2 116からのピクチャ2、レイヤ3 117からのピクチャ2、およびレイヤ4 118からのピクチャ2を含む。アクセスユニット120Dは、レイヤ4 118からのピクチャ1を含み、アクセスユニット120Eは、レイヤ4 118からのピクチャ3を含む。
【００８７】
図5は、例示的な3レイヤSHVCエンコーダ122を示すブロック図である。図5に示すように、SHVCエンコーダ122は、ベースレイヤエンコーダ124、第1のエンハンスメントレイヤエンコーダ125および第2のエンハンスメントレイヤエンコーダ126を含む。高レベルシンタックス専用SHVCでは、HEVC単一レイヤコーディングと比較して、新しいブロックレベルコーディングツールがない。SHVCでは、スライス以上のレベルのシンタックス変更およびピクチャレベルの動作、たとえばピクチャフィルタリングまたはアップサンプリングのみが許容される。いくつかの例では、ビデオをエンコーダ125および124に送る前にダウンサンプリングする代わりに、下位カラーボリューム(color volume)を有するディスプレイにおいてレンダリングされるように自動または手動でグレーディングされ得るビデオのバージョンが使用される。
【００８８】
レイヤ間の冗長性を低減するために、単一のレイヤ内のフレーム間予測と同じ方法でレイヤ間予測が達成され得るように、下位/ベースレイヤのためのアップサンプリングされたコロケートされた参照レイヤピクチャが生成され、上位/エンハンスメントレイヤのための参照バッファに記憶され得る。図5に示すように、再サンプリングされたレイヤ間参照(ILR)ピクチャ128が、ベースレイヤエンコーダ124において参照ピクチャから生成され、第1のエンハンスメントレイヤエンコーダ125に記憶される。同様に、再サンプリングされたILRピクチャ129が、第1のエンハンスメントレイヤエンコーダ125において参照ピクチャから生成され、第2のエンハンスメントレイヤエンコーダ126に記憶される。SHVC WD3では、ILRピクチャは、エンハンスメントレイヤのための長期参照ピクチャとして示されている。レイヤ間参照ピクチャに関連する動きベクトル差分は、ゼロに制限される。
【００８９】
超高精細テレビジョン(UHDTV)デバイスおよびコンテンツの使用は、レガシーデバイスとは異なる色域を使用し得る。具体的には、(HDRとは対照的に)SDおよびHDは、BT.709勧告、ITU-R Recommendation BT.709「Parameter values for the HDTV standards for production and international programme exchange」2010年12月を使用する一方、UHDTVは、BT.2020勧告、ITU-R Recommendation BT.2020「Parameter values for UHDTV systems for production and international programme exchange」2012年4月を使用する。色域は、たとえば、ビデオデータのピクチャ、スライス、ブロックまたはレイヤにおける、画像のために再生され得る色の全レンジを含む。これらのシステム間の1つの差は、UHDTVの色域がHDよりもかなり大きいことである。UHDTVが、高分解能などの他のUHDTV特性と合致する、より生きているようなまたは現実的な閲覧体験をもたらすと主張される。
【００９０】
いくつかの例示的なSVCコードでは、エンハンスメントレイヤ1および/または2は、ベースレイヤとは異なるか、または互いに異なる色域を利用し得る。たとえば、1つのレイヤは(BT.709色域を使用する)HDビデオを符号化し得るが、エンハンスメントレイヤは(BT.2020色域を使用する)UHDビデオを利用し得る。エンコーダ124、125および/または126がHDビデオとUHDビデオとの間でレイヤ間予測を利用する場合、CGSマッピングテーブルを介して2つの色フォーマットおよび色域の間で色情報が変換され得る。ピクセル値領域は、直方体区分に分割される。HEVCエンコーダ124、125、および/または126はそれぞれ、色領域(たとえば、YUVまたはYCbCr領域)における複数の区分(たとえば、直方体)にピクセル値領域を分割し、各区分に関してエンハンスメントレイヤ(1および/または2)ピクチャに対して、各直方体に属するピクセルに関する2乗平均を最小化することを介して、CGSマッピングテーブルを導出し得る。各区分は独立して最適化されるので、(値の差分が小さい)2つの隣接する区分に属する2つのピクセル値に関して、2つのピクセル値に関するマッピングされた値の差分が大きくならないことは保証できない。結果として、これらのマッピングされた値がエンハンスメントレイヤピクチャ/ブロックのためのレイヤ間予測参照として使用されるとき、シーケンスのいくつかのフレーム中にいくつかのアーティファクトが現れる。これは、エンコーダ124、125、および/または126によって、これらのアーティファクトを潜在的に含み得るブロックを検出し、アーティファクトを潜在的に含み得るブロックに関して(ベースレイヤとエンハンスメントレイヤ1または2との間の)レイヤ間予測を無効化することによって、最小化され得る。
【００９１】
図6は、サンプルビデオシーケンス130の例示的な色域を示すグラフである。図6に示すように、SWG1サンプルビデオシーケンス130は、UHD色域BT.2020 132の線輪郭(line outline)内の点のクラスタとして示されている。比較すると、HD色域BT.709 134の輪郭および国際照明委員会(CIE)-XYZ線形色空間136の輪郭は、SWG1サンプルビデオシーケンス130と重複する。図6から、UHD色域BT.2020 132がHD色域BT.709 134よりもはるかに大きいことが容易に観測される。BT.709色域134の外にあるSWG1サンプルビデオシーケンス130におけるピクセルの数に留意されたい。
【００９２】
図7は、HD色域BT.709 134からUHD色域BT.2020 132への変換を示すブロック図である。HD色域BT.709 134とUHD色域BT.2020 132の両方は、ルーマおよびクロマ成分(たとえば、YCbCrまたはYUV)における色ピクセルの表現を定義する。各色域は、CIE-XYZ線形色空間136との間の変換を定義する。この共通中間色空間は、HD色域BT.709 134におけるルーマおよびクロマ値の、UHD色域BT.2020 132における対応するルーマおよびクロマ値への変換を定義するために使用され得る。
【００９３】
レイヤ間参照ピクチャを生成するために、ベースレイヤピクチャに対してCGSマッピングが適用される。CGSを使用せずに、ベースピクチャは、ベースレイヤおよびエンハンスメントレイヤが同じ分解能である場合にレイヤ間参照ピクチャとして直接使用される。CGSマッピングは、CGSパラメータに基づいて定義された線形関数である。CGSマッピングにおいて使用されるCGSパラメータは、エンコーダにおいて、CGSマッピングされたベースレイヤピクチャと元のエンハンスメントレイヤピクチャとの間の2乗平均誤差を最小化すること(たとえば、最適化すること)によって取得される。そのような最適化は、各直方体のCGSパラメータがエンコーダにおいて独立して参照ソフトウェアによって推定されるので、参照ソフトウェアにおいてデフォルトで発生し得る。
【００９４】
図6に示すサンプルシーケンスの色域および図7に示す色域変換に関するさらなる詳細は、L. Kerofsky、A. Segall、S.-H. Kim、K. Misra、「Color Gamut Scalable Video Coding: New Results」、JCTVC-L0334、ジュネーブ、スイス、2013年1月14〜23日(以下、「JCTVC-L0334」と呼ぶ)において確認できる。
【００９５】
図8は、ベースレイヤ色域およびエンハンスメントレイヤ色域が異なるときにレイヤ間参照ピクチャを生成し得る色予測処理ユニット144を含む色域スケーラブルコーダ140を示すブロック図である。色予測処理ユニット144は、ベースレイヤおよびエンハンスメントレイヤの色域が異なる場合に、色域スケーラブルビデオコーディングを実行するために、図1によるビデオエンコーダ20またはビデオデコーダ30などのビデオコーダによって使用され得る。
【００９６】
図8に示す例では、ベースレイヤコーディングループ142が、第1の色域、たとえば、BT.709における色データを含むピクチャのビデオコーディングを実行し、エンハンスメントレイヤコーディングループ146が、第2の色域、たとえば、BT.2020における色データを含むピクチャのビデオコーディングを実行する。色予測処理ユニット144は、色予測を実行して、第1の色域におけるベースレイヤ参照ピクチャの色データを第2の色域にマッピングまたは変換し、ベースレイヤ参照ピクチャのマッピングされた色データに基づいて、エンハンスメントレイヤのためのレイヤ間参照ピクチャを生成する。
【００９７】
高いコーディング効率を達成するために、色予測処理ユニット144は、レイヤ間参照ピクチャを生成するときに、特定の色予測を実行するように構成される。以下でより詳細に説明するように、色予測処理ユニット144は、線形予測モデル、区分線形予測(piecewise linear prediction)モデル、または3Dルックアップテーブルベースの色予測モデルのいずれかに従って、色予測を実行するように構成され得る。
【００９８】
図9(a)および図9(b)は、色域スケーラビリティのための例示的な3Dルックアップテーブル150を示す概念図である。色域スケーラビリティのための3Dルックアップテーブルの原理が、図9(a)および図9(b)に示されている。3Dルックアップテーブル150は、第1の3D色空間、たとえば、HD色域BT.709のサブサンプリングと見なされ得、各頂点が、第2の3D色空間(すなわち、予測)値、たとえば、UHD色域BT.2020に対応する色トリプレット(y,u,v)(または色トリプレットx,y,z)に関連付けられる。
【００９９】
一般に、第1の色域は、各色次元(すなわち、Y、U、およびV)におけるオクタントまたは直方体に区分され得、オクタントの頂点は、第2の色域に対応する色トリプレットに関連付けられ、3Dルックアップテーブル150をポピュレートするために使用される。各色次元における頂点またはセグメントの数は、3Dルックアップテーブルのサイズを示す。図9(a)は、各色次元におけるオクタントの頂点または交差格子点を示す。図9(b)は、頂点の各々に関連する異なる色値を示す。図示のように、図9(a)では、各色次元は4つの頂点を有し、図9(b)では、各色次元は4つの色値を含む。
【０１００】
いくつかの例では、色成分、すなわち、ルーマ(Y)成分、第1のクロマ(U)成分および第2のクロマ(V)成分の各々に関して、別個の3Dルックアップテーブルが生成され得る。3Dルックアップテーブルの各々は、ルーマ(Y)次元、第1のクロマ(U)次元および第2のクロマ(V)次元を含み、3つの独立した色成分(Y、U、V)を使用してインデックスを作成される。
【０１０１】
一般に、3Dルックアップテーブルベースの色域スケーラビリティは、コーディング性能の改善をもたらす。しかしながら、3Dルックアップテーブルは通常、ハードウェア実装においてキャッシュメモリに記憶されるので、3Dルックアップテーブルのサイズは問題であり得る。いくつかの例では、3Dルックアップテーブルがルーマ成分、第1のクロマ成分および第2のクロマ成分に関して同じサイズを有するように、3Dルックアップテーブルは対称的である。さらに、3Dルックアップテーブルの各次元のサイズが同じになるように、3Dルックアップテーブルは平衡なものであり得る。これは、高い計算複雑性および高いシグナリングコストとともに大きいテーブルサイズを生じさせる。たとえば、テーブルサイズは、最大9×9×9または17×17×17であり得る。
【０１０２】
場合によっては、色域スケーラビリティに使用される3Dルックアップテーブルのサイズはあまりにも大きく、これは実際の実装の難しさにつながり得る。さらに、大きいテーブルサイズおよび3Dルックアップテーブルのための3線補間の使用は、高い計算複雑性につながる。
【０１０３】
一例では、本開示で説明する技法は、3Dルックアップテーブルが第1および第2のクロマ(たとえば、CbおよびCrまたはUおよびV)成分に関するより粗い区分ならびにルーマ(たとえば、Y)成分に関するより細かい区分を有するように、非対称区分を有効化することによって、3Dルックアップテーブルの色成分のより効率的な区分をもたらし得る。本技法はまた、3Dルックアップテーブルに関する区分の基本数のほかに、ルーマ成分に関する追加の区分の数をシグナリングすることによって、3Dルックアップテーブルに関する区分情報のより効率的なシグナリングをもたらし得る。別の例では、本技法は、第1および第2のクロマ(たとえば、CbおよびCrまたはUおよびV)成分のジョイント区分を有効化することによって、3Dルックアップテーブルの色成分のより効率的な区分をもたらし得る。
【０１０４】
3Dルックアップテーブルの色成分の各々が1つまたは複数のオクタントに区分されると、本開示で説明する技法は、3Dルックアップテーブルの色値のより効率的なシグナリングをもたらし得る。本技法は、3Dルックアップテーブルの色成分の各々のための各オクタントに関して、オクタントの各々の頂点の値またはオクタントの各々に関する線形色マッピング関数の色マッピング係数のいずれかをシグナリングすることを含む。本開示では、「区分」、「オクタント」、「セグメント」、および「直方体」という用語は、3Dルックアップテーブルの色成分の区分された領域を表すために互換的に使用され得る。
【０１０５】
色マッピング係数は、既定数のビットを使用して浮動小数点値から整数値に変換または量子化され得る。場合によっては、変換または量子化情報は、ビットストリームにおいてシグナリングされ得る。他の場合には、変換または量子化情報(すなわち、1の値を表すために使用されるビットの数)は、3Dルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも一方に依存し得る。
【０１０６】
ビデオエンコーダ20および/またはビデオデコーダ30は、第1および第2のクロマ成分のジョイント区分を実行することによって、色域スケーラビリティのための3Dルックアップテーブルを生成し得る。従来型の3Dルックアップテーブルでは、ルーマ、第1のクロマ、および第2のクロマ(すなわち、Y、U、およびV)成分が独立して区分される。各成分がN個のセグメントまたはオクタントに分割されるとき、オクタントの総数はN×N×Nであり得、これは大きい3Dルックアップテーブルをもたらす。たとえば、テーブルサイズは、最大9×9×9または17×17×17であり得る。オクタントの数を減らすために、第1および第2のクロマ(すなわち、U、およびV)成分をジョイント区分する一方で、ルーマ(すなわち、Y)成分の独立した区分が実行され得る。
【０１０７】
ビデオエンコーダ20および/またはビデオデコーダ30は、第1および第2のクロマ(たとえば、CbおよびCrまたはUおよびV)成分に関するより粗い区分ならびにルーマ(たとえば、Y)成分に関するより細かい区分を有する色域スケーラビリティのための3Dルックアップテーブルを生成し得る。ビデオデコーダ20および/またはビデオエンコーダ30は、この3Dルックアップテーブルを、基本区分値、たとえば、3Dルックアップテーブルに関する最大分割深度に従って色成分の各々をいくつかのオクタントに区分し、次いでルーマ区分値に基づいて、ルーマ成分のオクタントの各々をさらに区分することによって、生成し得る。一例では、ルーマ区分値はビットストリームにおいて、ビデオエンコーダ20によってビデオデコーダ30にシグナリングされ得る。場合によっては、基本区分値もビットストリームにおいて、ビデオエンコーダ20によってビデオデコーダ30にシグナリングされ得る。他の場合には、ルーマ区分値は、ビデオデコーダ20とビデオエンコーダ30の両方において導出され得、かつ/または基本区分値は、ビデオデコーダとビデオエンコーダの両方において知られている既定値であり得る。
【０１０８】
一例では、ビデオエンコーダ20および/またはビデオデコーダ30は最初に、既定の分割深度またはシグナリングされた分割深度に達するまで、色成分(すなわち、Y-U-V空間)の各々が反復的かつ対称的に分割または区分されるような方法で、3Dルックアップテーブルを構成する。分割深度は、3Dルックアップテーブルの色成分のすべてが区分され得る最大回数を定義する。このようにして、基本区分値は、分割深度と定義され得る。ビデオエンコーダ20および/またはビデオデコーダ30はさらに、ルーマ(すなわち、Y)成分がより細かい区分を有する一方でクロマ(すなわち、UおよびV)成分がより粗い区分を有するように、ルーマ(すなわち、Y)方向に沿って各最小立方体またはオクタントを均一または不均一に分割する。
【０１０９】
上記で説明した一例では、オクタントまたは区分の各々に関して、ビデオエンコーダ20は、3Dルックアップテーブルにおける色値の線形色マッピング関数の色マッピング係数をシグナリングし得る。線形色マッピング関数は、ビデオデータの下位レイヤに関する第1の色域における色データを、ビデオデータの上位レイヤに関する第2の色域に変換するために使用され、色マッピング係数は、ビデオデータの下位レイヤおよび上位レイヤの色成分間の重み付け係数である。色成分の各々に関して、色マッピング係数のうちの1つは、ビデオデータの下位レイヤおよび上位レイヤの同じ色成分間の重み付け係数を定義する重要係数であり得る。
【０１１０】
ビデオエンコーダ20および/またはビデオデコーダ30が上述の例示的な技法のうちの1つまたは複数を使用して3Dルックアップテーブルを生成した後、3Dルックアップテーブルを使用して次のように色予測が実行され得る。色予測プロセスへの入力は、1つの色空間、たとえば、ビデオデータの下位レイヤまたはベースレイヤに関する第1の色域における(y,u,v)トリプレットである。色予測プロセスの出力は、別の色空間、たとえば、ビデオデータの上位レイヤまたはエンハンスメントレイヤに関する第2の色域におけるトリプレット(Y,U,V)である。入力トリプレット(y,u,v)をカバーする最小オクタントまたは直方体は、3Dルックアップテーブルに位置する。
【０１１１】
次世代ビデオアプリケーションは、HDRおよび広色域(WCG)を有するキャプチャされた景色を表すビデオデータにより動作することが予想される。利用されるダイナミックレンジおよび色域のパラメータは、ビデオコンテンツの2つの独立した属性であり、デジタルテレビジョンおよびマルチメディアサービスの目的のためのそれらの仕様が、いくつかの国際規格によって定義されている。たとえば、ITU-R Rec.BT.709、「Parameter values for the HDTV standards for production and international programme exchange」は、標準ダイナミックレンジ(SDR)および標準色域などの高精細テレビジョン(HDTV)のためのパラメータを定義しており、ITU-R Rec.BT.2020、「Parameter values for ultra-high definition television systems for production and international programme exchange」は、HDRおよびWCGなどの超HDTV(UHDTV)パラメータを指定している。他のシステムにおけるダイナミックレンジおよび色域属性を指定する他の標準開発団体(SDO:standards developing organization)文書もあり、たとえば、DCI-P3色域がSMPTE-231-2(Society of Motion Picture and Television Engineers)において定義されており、HDRのいくつかのパラメータがSMPTE-2084において定義されている。以下では、ビデオデータに関するダイナミックレンジおよび色域の簡単な説明を行う。
【０１１２】
ダイナミックレンジは通常、ビデオ信号の最小輝度(たとえば、ルーマ)と最大輝度との間の比として定義される。ダイナミックレンジはまた、「fストップ」の観点から測定されることがあり、1fストップが、信号のダイナミックレンジの倍増に対応する。MPEGの定義では、HDRコンテンツは、16fストップ超を有する輝度変動を特徴とするコンテンツである。いくつかの用語では、10fストップから16fストップの間のレベルは、中間ダイナミックレンジと見なされるが、それは他の定義ではHDRと見なされる。本開示のいくつかの例では、HDRビデオコンテンツは、標準ダイナミックレンジを有する従来使用されたビデオコンテンツ(たとえば、ITU-R Rec. BT.709によって指定されるビデオコンテンツ)よりも高いダイナミックレンジを有する任意のビデオコンテンツであり得る。
【０１１３】
人間視覚系(HVS)は、SDRコンテンツおよびHDRコンテンツよりもはるかに大きいダイナミックレンジを知覚することが可能である。ただし、HVSは、HVSのダイナミックレンジをいわゆる同時レンジに縮小するための適応機構を含む。同時レンジの幅は、現在の照明条件(たとえば、現在の輝度)に依存し得る。HDTVのSDR、UHDTVの予想HDRおよびHVSダイナミックレンジによって提供されるダイナミックレンジの視覚化を図10に示す。
【０１１４】
現在のビデオアプリケーションおよびサービスは、ITU Rec.709によって規制され、SDRを提供しており、通常は約0.1〜100カンデラ(cd)/m2(「nit」と呼ばれることが多い)の輝度(たとえば、ルーマ)のレンジをサポートし、これは10fストップ未満につながる。いくつかの例示的な次世代ビデオサービスは、16fストップまでのダイナミックレンジを提供することが予想される。そのようなコンテンツに関する詳細な仕様は現在開発中であるが、いくつかの初期パラメータがSMPTE-2084およびITU-R Rec. 2020において指定されている。「Call for Evidence (CfE) for HDR and WCG Video Coding」、MPEG文書M36131、スイス、2015年2月は、バックグラウンド適合性をもたらす、HDRに関するデュアルレイヤコーディング機構の一例について説明している。
【０１１５】
図11は、マルチレイヤビデオコーディングにおいて色域スケーラビリティを使用するときにアーティファクトを識別し除去するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオにおける空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオにおける時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのうちのいずれかを指す場合がある。単方向予測(Pモード)または双予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのうちのいずれかを指す場合がある。
【０１１６】
図11に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図11の例では、ビデオエンコーダ20は、モード選択ユニット40と、ビデオデータメモリ41と、復号ピクチャバッファ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。そして、モード選択ユニット40は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、区分ユニット48と、色予測処理ユニット66とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。ブロック境界をフィルタリングしてブロッキネスアーティファクトを再構成されたビデオから除去するために、デブロッキングフィルタ(図11に示さず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタリングする。追加のフィルタ(ループ内またはループ後)も、デブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔のために示されないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタリングし得る。
【０１１７】
ビデオデータメモリ41は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ41に記憶されるビデオデータは、たとえば、ビデオソース18から取得され得る。復号ピクチャバッファ64は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであってもよい。ビデオデータメモリ41および復号ピクチャバッファ64は、ダイナミックランダムアクセスメモリ(DRAM)(シンクロナスDRAM(SDRAM)を含む)、磁気抵抗RAM(MRAM)、抵抗変化型RAM(RRAM（登録商標）)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ41および復号ピクチャバッファ64は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ41は、ビデオエンコーダ20の他の構成要素とともにオンチップであってもよく、または、これらの構成要素に対してオフチップであってもよい。
【０１１８】
符号化プロセスの間に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的予測を行うために、1つまたは複数の参照フレームの中の1つまたは複数のブロックに対する受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライスの中の1つまたは複数の隣接ブロックに対する受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータの各ブロックに対する適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
【０１１９】
その上、区分ユニット48は、以前のコーディングパスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、区分ユニット48は、最初にフレームまたはスライスをLCUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいて、LCUの各々をサブCUに区分し得る。モード選択ユニット40は、LCUをサブCUに区分することを示す4分木データ構造をさらに生成し得る。4分木のリーフノードCUは、1つまたは複数のPUと1つまたは複数のTUとを含み得る。
【０１２０】
モード選択ユニット40は、たとえば誤差結果に基づいてイントラコーディングモードまたはインターコーディングモードのうちの一方を選択してもよく、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差ブロックデータを生成するために加算器50に提供し、参照フレームとして使用するための符号化されたブロックを再構成するために加算器62に提供する。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に提供する。
【０１２１】
モード選択ユニット40は、コーディングモードとしてレイヤ間予測を選択し得る。レイヤ間予測は、異なるレイヤ(たとえば、ベースレイヤまたはエンハンスメントレイヤ)におけるデータに基づくブロックの再構成を可能にする。色域スケーラビリティを使用して、ビデオデータの下位レイヤは、第1の色域、たとえば、BT.709色コンテナにおける色データを含むことができ、ビデオデータの上位レイヤは、異なる第2の色域における、たとえば、超高精細(UHD)色域BT.2020色コンテナにおける色データを含むことができる。レイヤ間予測が実行されるとき、色域間で色値が変換され得る。3次元CGSマッピングテーブルがモード選択ユニット40によって(たとえば、色予測処理ユニット66を介して)導出され得、色空間(たとえば、YUV領域)におけるピクセル値の各区分に関して導出が実行される。ピクセル色領域(すなわち、特定の色コンテナを前提として特定の色を指定するYUVまたはXYZ三刺激値の3次元(3D)領域)は、モード選択ユニット40によって(たとえば、色予測処理ユニット66を介して)直方体に分割され得る。再構成されたビデオにおいてアーティファクトを生じさせ得る直方体の境界での色マッピングにおけるマッピング異常を生じさせ得る各直方体を独立して最適化することによって、CGSパラメータが取得される。本開示の技法によれば、潜在的アーティファクトが識別される。そのようなアーティファクトが識別される場合、再構成されたビデオブロックにおいてアーティファクトを作成しないように、レイヤ間予測が無効化され得る。
【０１２２】
動き推定ユニット42および動き補償ユニット44は、高集積されてよいが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在ピクチャ(または他のコーディングされたユニット)内でコーディングされている現在ブロックに対する、参照ピクチャ(または他のコーディングされたユニット)内の予測ブロックに対する、現在ビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックと厳密に一致することが判明したブロックである。いくつかの例では、ビデオエンコーダ20は、復号ピクチャバッファ64に記憶された参照ピクチャのサブ整数ピクセル位置に関する値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【０１２３】
動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス中のビデオブロックのPUに関する動きベクトルを計算する。参照ピクチャは、その各々が復号ピクチャバッファ64に記憶された1つまたは複数の参照ピクチャを識別する、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56および動き補償ユニット44に送る。
【０１２４】
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴い得る。この場合も、動き推定ユニット42および動き補償ユニット44は、いくつかの例では、機能的に統合され得る。現在ビデオブロックのPUに関する動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つの中で動きベクトルが指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット42は、ルーマ成分に対する動き推定を実行し、動き補償ユニット44は、ルーマ成分に基づいて計算された動きベクトルをクロマ成分とルーマ成分の両方に使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するための、ビデオブロックおよびビデオスライスに関連するシンタックス要素を生成し得る。
【０１２５】
イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。具体的には、イントラ予測ユニット46は、現在ブロックを符号化するために使用するイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別々の符号化パスの間、様々なイントラ予測モードを使用して現在ブロックを符号化することができ、イントラ予測ユニット46(または、いくつかの例ではモード選択ユニット40)は、テストされたモードから使用する適切なイントラ予測モードを選択することができる。
【０１２６】
たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに対してレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中から最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された、元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化されたブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックのための最良のレートひずみ値を示すのかを判断するために、様々な符号化されたブロックに関するひずみおよびレートから比を計算し得る。
【０１２７】
ブロックのためのイントラ予測モードを選択した後、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)を含み得る、送信されるビットストリーム構成データ内に、様々なブロックのための符号化コンテキストの定義と、最もあり得るイントラ予測モードの指示と、イントラ予測モードインデックステーブルと、コンテキストの各々のために使用する変更されたイントラ予測モードインデックステーブルとを含め得る。
【０１２８】
ビデオエンコーダ20は、モード選択ユニット40からの予測データをコーディングされている元のビデオブロックから減算することによって、残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も使用され得る。いずれの場合にも、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、結果として生じた変換係数を量子化ユニット54に送り得る。
【０１２９】
量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行してもよい。
【０１３０】
量子化に続いて、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングの場合には、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット56によるエントロピーコーディングに続いて、符号化されたビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)へ送信されるか、または、後の送信もしくは取出しのためにアーカイブされ得る。
【０１３１】
逆量子化ユニット58および逆変換処理ユニット60は、たとえば、参照ブロックとして後で使用するためのピクセル領域中の残差ブロックを再構成するために、それぞれ、逆量子化および逆変換を適用する。動き補償ユニット44は、復号ピクチャバッファ64のフレームのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、1つまたは複数の補間フィルタを再構成された残差ブロックに適用し得る。加算器62は、復号ピクチャバッファ64に記憶する再構成されたビデオブロックを生成するために、動き補償ユニット44によって生成された動き補償された予測ブロックに再構成された残差ブロックを加算する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために、参照ブロックとして、動き推定ユニット42および動き補償ユニット44によって使用され得る。
【０１３２】
本開示で説明する技法によれば、ビデオエンコーダ20は、マルチレイヤビデオデータを符号化するときに、3Dルックアップテーブルベースの色域スケーラビリティを実行するように構成される。ビデオエンコーダ20は、SHVC拡張、MV-HEVC拡張、および3D-HEVC拡張のいずれか、または他のマルチレイヤビデオコーディング拡張に従って、マルチレイヤビデオデータを予測し符号化し得る。具体的には、ビデオエンコーダ20の色予測処理ユニット66は、ビデオデータの上位レイヤに関する色域が、ビデオデータの下位レイヤに関する色域とは異なるときに、ビデオデータの上位データのピクチャにおけるビデオブロックを予測するために使用されるレイヤ間参照ピクチャを生成し得る。
【０１３３】
ビデオエンコーダ20の色予測処理ユニット66は、ビデオデータの下位レイヤに関する第1の色域における参照ピクチャの色データを、ビデオデータの上位レイヤに関する第2の色域に変換するために、色域スケーラビリティのための3Dルックアップテーブルを使用して色予測を実行し得る。いくつかの例では、色予測処理ユニット66は、色成分、すなわち、ルーマ成分、第1のクロマ成分および第2のクロマ成分の各々に関して、別個の3Dルックアップテーブルを生成し得る。3Dルックアップテーブルの各々は、ルーマ次元、第1のクロマ次元および第2のクロマ次元を含み、3つの独立した色成分を使用してインデックスを作成される。
【０１３４】
ビデオエンコーダ20は、ルーマ、第1のクロマ、および第2のクロマ色成分の各々のためのオクタントの数、ならびにオクタントの各々に関する色値に基づいて、3Dルックアップテーブルを生成し得る。上記で説明したように、場合によっては、ビデオエンコーダ20は、3Dルックアップテーブルの色成分のうちの少なくとも1つのためのオクタントの数を示す少なくとも1つのシンタックス要素を符号化し得る。ビデオエンコーダ20はまた、色成分の各々のためのオクタントの各々に関する色値を符号化し得る。たとえば、ビデオエンコーダ20は、3Dルックアップテーブルにおける色値の線形色マッピング関数のための色マッピング係数を符号化し得る。線形色マッピング関数は、ビデオデータの下位レイヤに関する第1の色域における色データを、ビデオデータの上位レイヤに関する第2の色域に変換するために使用される。線形色マッピング関数のための色マッピング係数は、ビデオデータの下位レイヤおよび上位レイヤの色成分間の重み付け係数である。色成分の各々に関して、色マッピング係数のうちの1つは、ビデオデータの下位レイヤおよび上位レイヤの同じ色成分間の重み付け係数を定義する重要係数であり得る。
【０１３５】
線形色マッピング関数のための色マッピング係数は、浮動小数点値として導出され得る。色マッピング係数を符号化する前に、ビデオエンコーダ20の色予測処理ユニット66は、色マッピング係数の浮動小数点値を整数値に変換し得る。変換は、3Dルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも一方に基づいて、整数値のためにビット深度を使用し得る。さらに、色予測処理ユニット66は、色マッピング係数の値を、既定の固定値または3Dルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも一方に依存する値に基づいて所与のレンジ内になるように制限し得る。
【０１３６】
本開示の技法のいくつかの例では、色予測処理ユニット66は、色マッピング係数の元の値と色マッピング係数の予測値との間の残差値を符号化するために、色マッピング係数のうちの1つまたは複数を予測し得る。たとえば、色成分の各々のための第1のオクタントに関して、色予測処理ユニット66は、既定の固定値に基づいて線形色マッピング関数の色マッピング係数を予測し得る。一例では、色成分の各々のための第1のオクタントに関して、色予測処理ユニット66は、既定の非ゼロ値に等しい予測値に基づいて、線形色マッピング関数の重要係数を符号化し、ゼロに等しい予測値に基づいて、線形色マッピング関数の残存する色マッピング係数を符号化することができる。この例では、色予測処理ユニット66は、色成分の各々のための残存オクタントの色マッピング係数を、第1のオクタントなどの少なくとも1つの以前符号化されたオクタントからの予測値に基づいて符号化し得る。
【０１３７】
ビデオエンコーダ20のエントロピー符号化ユニット56は、次いで、色成分の各々のためのオクタントの各々に関して、線形色マッピング関数のための色マッピング係数の残差値をエントロピー符号化し得る。場合によっては、エントロピー符号化する前に、ビデオエンコーダ20は、決定された量子化値に基づいて量子化ユニット54を使用して、色マッピング係数の残差値を量子化し得る。ビデオエンコーダ20は、決定された量子化値を符号化し得る。
【０１３８】
3Dルックアップテーブルを生成すると、色予測処理ユニット66は、3Dルックアップテーブルを使用してビデオデータの下位レイヤのための参照ピクチャの色予測を実行し、色予測された参照ピクチャに基づいて、ビデオデータの上位レイヤのための少なくとも1つのレイヤ間参照ピクチャを生成する。レイヤ間参照ピクチャを生成すると、ビデオエンコーダ20の動き補償ユニット44は、3Dルックアップテーブルを使用して生成されたレイヤ間参照ピクチャに基づいて、ビデオデータの上位レイヤのピクチャにおけるビデオブロックを予測するために、上記のように動作し得る。ビデオエンコーダ20は、次いで、ビデオデコーダ30に送信するビットストリームにおけるビデオブロックの残差データを符号化し得る。
【０１３９】
図12は、マルチレイヤビデオコーディングにおいて色域スケーラビリティを使用するときにアーティファクトを識別し除去するための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図12の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、ビデオデータメモリ71と、動き補償ユニット72と、イントラ予測処理ユニット74と、色予測処理ユニット86と、逆量子化ユニット76と、逆変換処理ユニット78と、復号ピクチャバッファ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図11)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて、予測データを生成し得るが、イントラ予測処理ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて、予測データを生成し得る。
【０１４０】
ビデオデータメモリ71は、ビデオデコーダ30の構成要素によって復号されるべき、符号化されたビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ71に記憶されるビデオデータは、たとえば、コンピュータ可読媒体16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードネットワーク通信もしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、取得され得る。ビデオデータメモリ71は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。復号ピクチャバッファ82は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであってもよい。ビデオデータメモリ71および復号ピクチャバッファ82は、ダイナミックランダムアクセスメモリ(DRAM)(シンクロナスDRAM(SDRAM)を含む)、磁気抵抗RAM(MRAM)、抵抗変化型RAM(RRAM（登録商標）)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ71および復号ピクチャバッファ82は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ71は、ビデオデコーダ30の他の構成要素とともにオンチップであってもよく、または、それらの構成要素に対してオフチップであってもよい。
【０１４１】
復号プロセスの間に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックと関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、ビットストリームをエントロピー復号して、量子化係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成する。エントロピー復号ユニット70は、動き補償ユニット72に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信し得る。
【０１４２】
ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされるとき、イントラ予測処理ユニット74は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコーディングされた(すなわち、BまたはP)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つのリスト内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、復号ピクチャバッファ82に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照ピクチャリスト、リスト0およびリスト1を構成し得る。動き補償ユニット72は、動きベクトルと他のシンタックス要素とを構文解析することによって、現在ビデオスライスのビデオブロックのための予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)、スライス用の参照ピクチャリストのうちの1つまたは複数に関する構成情報、スライスの各インター符号化されたビデオブロックに関する動きベクトル、スライスの各インターコーディングされたビデオブロックに関するインター予測状態、および現在ビデオスライスの中のビデオブロックを復号するための他の情報を決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
【０１４３】
動き補償ユニット72はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット72は、ビデオブロックの符号化の間にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルに関する補間された値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、補間フィルタを使用して、予測ブロックを生成し得る。
【０１４４】
逆量子化ユニット76は、ビットストリームの中で提供されエントロピー復号ユニット70によって復号された量子化変換係数を、逆量子化(inverse quantize)すなわち逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオデコーダ30によって計算された量子化パラメータQPYをビデオスライス中の各ビデオブロックに使用することを含み得る。逆変換処理ユニット78は、ピクセル領域における残差ブロックを生成するために、変換係数に逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを適用する。
【０１４５】
動き補償ユニット72が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット78からの残差ブロックを、動き補償ユニット72によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器80は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタリングするように、デブロッキングフィルタも適用され得る。(コーディングループ内またはコーディングループ後のいずれかの)他のループフィルタも、ピクセル遷移を平滑化するために、または別様にビデオ品質を改善するために使用され得る。次いで、所与のフレームまたはピクチャ中の復号されたビデオブロックが、後続の動き補償のために使用される参照ピクチャを記憶する復号ピクチャバッファ82に記憶される。復号ピクチャバッファ82はまた、復号されたビデオを後で図1のディスプレイデバイス32などのディスプレイデバイス上に提示できるように記憶する。
【０１４６】
本開示で説明する技法のいくつかの例によれば、ビデオデコーダ30は、マルチレイヤビデオデータを復号するときに、3Dルックアップテーブルベースの色域スケーラビリティを実行するように構成される。ビデオデコーダ30は、SHVC拡張、MV-HEVC拡張、3D-HEVC拡張、またはHEVCに対する他のマルチレイヤビデオコーディング拡張のいずれかに従って、予測されたマルチレイヤビデオデータを復号し再構成し得る。具体的には、ビデオデコーダ30の色予測処理ユニット86は、ビデオデータの上位レイヤに関する色域が、ビデオデータの下位レイヤに関する色域とは異なるときに、ビデオデータの上位データのピクチャにおけるビデオブロックを予測するために使用されるレイヤ間参照ピクチャを生成し得る。
【０１４７】
ビデオデコーダ30の色予測処理ユニット86は、ビデオデータの下位レイヤに関する第1の色域における参照ピクチャの色データを、ビデオデータの上位レイヤに関する第2の色域に変換するために、色域スケーラビリティのための3Dルックアップテーブルを使用して色予測を実行し得る。いくつかの例では、色予測処理ユニット86は、色成分、すなわち、ルーマ成分、第1のクロマ成分および第2のクロマ成分の各々に関して、別個の3Dルックアップテーブルを生成し得る。3Dルックアップテーブルの各々は、ルーマ次元、第1のクロマ次元および第2のクロマ次元を含み、3つの独立した色成分を使用してインデックスを作成される。
【０１４８】
本開示の技法は、色域スケーラビリティのための3Dルックアップテーブルを生成するために使用される情報のシグナリングに関係する。本技法によれば、ビデオデコーダ30は、色域スケーラビリティを実行するために3Dルックアップテーブルを生成するために区分情報および/または色値を復号し得る。本開示で説明する技法は、レイヤ間予測が利用されるエンハンスメントフレームピクチャ/ブロックにおける潜在的アーティファクトを検出する際に特に有用であり得る。
【０１４９】
ビデオデコーダ30の色予測処理ユニット86は、第1および第2のクロマ成分に関するより粗い区分ならびにルーマ成分に関するより細かい区分を有する3Dルックアップテーブルを生成し得る。色予測処理ユニット86は、この3Dルックアップテーブルを、基本区分値、たとえば、3Dルックアップテーブルに関する最大分割深度に従って第1のクロマ、第2のクロマ、およびルーマ色成分の各々を第1の数のオクタントに区分し、次いでルーマ区分値に基づいて、ルーマ成分の第1の数のオクタントの各々をさらに区分することによって、生成し得る。このようにして、3Dルックアップテーブルの第1および第2のクロマ成分の各々は、より少ないオクタントに区分され(すなわち、より粗く区分され)、3Dルックアップテーブルのルーマ成分は、より多くのオクタントに区分される(すなわち、より細かく区分される)。
【０１５０】
場合によっては、ビデオデコーダ30のエントロピー復号ユニット70は、ルーマ区分値を示す少なくとも1つのシンタックス要素(たとえば、第1のシンタックス要素)をエントロピー復号する。他の場合には、ルーマ区分値は、ビデオエンコーダ20とビデオデコーダ30の両方において導出されること、または知られていることがある。一例として、色予測処理ユニット86は、基本予測値に少なくとも部分的に基づいてルーマ区分値を導出し得る。場合によっては、エントロピー復号ユニット70はまた、基本区分値を示す少なくとも1つのシンタックス要素(たとえば、第2のシンタックス要素)を復号し得る。他の場合には、基本区分値は、ビデオエンコーダ20とビデオデコーダ30の両方において知られている既定値であり得る。色予測処理ユニット86は、上述したように、第1および第2のクロマ成分に関するより粗い区分ならびにルーマ成分に関するより細かい区分を有する3Dルックアップテーブルを生成するために、既定の基本区分値またはシグナリングされた基本区分値および導出されたルーマ区分値またはシグナリングされたルーマ区分値を使用する。
【０１５１】
さらに、ビデオデコーダ30は、クロマ成分のうちの少なくとも一方に関する区分境界を示す1つまたは複数のシンタックス要素を条件付きで復号し得る。区分境界は、クロマ成分のうちの一方の、2つ以上のオクタントへの不均一な区分を画定する。本開示の技法によれば、ビデオデコーダ30は、クロマ成分のうちの少なくとも一方が2つ以上のオクタントに区分されるとき、すなわち、基本区分値が1よりも大きいときのみ、区分境界を示すシンタックス要素を復号する。そうでないとき、区分境界を復号することは不必要である。
【０１５２】
開示する技法の別の例では、ビデオデコーダ30は、ルーマ、第1のクロマ、および第2のクロマ色成分の各々のためのオクタントの数、ならびにオクタントの各々に関する色値に基づいて、3Dルックアップテーブルを生成し得る。上記で説明したように、場合によっては、ビデオデコーダ30は、3Dルックアップテーブルの色成分のうちの少なくとも1つのためのオクタントの数を示す少なくとも1つのシンタックス要素を復号すること、またはさもなければ3Dルックアップテーブルの色成分の各々のためのオクタントの数を決定することがある。ビデオデコーダ30はまた、色成分の各々のためのオクタントの各々に関する色値を復号し得る。たとえば、ビデオデコーダ30は、3Dルックアップテーブルにおける色値の線形色マッピング関数のための色マッピング係数を復号し得る。線形色マッピング関数は、ビデオデータの下位レイヤに関する第1の色域における色データを、ビデオデータの上位レイヤに関する第2の色域に変換するために使用される。線形色マッピング関数のための色マッピング係数は、ビデオデータの下位レイヤおよび上位レイヤの色成分間の重み付け係数である。色成分の各々に関して、色マッピング係数のうちの1つは、ビデオデータの下位レイヤおよび上位レイヤの同じ色成分間の重み付け係数を定義する重要係数であり得る。
【０１５３】
線形色マッピング関数のための色マッピング係数は最初に、浮動小数点値として導出される。浮動小数点値は次いで、整数値に変換または量子化され、整数値としてシグナリングされる。変換は、3Dルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも一方に基づいて、整数値のためにビット深度を使用し得る。さらに、色予測処理ユニット86は、色マッピング係数の値を、既定の固定値または3Dルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも一方に依存する値に基づいて所与のレンジ内になるように制限し得る。
【０１５４】
ビデオデコーダ30のエントロピー復号ユニット70は、色成分の各々のためのオクタントの各々に関して、線形色マッピング関数のための色マッピング係数の残差値をエントロピー復号し得る。場合によっては、エントロピー復号した後、かつ再構成の前に、ビデオデコーダ30は、決定された量子化値に基づいて逆量子化ユニット76を使用して、色マッピング係数の残差値を逆量子化し得る。ビデオデコーダ30は、決定された量子化値を示すシンタックス要素を復号し得る。
【０１５５】
本開示の技法によれば、色予測処理ユニット86は、色マッピング係数の残差値および色マッピング係数の予測値に基づいて、色マッピング係数の値を再構成するために、色マッピング係数のうちの1つまたは複数を予測し得る。たとえば、色成分の各々のための第1のオクタントに関して、色予測処理ユニット86は、既定の固定値に基づいて線形色マッピング関数の色マッピング係数を予測し得る。一例では、色成分の各々のための第1のオクタントに関して、色予測処理ユニット86は、既定の非ゼロ値に等しい予測値に基づいて、線形色マッピング関数の重要係数を復号し、ゼロに等しい予測値に基づいて、線形色マッピング関数の残存する色マッピング係数を復号することができる。この例では、色予測処理ユニット86は、色成分の各々のための残存オクタントの色マッピング係数を、第1のオクタントなどの少なくとも1つの以前復号されたオクタントからの予測値に基づいて復号し得る。
【０１５６】
3Dルックアップテーブルを生成すると、色予測処理ユニット86は、3Dルックアップテーブルを使用してビデオデータの下位レイヤのための参照ピクチャの色予測を実行し、色予測された参照ピクチャに基づいて、ビデオデータの上位レイヤのためのレイヤ間参照ピクチャを生成する。レイヤ間参照ピクチャを生成すると、ビデオデコーダ30の動き補償ユニット72は、復号された残差データおよび3Dルックアップテーブルを使用して生成されたレイヤ間参照ピクチャに基づいて、ビデオデータの上位レイヤのピクチャにおけるビデオブロックを再構成するために、上記のように動作し得る。
【０１５７】
図13は、本開示の技法による、色空間の直方体区分を示す概念図である。ピクセル値領域160は、直方体区分162A〜D(まとめて直方体162)に区分される。ピクセル値領域は、YUVおよびYCbCrを含む任意のピクセル値領域を含み得る。各直方体区分162A〜Dは、ビデオエンコーダ20によって独立して最適化される。各直方体区分162A〜Dは、独立して最適化されるので、2つの隣接する区分(たとえば、162Aおよび162B、162Aおよび162C)に属し、互いの間の非常に小さい値差分(たとえば、図13における小さい距離)を有する2ピクセル色値が、2つのピクセル値に関するマッピングされた値の比較的大きい差分を有し得る。ビデオエンコーダ20が、エンハンスメントレイヤピクチャ/ブロックのためのレイヤ間予測参照を使用するとき、シーケンスのいくつかのフレーム中にいくつかのアーティファクトが現れ得る。これらのアーティファクトは、通常、輪郭化アーティファクトのように見え、通常、エンハンスメントレイヤ(EL)がHDRデータであり、ベースレイヤ(BL)が、HDRコンテンツから手動でグレーディングされたSDRデータである場合に、最も目立つ。
【０１５８】
アーティファクトを潜在的に含む(ビデオシーケンス内の)ブロックは、ビデオエンコーダ20によって検出される。ビデオエンコーダ20は、アーティファクトを潜在的に含むかどうかを調べるために、ビデオシーケンスのビデオブロック内のピクセルの一部または全部をテストし得る。区分境界166、168、および169に関して、しきいピクセル値164、x_a(個別にしきいピクセル値164Aおよび164B)が定義され、区分境界166のしきいピクセル値164内にあるすべてのピクセル値がリストにおいて収集される。リストは、いくつかのブロックがしきいピクセル値164内のピクセル値を含むことを伝えるために使用され得る。一例では、各区分境界166、168、および169に関して、直方体162におけるピクセルは別個に記憶される。別の例では、すべての3つの成分(すなわち、ルーマおよび2つのクロマ値)においてすべての区分境界166、168、169に関して、ピクセルが収集される。別の例では、ピクセル値は、ルーマ軸に沿って区分境界166に関して収集されるだけである。ピクセル値127および128の間でルーマ区分が発生し、しきいピクセル値164が4である場合、第1の区分162Aに属し、レンジ[124,127]内のルーマ値を有するすべてのピクセルが第1のリストにおいて収集され、第2の区分162Bにおける、レンジ[128,131]内のルーマ値を有するすべてのピクセルが第2のリストにおいて収集される。さらなる一例では、異なるしきい値164Aおよび164Bが、区分境界166を共有する直方体区分162A、162Bに使用され得る。
【０１５９】
レイヤ間予測(CUレベルマージ、PUレベルマージ、スキップモード、レイヤ間予測候補に関係する残差予測)が、アーティファクトを潜在的に含むものとして識別されたブロック(CU/PU)に関して無効化され得る。
【０１６０】
図14は、本開示の技法による、ベースレイヤおよびエンハンスメントレイヤの色空間の直方体区分を示す概念図である。単一の成分(たとえば、ルーマまたはクロマ)に関して、ベースレイヤ区分172A〜Dがビデオエンコーダ20によってエンハンスメントレイヤ区分174A〜Dにマッピングされる。図13に関して説明したように、隣接する区分の各々に関して1つのリストである、2つのリストが、しきい値x_a 164内の(ビデオブロックからの)ピクセル値により作成され得る。2つのリストからの成分ピクセル値の各組合せに関して、しきい値x_b 176およびしきい値x_c 178が定義される。たとえば、第1のリストからの値k1および第2のリストからの値k2である。2つの比較のピクセル値差分チェックが、k1とk2との間およびk1のマッピングされた値とk2のマッピングされた値との間で行われる。第1の比較は、ベースレイヤ領域(区分172)におけるピクセル値差分が比較的小さいことを示す、k1とk2との間の差分がしきい値x_b 176を上回らない(すなわち、|k1-k2|<x_b)かどうかである。第2の比較は、エンハンスメントレイヤ領域(区分174)におけるピクセル値差分が比較的大きいことを示す、各区分に関してそれぞれのCGSテーブルを使用したk1のマッピングされた値(k1')とk2のマッピングされた値(k2')との間の差分がしきい値x_c 178を上回る(すなわち、|k1'-k2'|>x_c)かどうかである。両方の比較が真である場合、ブロックは、アーティファクトを潜在的に含むものとされる。
【０１６１】
一例では、しきい値x_b 176およびx_c 178の1つまたは複数のペアが定義され、しきい値の各ペアに関してピクセル値差分チェックが実行される。チェックのサブセット(またはチェックのすべて)が満たされる場合、ビデオエンコーダ20によるテスト対象のブロックはアーティファクトを潜在的に含むものとされる。たとえば、比較的大きい差分を検出するために(しきい値x_b 176およびしきい値x_c 178の場合の)しきい値の1つのペアが適用され得、比較的小さい変化を検出するために別のペアが適用され得る。ピクセル値差分チェックは、ベースレイヤピクセル値差分を比較するときに、より小さいしきい値、たとえば、しきい値x_b 176を使用し得る。ピクセル値差分チェックは、CGSマッピングされたベースレイヤピクセル値差分の場合に、より大きいしきい値、たとえば、しきい値x_c 178を使用し得る。ブロックにおけるベースレイヤピクセル値のピクセル差分が第1の(より小さい)しきい値よりも小さく、エンハンスメントレイヤにおけるピクセル値差分が第2の(より大きい)しきい値よりも大きいとき、レイヤ間予測が使用された場合にアーティファクトが目につくことがある。
【０１６２】
さらなる一例では、ピクセル値ペアのあるしきい値数tは、ピクセル値差分チェックを満たすペアの数がtよりも大きいときのみ、ブロックがアーティファクトを潜在的に含むものとされるように、定義される。別の例では、ピクセル値差分チェックは、(区分172A〜D、174A〜Dの間の)区分境界のサブセットに関してのみ実行される。たとえば、中間レンジ[256,384]内のルーマ値におけるアーティファクトは、比較的目につき、これは、目につくアーティファクトがより少ないことの利点の大半を有する一方で、より少ないチェックが行われる場合に、符号化時間が減らされ得ることを意味する。別の例では、ブロックのピクセル値の分散があるしきい値を上回らないときの、しきい値x_b 176およびx_c 178の1つのペアに関するピクセル値差分チェック。
【０１６３】
図15は、ビデオデータを符号化する例示的な動作を示すフローチャートである。図15の例示的な動作は、図11のビデオエンコーダ20によって実行されるものとして本明細書で説明する。
【０１６４】
本開示の技法によれば、ビデオエンコーダ20は、複数のビデオブロックを含むビデオデータを受信し得る(180)。複数のビデオブロックは、色空間における複数のピクセル値を含む。ビデオエンコーダ20は、色域スケーラビリティ(CGS)パラメータを取得し得る(182)。CGSパラメータを取得することは、複数の直方体区分に色空間を分割することを含み、複数の直方体区分の各々は、複数の直方体区分の間の少なくとも1つの区分境界を含む。CGSパラメータを取得することは、各色成分に関して複数の直方体区分に基づいて、3次元ルックアップテーブルを生成し、複数の直方体区分の各々に属するピクセル間の2乗平均値を最小化することを含み得る。
【０１６５】
ビデオエンコーダ20は、複数のビデオブロックを復号するときに、取得されたCGSパラメータにアーティファクトを生成させ得る特性を含む直方体区分におけるピクセル値を識別し得る(184)。CGSパラメータにアーティファクトを生成させ得る特性は、小さい値差分を有する隣接する直方体区分におけるピクセルのペアを含み、ピクセルのペアのマッピングされた値が、大きい値差分を有する。小さい値差分および大きい値差分は、1つまたは複数のしきい値に基づいて決定され得る。
【０１６６】
ビデオエンコーダ20は次いで、複数のビデオブロックを復号するときに、取得されたCGSパラメータにアーティファクトを生成させ得るピクセル値を含む複数のビデオブロックのうちのブロックを識別し得る(186)。ビデオエンコーダ20は、識別されたブロックに関してレイヤ間予測モードを無効化し得る(188)。ビデオエンコーダ20は、取得されたCGSパラメータとともにスケーラブルビデオコーディングプロセスを使用して、複数のビデオブロックを符号化し得る(190)。複数のビデオブロックを符号化することは、複数の直方体区分の各々に関して、3次元ルックアップテーブルにおける色値の線形色マッピング関数のためのCGSパラメータを符号化することを含み得る。ビデオエンコーダ20による符号化は、有効化された予測モードを使用し得る。
【０１６７】
スケーラブルビデオコーディングプロセスは、品質の異なるレイヤを有する1つまたは複数のサブセットビットストリームを含むビデオビットストリームの符号化を含み得る。たとえば、最下位空間および品質レイヤを有するベースレイヤならびに上位空間および/または品質レイヤを有するエンハンスメントレイヤがある。スケーラブルビデオコーディングプロセスを介して符号化されたビットストリームは、ビットストリーム順序で連続的であり、H.264に対するSVC拡張またはSHVCなどのスケーラブルビデオコーディング規格の文脈において1つのアクセスユニットを形成する、同じ時間インスタンスにおけるコーディングされたピクチャまたはスライスを含み得る。その場合、アクセスユニットは、表示順序とは異なる、たとえば、アクセスユニット間の時間予測関係によって決定され得る復号順序に従い得る。
【０１６８】
図16は、符号化されたビデオにおけるアーティファクトを識別し低減する例示的な動作を示すフローチャートである。図16の例示的な動作は、図11のビデオエンコーダ20によって実行されるものとして本明細書で説明する。
【０１６９】
本開示の技法によれば、ビデオエンコーダ20は、少なくとも1つの区分境界に関して、ピクセル値のしきい値を定義し得る(200)。ビデオエンコーダ20は、少なくとも1つの区分境界に隣接する複数の直方体区分のうちの直方体区分に関して、ピクセル値のしきい値内にあるすべてのピクセル値をピクセル値のリスト内に収集し得る(202)。ビデオエンコーダ20は、リスト上のピクセル値を含むブロックを識別し得る(204)。ビデオエンコーダ20は、識別されたブロックに対するレイヤ間予測を阻止し得る(206)。
【０１７０】
さらに、ビデオエンコーダ20は、すべての色成分(たとえば、ルーマおよびクロマ値)ですべての区分境界に関してピクセル情報を収集し得る。ビデオエンコーダ20はまた、区分境界の部分(たとえば、ルーマ軸の部分)に関するピクセルを収集し得る。たとえば、ピクセル値127および128の間でルーマ区分が発生し、しきい値が4である場合、第1の区分に属するすべてのピクセルがレンジ[124,127]内のルーマ値を有し、第1のリスト上で収集され、第2の区分に属するすべてのピクセルがレンジ[128,131]内のルーマ値を有し、第2のリストにおいて収集される。さらなる一例では、異なるしきい値が、区分境界を共有する区分に使用され得る。
【０１７１】
図17は、符号化されたビデオにおけるアーティファクトを識別し低減する例示的な動作を示すフローチャートである。図17の例示的な動作は、図11のビデオエンコーダ20によって実行されるものとして本明細書で説明する。
【０１７２】
本開示の技法によれば、ビデオエンコーダ20は、区分境界に対する第1の直方体区分に関して、ピクセル値のしきい値を定義し得る(210)。ビデオエンコーダ20は、少なくとも1つの区分境界に隣接する第1の直方体区分に関して、ピクセル値のしきい値内にあるすべてのピクセル値をピクセル値の第1のリスト内に収集し得る(212)。ビデオエンコーダ20は、少なくとも1つの区分境界に隣接する第2の直方体区分に関して、ピクセル値のしきい値内にあるすべてのピクセル値をピクセル値の第2のリスト内に収集し得る(214)。ビデオエンコーダ20は、第1のリスト上の第1のピクセル値と第2のリスト上の第2のピクセル値との間の第1の差分を判断し得る(216)。ビデオエンコーダ20は、第1のピクセル値の第1のCGSマッピングされた値と第2のピクセル値の第2のCGSマッピングされた値との間の第2の差分を判断し得る(218)。ビデオエンコーダ20は次いで、第1の差分が第2のしきい値よりも小さく、第2の差分が第3のしきい値よりも大きいときに、少なくとも1つのビデオブロックに関してレイヤ間予測モードを無効化し得る。
【０１７３】
さらに、ビデオエンコーダ20は、しきい値(x_bおよびx_c)の1つまたは複数のペアを定義することができ、しきい値の各ペアに関してピクセル値差分チェックが実行される。ビデオエンコーダ20は、チェックのサブセット、または他の例ではチェックのすべてが満たされるとき、ブロックをアーティファクトを潜在的に含むものとし得る。たとえば、しきい値の1つのペアは、比較的大きい差分を検出するために適用され得(たとえば、x_bおよびx_cが比較的大きい場合)、しきい値の別のペアは、比較的小さい変化を検出するために適用され得る(たとえば、x_bおよびx_cが比較的小さい場合)。別の例では、ピクセル値ペアのしきい値数tは、上記のピクセル条件チェックを満たすペアの数がtを上回るときのみ、ビデオエンコーダ20がブロックをアーティファクトを潜在的に含むものとし得るように、定義される。さらなる一例では、ピクセル値差分チェックは、区分境界のサブセットに関してのみビデオエンコーダ20によって実行される。たとえば、中間レンジ[256,384]内のルーマ値におけるアーティファクトは、非常に目につき、ピクセル値チェックのいくつかは、区分境界がこのレンジに入るときのみ実行される。別の例では、しきい値(x_b、x_c)の1つのペアに関するピクセル値差分チェックは、ブロックのピクセル値の分散があるしきい値を上回らないときのみビデオエンコーダ20によって適用される。
【０１７４】
図18は、CGSマッピングを変更する例示的な動作を示すフローチャートである。図18の例示的な動作は、図11のビデオエンコーダ20によって実行されるものとして本明細書で説明する。
【０１７５】
本開示の技法によれば、ビデオエンコーダ20は、特定のビデオブロックに関する最大数のピクセルを含む直方体区分を決定し得る(230)。ビデオエンコーダ20は次いで、直方体区分におけるブロックにおけるすべてのピクセルをマッピングするようにCGSマッピングを変更し得る(232)。
【０１７６】
図19は、CGSマッピングを変更する例示的な動作を示すフローチャートである。図19の例示的な動作は、図11のビデオエンコーダ20によって実行されるものとして本明細書で説明する。
【０１７７】
本開示の技法によれば、ビデオエンコーダ20は、直方体区分におけるすべてのピクセル値に基づいて、直方体区分のCGSパラメータを推定し得る(240)。ビデオエンコーダ20は、CGSパラメータの各マッピングされた値と元のエンハンスメントレイヤ参照値との間の複数の差分値を計算し得る(242)。ビデオエンコーダ20は、複数の差分値のうちの差分値がしきい値を上回る、直方体区分における少なくとも1つのピクセル値を除外し得る(244)。ビデオエンコーダ20は、直方体区分における除外されていないピクセル値に基づいて、直方体区分のCGSパラメータを再推定し得る(246)。
【０１７８】
図20は、CGS区分の数を変更する例示的な動作を示すフローチャートである。図20の例示的な動作は、図11のビデオエンコーダ20によって実行されるものとして本明細書で説明する。
【０１７９】
本開示の技法によれば、ビデオエンコーダ20はCGSパラメータを、ビットレートがある値を上回らないことを考慮して、より良いマッピング関数を利用するために積極的に更新し得る。これは、区分の数が多くなると、ビデオエンコーダ20にとって、マッピングされたピクチャのより良い推定が可能になるからである。ビデオエンコーダ20は、現在ピクチャまでに送られたCGSパラメータに対応するビットの数と現在ピクチャまでに送られたビットの総数との比率に基づいて、CGSビットバジェットを計算し得る(250)。ビデオエンコーダ20は、ビットバジェットが第1のしきい値を下回るかどうかを判断し得る(252)。yesの場合、ビデオエンコーダ20は、先行ピクチャの直方体区分の数と比較して、直方体区分の数を増やし得る(254)。noの場合、ビデオエンコーダ20は、ビットバジェットが第2のしきい値を上回るかどうかを判断し得る(256)。yesの場合、ビデオエンコーダ20は、先行ピクチャの直方体区分の数と比較して、直方体区分の数を減らし得る。noの場合、ビデオエンコーダ20は、直方体区分の数を、区分の以前の数が小さいときに増やし、直方体区分の数を、区分の以前の数大きいときに減らすことができる(260)。
【０１８０】
同様に、ビデオエンコーダ20は、区分の数を決定するために、以下のようなルールセットを適用し得る。
if(dBitCost<dBitCostT/6.0)
{
if(nPartNumLog2≦3)
{
nPartNumLog2+=2;
}
else
{
nPartNumLog2++;
}
}
else if(dBitCost≧dBitCostT)
{
if(nPartNumLog2≧6)
{
nPartNumLog2/= 2;
}
else
{
nPartNumLog2--;
}
}
else
{
if(nPartNumLog2≧6)
{
nPartNumLog2--;
}
else if(nPartNumLog2≦3)
{
nPartNumLog2 ++;
}
}
【０１８１】
dBitCost=m_nAccuFrameCGSBit/m_nAccuFrameBitであり、nAccuFrameCGSBitは、現在ピクチャまでにビットストリームにおいてCGSパラメータをシグナリングするために使用される総ビットであり、nAccuFrameBitは、現在ピクチャまでにビットストリームにおいてシグナリングされるビットの総数である。したがって、dBitCostは、ビットの総数に対するCGSパラメータを示すために使用されるビットの数の比率である。
【０１８２】
dBitCostTは、dBitCostを比較するために使用されるしきい値である。dBitCostTは、固定数または変数であり得、ビデオエンコーダ20によって設定され得る。
【０１８３】
nPartNumLog2は、区分(すなわち、直方体の数)を導出するために使用される変数である。概して、nPartNumLog2の値が大きくなるほど、直方体が多くなるが、直方体の数は、nPartNumLog2の値とともに単調に増加するわけではない。たとえば、Y空間に8個の区分があり、U空間およびV空間にそれぞれ2個の区分がある場合、nPartNumLog2の値は、log28+log22+log22、すなわち3+1+1に等しく、5個の区分になる。区分は最初に、Y(ルーマ)軸において発生し得る。次いで、たとえば、nPartNumLog2の値によって、依然として許容される場合、クロマ軸(UおよびV)が区分され得る。
【０１８４】
上記のコードセグメントは、たとえば、ビデオエンコーダ20によって実行されるとき、区分の数が増やされるべきか、それとも減らされるべきかを決定する。コードセグメントは、ビットの総数に対するCGSパラメータビットの比率がしきい値の1/6未満であるかどうかを判断することによって始まる。ビットの総数に対するCGSパラメータビットの比率がしきい値の1/6未満であり、区分の数が3未満である場合、2つの区分を追加する。ビットの総数に対するCGSパラメータビットの比率がしきい値の1/6未満であり、区分の数が3未満ではない場合、1つの区分を追加する。
【０１８５】
ビットの総数に対するCGSパラメータビットの比率がしきい値の1/6未満ではないが、比率がしきい値以上であり、区分の数が6以上である場合、区分の数は半分にされる。ビットの総数に対するCGSパラメータビットの比率がしきい値の1/6未満ではないが、比率がしきい値以上であり、区分の数が6以上ではない場合、区分の数はデクリメントされる。
【０１８６】
ビットの総数に対するCGSパラメータビットの比率がしきい値の1/6未満ではなく、比率がしきい値以上でもない場合に、区分の数が6以上である場合、区分の数をデクリメントする。区分の数が3以下である場合、区分の数をインクリメントする。この例では、区分の数は、区分の数を導出するために使用される変数によって置き換えられ得る。
【０１８７】
別の例では、ビデオエンコーダ20は、複数の直方体区分に色空間を分割し得る。ビデオエンコーダ20は、現在ピクチャまでに送られたCGSパラメータに対応するビットの数と現在ピクチャまでに送られたビットの総数との比率に少なくとも部分的に基づいて、CGSビットバジェットを計算し得る。ビデオエンコーダ20は、CGSビットバジェットが第1のしきい値を下回るときに、先行ピクチャの直方体区分の第2の数と比較して第1の値だけ、複数の直方体区分の数を増やすことができ、第1の値は、複数の直方体区分の数に基づいて決定される。ビデオエンコーダ20は、CGSビットバジェットが第2のしきい値を上回るときに、先行ピクチャの直方体区分の第2の数と比較して第2の値だけ、複数の直方体区分の数を減らすことができ、第2の値は、複数の直方体区分の数に基づいて決定される。ビデオエンコーダ20は、CGSビットバジェットが第1のしきい値以上または第2のしきい値以下であるときに、先行ピクチャの直方体区分の第2の数と比較して第3の値だけ、複数の直方体区分の数を変更することができ、第3の値は、複数の直方体区分の数に基づいて決定される。
【０１８８】
本開示の特定の態様は、説明を目的にHEVC規格の拡張に関して説明されている。しかしながら、本開示で説明する技法は、まだ開発されていない他の標準的なまたは独自のビデオコーディングプロセスを含む、他のビデオコーディングプロセスにとって有用であり得る。
【０１８９】
ビデオコーダは、本開示で説明するように、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングは、場合により、ビデオ符号化またはビデオ復号を指すことがある。
【０１９０】
例に応じて、本明細書で説明する技法のいずれかのいくつかの行為またはイベントは異なる順序で実行されてもよく、全体的に追加され、統合され、または省略されてもよい(たとえば、説明する行為またはイベントのすべてが技法の実施のために必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、順次的にではなく、たとえばマルチスレッド処理、割り込み処理、または複数のプロセッサを通じて同時に実行され得る。
【０１９１】
1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信されることがあり、かつハードウェアに基づく処理ユニットによって実行されることがある。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は一般に、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品がコンピュータ可読媒体を含み得る。
【０１９２】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、フラッシュメモリ、または、命令もしくはデータ構造の形式の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、いかなる接続も厳密にはコンピュータ可読媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから命令が送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まず、代わりに非一時的な有形記憶媒体を指すことを理解されたい。ディスク(disk)およびディスク(disc)は、本明細書で使用するとき、コンパクトディスク(disc)(CD)、レーザーディスク（登録商標）(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せはまた、コンピュータ可読媒体の範囲内に含まれるものとする。
【０１９３】
命令は、1つもしくは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積論理回路もしくはディスクリート論理回路などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に適した任意の他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明する機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュールの中で与えられることがあり、あるいは複合コーデックに組み込まれることがある。また、本技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
【０１９４】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、様々なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的側面を強調するために、様々な構成要素、モジュール、またはユニットが説明されているが、それらは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、コーデックハードウェアユニットにおいて結合されることがあり、または適切なソフトウェアおよび/もしくはファームウェアとともに、上記で説明したような1つもしくは複数のプロセッサを含む相互動作可能なハードウェアユニットの集合によって提供されることがある。
【０１９５】
様々な例が記載されている。これらおよび他の例は、以下の特許請求の範囲内に入る。
【符号の説明】
【０１９６】
10  ビデオ符号化および復号システム、システム
12  ソースデバイス、デバイス、ビデオデバイス
14  宛先デバイス、デバイス、ビデオデバイス
16  コンピュータ可読媒体
18  ビデオソース
20  ビデオエンコーダ
22  出力インターフェース
28  入力インターフェース
30  ビデオデコーダ
32  ディスプレイデバイス
40  モード選択ユニット
41  ビデオデータメモリ
42  動き推定ユニット
44  動き補償ユニット
46  イントラ予測ユニット
48  区分ユニット
50  加算器
52  変換処理ユニット
54  量子化ユニット
56  エントロピー符号化ユニット
58  逆量子化ユニット
60  逆変換処理ユニット
62  加算器
64  復号ピクチャバッファ
66  色予測処理ユニット
70  エントロピー復号ユニット
71  ビデオデータメモリ
72  動き補償ユニット
74  イントラ予測処理ユニット
76  逆量子化ユニット
78  逆変換処理ユニット
80  加算器
82  復号ピクチャバッファ
86  色予測処理ユニット
100  空間(S)次元0、次元
102  時間(T)次元、次元
104  信号対雑音比(SNR)または品質(Q)次元、次元
110  構造、ビットストリーム構造
112  レイヤ0、時間ベースレイヤ(レイヤ0)、ベースレイヤ
114  レイヤ1、ベースレイヤ
116  レイヤ2
117  レイヤ3
118  レイヤ4
120  アクセスユニット
120A〜E  スケーラブルビデオコーディングアクセスユニット
120A  アクセスユニット
120B  アクセスユニット
120C  アクセスユニット
120D  アクセスユニット
120E  アクセスユニット
122  3レイヤSHVCエンコーダ、SHVCエンコーダ
124  ベースレイヤエンコーダ、エンコーダ、HEVCエンコーダ
125  第1のエンハンスメントレイヤエンコーダ、エンコーダ、HEVCエンコーダ
126  第2のエンハンスメントレイヤエンコーダ、エンコーダ、HEVCエンコーダ
128  再サンプリングされたレイヤ間参照(ILR)ピクチャ
129  再サンプリングされたILRピクチャ
130  サンプルビデオシーケンス、SWG1サンプルビデオシーケンス
132  UHD色域BT.2020
134  HD色域BT.709、BT.709色域
136  国際照明委員会(CIE)-XYZ線形色空間
140  色域スケーラブルコーダ
142  ベースレイヤコーディングループ
144  色予測処理ユニット
146  エンハンスメントレイヤコーディングループ
150  3Dルックアップテーブル
160  ピクセル値領域
162  直方体
162A〜D  直方体区分
162A  第1の区分、直方体区分
162B  第2の区分、直方体区分
164  しきいピクセル値、しきい値x_a
164A  しきいピクセル値、しきい値
164B  しきいピクセル値、しきい値
166  区分境界
168  区分境界
169  区分境界
172  区分
172A〜D  ベースレイヤ区分、区分
174  区分
174A〜D  エンハンスメントレイヤ区分、区分
176  しきい値x_b
178  しきい値x_c
【図１】
2018522463.tif 000003
【図２】
2018522463.tif 000004
【図３】
2018522463.tif 000005
【図４】
2018522463.tif 000006
【図５】
2018522463.tif 000007
【図６】
2018522463.tif 000008
【図７】
2018522463.tif 000009
【図８】
2018522463.tif 000010
【図９（ａ）】
2018522463.tif 000011
【図９（ｂ）】
2018522463.tif 000012
【図１０】
2018522463.tif 000013
【図１１】
2018522463.tif 000014
【図１２】
2018522463.tif 000015
【図１３】
2018522463.tif 000016
【図１４】
2018522463.tif 000017
【図１５】
2018522463.tif 000018
【図１６】
2018522463.tif 000019
【図１７】
2018522463.tif 000020
【図１８】
2018522463.tif 000021
【図１９】
2018522463.tif 000022
【図２０】
2018522463.tif 000023
【国際調査報告】
2018522463.tif 000024
2018522463.tif 000025
2018522463.tif 000026