(57)【要約】  ビデオデータを復号するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータの第１のブロックを受信することと、第１のブロックのための量子化パラメータを決定することと、第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第１のブロックのための量子化パラメータを修正することと、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化解除プロセスを実施することと、ビデオデータの第２のブロックを受信することと、第２のブロックのための量子化パラメータと第１のブロックのための量子化パラメータとの間の差分を示す差分値を受信することと、受信された差分値および第１のブロックのための量子化パラメータに基づいて、第２のブロックのための量子化パラメータを決定することと、決定された量子化パラメータに基づいて、第２のブロックを復号することとを行うように構成された１つまたは複数のプロセッサとを含む。
2017523677.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
前記ビデオデータの第１のブロックを受信することと、
前記第１のブロックのための量子化パラメータを決定するための情報を受信することと、
前記第１のブロックが前記第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第１のブロックのための前記量子化パラメータを修正することと、
前記第１のブロックのための前記修正された量子化パラメータに基づいて、前記第１のブロックについての量子化解除プロセスを実施することと、
前記ビデオデータの第２のブロックを受信することと、
前記第２のブロックについて、前記第２のブロックのための量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の差分を示す差分値を受信することと、
前記受信された差分値および前記第１のブロックのための前記量子化パラメータに基づいて、前記第２のブロックのための前記量子化パラメータを決定することと、
前記第２のブロックのための前記決定された量子化パラメータに基づいて、前記第２のブロックを復号することと、
を備える方法。
【請求項２】
前記色空間変換モードがビデオデータの前記第２のブロックに対して有効にされていると決定したことに応答して、前記第２のブロックのための前記決定された量子化パラメータを修正することをさらに備え、
前記第２のブロックのための前記決定された量子化パラメータに基づいて前記第２のブロックを復号することは、
前記第２のブロックのための前記修正された量子化パラメータに基づいて前記第２のブロックについての量子化解除プロセスを実施することを備える、
請求項１に記載の方法。
【請求項３】
前記第２のブロックのための前記決定された量子化パラメータに基づいて前記第２のブロックを復号することは、
前記色空間変換モードが前記第２のブロックに対して無効にされていると決定したことに応答して、前記第２のブロックのための前記決定された量子化パラメータに基づいて前記第２のブロックについての量子化解除プロセスを実施することを備える、
請求項１に記載の方法。
【請求項４】
ビデオデータの前記第１のブロックが前記第１のブロックの残差データについての前記色空間変換モードを使ってコーディングされていると決定するための、前記第１のブロックについてのフラグを受信することをさらに備える、請求項１に記載の方法。
【請求項５】
前記第１のブロックのための前記量子化パラメータを決定するための情報を受信することは、前記第１のブロックのための前記量子化パラメータについての初期値を受信することを備える、請求項１に記載の方法。
【請求項６】
前記初期値を受信することは、スライスレベルで、前記量子化パラメータについての前記初期値を受信することを備える、請求項５に記載の方法。
【請求項７】
前記第２のブロックのための前記量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を、コーディングされたユニットレベルで受信することをさらに備える、請求項１に記載の方法。
【請求項８】
前記第２のブロックのための前記量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を受信することは、前記差分の絶対値を示すシンタックス要素を受信することと、前記差分の符号を示すシンタックス要素を受信することとを備える、請求項１に記載の方法。
【請求項９】
前記第１のブロックのための前記修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定することと、
前記第１のブロックに対して前記デブロックフィルタリングプロセスを実施することと、
をさらに備える、請求項１に記載の方法。
【請求項１０】
ビデオデータを符号化する方法であって、
ビデオデータの第１のブロックのための量子化パラメータを決定することと、
ビデオデータの前記第１のブロックが前記第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第１のブロックのための前記量子化パラメータを修正することと、
前記第１のブロックのための前記修正された量子化パラメータに基づいて、前記第１のブロックについての量子化プロセスを実施することと、
ビデオデータの第２のブロックのための量子化パラメータを決定することと、
前記第１のブロックのための前記量子化パラメータと前記第２のブロックのための前記量子化パラメータとの間の差分値をシグナリングすることと、
を備える方法。
【請求項１１】
色空間変換モードがビデオデータの前記第２のブロックに対して有効にされていると決定したことに応答して、前記第２のブロックのための前記量子化パラメータを修正すること、
前記第２のブロックのための前記修正された量子化パラメータに基づいて前記第２のブロックについての量子化プロセスを実施すること、
をさらに備える、請求項１０に記載の方法。
【請求項１２】
色空間変換モードがビデオデータの前記第２のブロックに対して無効にされていると決定したことに応答して、前記第２のブロックのための前記量子化パラメータに基づいて前記第２のブロックについての量子化プロセスを実施することをさらに備える、請求項１０に記載の方法。
【請求項１３】
ビデオデータの前記第１のブロックが前記第１のブロックの残差データについての前記色空間変換モードを使ってコーディングされているかどうかを示すための、前記第１のブロックについてのフラグを生成することをさらに備える、請求項１０に記載の方法。
【請求項１４】
ビデオデータの前記第１のブロックのための前記量子化パラメータを決定することは、前記第１のブロックのための前記量子化パラメータについての初期値を決定することを備え、前記方法は、
前記初期値を、前記第１のブロックを備えるスライス用のスライスヘッダ中でシグナリングすることをさらに備える、請求項１０に記載の方法。
【請求項１５】
前記第２のブロックのための前記量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を、コーディングされたユニットレベルでシグナリングすることをさらに備える、請求項１０に記載の方法。
【請求項１６】
前記第２のブロックのための前記量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値をシグナリングすることは、前記差分の絶対値を示すシンタックス要素を生成することと、前記差分の符号を示すシンタックス要素を生成することとを備える、請求項１０に記載の方法。
【請求項１７】
前記第１のブロックのための前記修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定することと、
前記第１のブロックに対して前記デブロックフィルタリングプロセスを実施することと、
をさらに備える、請求項１０に記載の方法。
【請求項１８】
ビデオデータを復号するためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサは、
前記ビデオデータの第１のブロックを受信することと、
前記第１のブロックのための量子化パラメータを決定するための情報を受信することと、
前記第１のブロックが前記第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第１のブロックのための前記量子化パラメータを修正することと、
前記第１のブロックのための前記修正された量子化パラメータに基づいて、前記第１のブロックについての量子化解除プロセスを実施することと、
前記ビデオデータの第２のブロックを受信することと、
前記第２のブロックについて、前記第２のブロックのための量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の差分を示す差分値を受信することと、
前記受信された差分値および前記第１のブロックのための前記量子化パラメータに基づいて、前記第２のブロックのための前記量子化パラメータを決定することと、
前記第２のブロックのための前記決定された量子化パラメータに基づいて、前記第２のブロックを復号することと、
を行うように構成される、デバイス。
【請求項１９】
前記１つまたは複数のプロセッサは、
前記色空間変換モードがビデオデータの前記第２のブロックに対して有効にされていると決定したことに応答して、前記第２のブロックのための前記決定された量子化パラメータを修正するようにさらに構成され、
前記第２のブロックのための前記決定された量子化パラメータに基づいて前記第２のブロックを復号するために、前記１つまたは複数のプロセッサは、前記第２のブロックのための前記修正された量子化パラメータに基づいて、前記第２のブロックについての量子化解除プロセスを実施する、
請求項１８に記載のデバイス。
【請求項２０】
前記第２のブロックのための前記決定された量子化パラメータに基づいて前記第２のブロックを復号するために、前記１つまたは複数のプロセッサは、
前記色空間変換モードが前記第２のブロックに対して無効にされていると決定したことに応答して、前記第２のブロックのための前記決定された量子化パラメータに基づいて、前記第２のブロックについての量子化解除プロセスを実施するように構成される、
請求項１８に記載のデバイス。
【請求項２１】
前記１つまたは複数のプロセッサは、
ビデオデータの前記第１のブロックが前記第１のブロックの残差データについての前記色空間変換モードを使ってコーディングされていると決定するための、前記第１のブロックについてのフラグを受信するようにさらに構成される、
請求項１８に記載のデバイス。
【請求項２２】
前記第１のブロックのための前記量子化パラメータを決定するための情報を受信するために、前記１つまたは複数のプロセッサは、前記第１のブロックのための前記量子化パラメータについての初期値を受信する、請求項１８に記載のデバイス。
【請求項２３】
前記初期値を受信するために、前記１つまたは複数のプロセッサは、スライスレベルで、前記量子化パラメータについての前記初期値を受信する、請求項２２に記載のデバイス。
【請求項２４】
前記１つまたは複数のプロセッサは、
前記第２のブロックのための前記量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を、コーディングされたユニットレベルで受信するようにさらに構成される、請求項１８に記載のデバイス。
【請求項２５】
前記第２のブロックのための前記量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を受信するために、前記１つまたは複数のプロセッサは、前記差分の絶対値を示すシンタックス要素を受信し、前記差分の符号を示すシンタックス要素を受信する、請求項１８に記載のデバイス。
【請求項２６】
前記１つまたは複数のプロセッサは、
前記第１のブロックのための前記修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定することと、
前記第１のブロックに対して前記デブロックフィルタリングプロセスを実施することと、
を行うようにさらに構成される、請求項１８に記載のデバイス。
【請求項２７】
前記デバイスは、
マイクロプロセッサ、
集積回路（ＩＣ）、および
前記ビデオデコーダを備えるワイヤレス通信デバイスのうちの１つを備える、
請求項１８に記載のデバイス。
【請求項２８】
ビデオデータを符号化するためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサは、
ビデオデータの第１のブロックのための量子化パラメータを決定することと、
ビデオデータの前記第１のブロックが前記第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第１のブロックのための前記量子化パラメータを修正することと、
前記第１のブロックのための前記修正された量子化パラメータに基づいて、前記第１のブロックについての量子化プロセスを実施することと、
ビデオデータの第２のブロックのための量子化パラメータを決定することと、
前記第１のブロックのための前記量子化パラメータと前記第２のブロックのための前記量子化パラメータとの間の差分値をシグナリングすることと、
を行うように構成される、デバイス。
【請求項２９】
前記１つまたは複数のプロセッサは、
色空間変換モードがビデオデータの前記第２のブロックに対して有効にされていると決定したことに応答して、前記第２のブロックのための前記量子化パラメータを修正すること、
前記第２のブロックのための前記修正された量子化パラメータに基づいて前記第２のブロックについての量子化プロセスを実施すること、
を行うようにさらに構成される、請求項２８に記載のデバイス。
【請求項３０】
前記１つまたは複数のプロセッサは、
色空間変換モードがビデオデータの前記第２のブロックに対して無効にされていると決定したことに応答して、前記第２のブロックのための前記量子化パラメータに基づいて前記第２のブロックについての量子化プロセスを実施するようにさらに構成される、
請求項２８に記載のデバイス。
【請求項３１】
前記１つまたは複数のプロセッサは、
ビデオデータの前記第１のブロックが前記第１のブロックの残差データについての前記色空間変換モードを使ってコーディングされているかどうかを示すための、前記第１のブロックについてのフラグを生成するようにさらに構成される、
請求項２８に記載のデバイス。
【請求項３２】
ビデオデータの前記第１のブロックのための前記量子化パラメータを決定することは、前記第１のブロックのための前記量子化パラメータについての初期値を決定することを備え、前記１つまたは複数のプロセッサは、
前記初期値を、前記第１のブロックを備えるスライス用のスライスヘッダ中でシグナリングするようにさらに構成される、
請求項２８に記載のデバイス。
【請求項３３】
前記１つまたは複数のプロセッサは、
前記第２のブロックのための前記量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値を、コーディングされたユニットレベルでシグナリングするようにさらに構成される、
請求項２８に記載のデバイス。
【請求項３４】
前記第２のブロックのための前記量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の前記差分を示す前記差分値をシグナリングするために、前記１つまたは複数のプロセッサは、前記差分の絶対値を示すシンタックス要素を生成することと、前記差分の符号を示すシンタックス要素を生成することを行うようにさらに構成される、請求項２８に記載のデバイス。
【請求項３５】
前記１つまたは複数のプロセッサは、
前記第１のブロックのための前記修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定することと、
前記第１のブロックに対して前記デブロックフィルタリングプロセスを実施することと、
を行うようにさらに構成される、請求項２８に記載のデバイス。
【請求項３６】
前記デバイスは、
マイクロプロセッサ、
集積回路（ＩＣ）、または
前記ビデオエンコーダを備えるワイヤレス通信デバイスのうちの少なくとも１つを備える、
請求項２８に記載のデバイス。
【請求項３７】
ビデオ復号のための装置であって、
ビデオデータの第１のブロックを受信するための手段と、
前記第１のブロックのための量子化パラメータを決定するための情報を受信するための手段と、
前記第１のブロックが前記第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第１のブロックのための前記量子化パラメータを修正するための手段と、
前記第１のブロックのための前記修正された量子化パラメータに基づいて、前記第１のブロックについての量子化解除プロセスを実施するための手段と、
前記ビデオデータの第２のブロックを受信するための手段と、
前記第２のブロックについて、前記第２のブロックのための量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の差分を示す差分値を受信するための手段と、
前記受信された差分値および前記第１のブロックのための前記量子化パラメータに基づいて、前記第２のブロックのための前記量子化パラメータを決定するための手段と、
前記第２のブロックのための前記決定された量子化パラメータに基づいて、前記第２のブロックを復号するための手段と、
を備える装置。
【請求項３８】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、１つまたは複数のプロセッサによって実行されたときに、前記１つまたは複数のプロセッサに、
ビデオデータの第１のブロックを受信することと、
前記第１のブロックのための量子化パラメータを決定するための情報を受信することと、
前記第１のブロックが前記第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、前記第１のブロックのための前記量子化パラメータを修正することと、
前記第１のブロックのための前記修正された量子化パラメータに基づいて、前記第１のブロックについての量子化解除プロセスを実施することと、
前記ビデオデータの第２のブロックを受信することと、
前記第２のブロックについて、前記第２のブロックのための量子化パラメータと前記第１のブロックのための前記量子化パラメータとの間の差分を示す差分値を受信することと、
前記受信された差分値および前記第１のブロックのための前記量子化パラメータに基づいて、前記第２のブロックのための前記量子化パラメータを決定することと、
前記第２のブロックのための前記決定された量子化パラメータに基づいて、前記第２のブロックを復号することと、
を行わせる、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本願は、その内容全体が参照によって本明細書に組み込まれている、
２０１４年６月２０日に出願した米国仮出願第６２／０１５，３４７号
２０１４年１０月１０日に出願した米国仮出願第６２／０６２，７９７号
の利益を主張するものである。
【０００２】
[0002]本開示は、ビデオの符号化および復号に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ  １０，アドバンストビデオコーディング（ＡＶＣ）、高効率ビデオコーディング（ＨＥＶＣ）規格によって定義された規格、および現在開発中のそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ符号化技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（ピクチャ内）予測および／または時間的（ピクチャ間）予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャは、フレームと呼ばれる場合があり、参照ピクチャは、参照フレームと呼ばれる場合がある。
【０００５】
[0005]空間的または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックをポイントする動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初に２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]本開示は、色空間コンバージョンコーディングが使われるときに量子化パラメータを決定することに関連した技法について記載し、さらに、色空間コンバージョンコーディングが使われるとき、エンコーダからデコーダに量子化パラメータをシグナリングするための技法について記載する。
【０００７】
[0007]一例では、ビデオデータを復号する方法は、ビデオデータの第１のブロックを受信することと、第１のブロックのための量子化パラメータを決定するための情報を受信することと、第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第１のブロックのための量子化パラメータを修正することと、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化解除プロセスを実施することと、ビデオデータの第２のブロックを受信することと、第２のブロックについて、第２のブロックのための量子化パラメータと第１のブロックのための量子化パラメータとの間の差分を示す差分値を受信することと、受信された差分値および第１のブロックのための量子化パラメータに基づいて、第２のブロックのための量子化パラメータを決定することと、第２のブロックのための決定された量子化パラメータに基づいて、第２のブロックを復号することとを含む。
【０００８】
[0008]別の例では、ビデオデータを符号化する方法は、ビデオデータの第１のブロックのための量子化パラメータを決定することと、ビデオデータの第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第１のブロックのための量子化パラメータを修正することと、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化プロセスを実施することと、ビデオデータの第２のブロックのための量子化パラメータを決定することと、第１のブロックのための量子化パラメータと第２のブロックのための量子化パラメータとの間の差分値をシグナリングすることとを含む。
【０００９】
[0009]別の例では、ビデオデータを復号するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータの第１のブロックを受信することと、第１のブロックのための量子化パラメータを決定するための情報を受信することと、第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第１のブロックのための量子化パラメータを修正することと、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化解除プロセスを実施することと、ビデオデータの第２のブロックを受信することと、第２のブロックについて、第２のブロックのための量子化パラメータと第１のブロックのための量子化パラメータとの間の差分を示す差分値を受信することと、受信された差分値および第１のブロックのための量子化パラメータに基づいて、第２のブロックのための量子化パラメータを決定することと、第２のブロックのための決定された量子化パラメータに基づいて、第２のブロックを復号することとを行うように構成された１つまたは複数のプロセッサとを含む。
【００１０】
[0010]別の例では、ビデオデータを符号化するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータの第１のブロックのための量子化パラメータを決定することと、ビデオデータの第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第１のブロックのための量子化パラメータを修正することと、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化プロセスを実施することと、ビデオデータの第２のブロックのための量子化パラメータを決定することと、第１のブロックのための量子化パラメータと第２のブロックのための量子化パラメータとの間の差分値をシグナリングすることとを行うように構成された１つまたは複数のプロセッサとを含む。
【００１１】
[0011]別の例では、ビデオ復号するための装置であって、該装置は、ビデオデータの第１のブロックを受信するための手段と、第１のブロックのための量子化パラメータを決定するための情報を受信するための手段と、第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第１のブロックのための量子化パラメータを修正するための手段と、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化解除プロセスを実施するための手段と、ビデオデータの第２のブロックを受信するための手段と、第２のブロックについて、第２のブロックのための量子化パラメータと第１のブロックのための量子化パラメータとの間の差分を示す差分値を受信するための手段と、受信された差分値および第１のブロックのための量子化パラメータに基づいて、第２のブロックのための量子化パラメータを決定するための手段と、第２のブロックのための決定された量子化パラメータに基づいて、第２のブロックを復号するための手段とを備える。
【００１２】
[0012]別の例では、コンピュータ可読記憶媒体は、１つまたは複数のプロセッサによって実行されたときに、１つまたは複数のプロセッサに、ビデオデータの第１のブロックを受信することと、第１のブロックのための量子化パラメータを決定するための情報を受信することと、第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第１のブロックのための量子化パラメータを修正することと、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化解除プロセスを実施することと、ビデオデータの第２のブロックを受信することと、第２のブロックについて、第２のブロックのための量子化パラメータと第１のブロックのための量子化パラメータとの間の差分を示す差分値を受信することと、受信された差分値および第１のブロックのための量子化パラメータに基づいて、第２のブロックのための量子化パラメータを決定することと、第２のブロックのための決定された量子化パラメータに基づいて、第２のブロックを復号することと、を行わせる命令を記憶している。
【００１３】
[0013]本開示の１つまたは複数の例の詳細は、添付図面と下の説明とに示される。本開示の他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】[0014]本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0015]イントラ予測モードでの高効率ビデオコーディング（ＨＥＶＣ）を示す概念図。
【図３Ａ】[0016]本開示の１つまたは複数の技法による、マージモードと高度動きベクトル予測（ＡＭＶＰ）モードとのための空間隣接動きベクトル候補を示す概念図。
【図３Ｂ】本開示の１つまたは複数の技法による、マージモードと高度動きベクトル予測（ＡＭＶＰ）モードとのための空間隣接動きベクトル候補を示す概念図。
【図４】[0017]本開示の１つまたは複数の技法によるイントラブロックコピー（ＢＣ）の一例を示す概念図。
【図５】[0018]本開示の１つまたは複数の技法による、イントラ８×８ブロックのためのターゲットブロックおよび参照サンプルの一例を示す概念図。
【図６】[0019]本開示で説明される技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図７】[0020]本開示で説明される技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図８】[0021]本開示の技法による例示的なビデオ復号方法を示すフローチャート。
【図９】[0022]本開示の技法による例示的なビデオ復号方法を示すフローチャート。
【発明を実施するための形態】
【００１５】
[0023]本開示は、最近確定された高効率ビデオコーディング（ＨＥＶＣ）規格の新興スクリーンコンテンツコーディング（ＳＣＣ）拡張および範囲拡張（ＲＣＥｘ）に関連した技法を含むビデオコーディング技法について記載する。ＳＣＣおよび範囲拡張は、高ビット深度（たとえば、８ビットを超える）および／または高クロマサンプリングフォーマットをサポートすることが可能なように設計中であり、そのために、ベースＨＥＶＣ規格には含まれていない新たなコーディングツールを含むように設計中である。
【００１６】
[0024]１つのそのようなコーディングツールが、色空間コンバージョンコーディングである。色空間コンバージョンコーディングにおいて、ビデオエンコーダは、より良好なコーディング品質（たとえば、より良好なレート歪みトレードオフ）を達成するために、残差データを、第１の色空間（たとえば、ＹＣｂＣｒ）から第２の色空間（たとえば、ＲＧＢ）にコンバートすることができる。残差データの色空間にかかわらず、ビデオエンコーダは一般に、残差データを変換係数に変換し、変換係数を量子化する。ビデオデコーダは残差データを再構築するために、変換係数を量子化解除し、変換係数を逆変換するという逆プロセスを実施する。ビデオエンコーダは、変換係数を量子化する際に使われたスケーリングの量を示す量子化パラメータをビデオデコーダにシグナリングする。量子化パラメータは、デブロックフィルタリングなど、他のビデオコーディングプロセスによっても使われ得る。
【００１７】
[0025]本開示は、色空間コンバージョンコーディングが使われるときに量子化パラメータを決定することに関連した技法について記載し、さらに、色空間コンバージョンコーディングが使われるとき、エンコーダからデコーダに量子化パラメータをシグナリングするための技法について記載する。たとえば、色空間コンバージョンコーディングにおいて、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）が、第１のブロックのための量子化パラメータを修正し得る。第２のブロックのための量子化パラメータ用に、ビデオコーダは、差分値についての情報をコーディング（たとえば、符号化または復号）し得る。本開示に記載される技法において、差分値は、第１のブロックのための量子化パラメータ（すなわち、修正されていない量子化パラメータ）と第２のブロックのための量子化パラメータとの間の差分である。
【００１８】
[0026]図１は、スクリーンコンテンツコーディングのための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されているように、システム１０は、宛先デバイス１４によって後の時点で復号されるべき符号化ビデオデータを提供するソースデバイス１２を含む。具体的には、ソースデバイス１２は、コンピュータ可読媒体１６を介して宛先デバイス１４にビデオデータを提供する。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００１９】
[0027]宛先デバイス１４は、コンピュータ可読媒体１６を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な、任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路など、任意のワイヤレス通信媒体またはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を容易にするために有用であり得る任意の他の機器を含み得る。
【００２０】
[0028]いくつかの例では、ソースデバイス１２は、符号化されたデータを出力し得、該符号化データは記憶デバイスに出力され得る。同様に、入力インターフェースは、記憶デバイスからの符号化データにアクセスし得る。記憶デバイスは、ハードドライブ、Ｂｌｕｅ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することができ、その符号化ビデオデータを宛先デバイス１４に送信することができる、任意のタイプのサーバであり得る。例示的なファイルサーバには、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を通して、符号化ビデオデータにアクセスすることができる。これは、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはファイルサーバに記憶された符号化ビデオデータにアクセスするために好適である両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００２１】
[0029]本開示の技法は、ワイヤレスの適用例または設定に必ずしも限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話などの適用例をサポートするために一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２２】
[0030]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によると、ソースデバイス１２のビデオエンコーダ２０は、色空間コンバージョンプロセスを使用してビデオブロックを符号化するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または配置を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部のビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００２３】
[0031]図１の示されるシステム１０は一例にすぎない。色空間コンバージョンプロセスを使用してビデオブロックをコーディングするための技法は、どのデジタルビデオ符号化および／または復号デバイスによっても実施され得る。概して、本開示の技法はビデオコーディングデバイスによって実施されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実施され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４への送信のためのコーディングされたビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのために、ビデオデバイス１２とビデオデバイス１４との間で一方向または双方向のビデオ送信をサポートし得る。
【００２４】
[0032]ソースデバイス１２のビデオソース１８は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータにより生成されたビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００２５】
[0033]コンピュータ可読媒体１６は、ワイヤレスブロードキャストもしくはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示されず）は、たとえば、ネットワーク送信を介して、ソースデバイス１２から符号化ビデオデータを受信し、符号化ビデオデータを宛先デバイス１４に提供し得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、様々な例では、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００２６】
[0034]宛先デバイス１４の入力インターフェース２８はコンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、ビデオエンコーダ２０によって定義されビデオデコーダ３０によっても使用される、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号ビデオデータをユーザに表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００２７】
[0035]ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途について集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、本開示の技法を実施するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダの中に含まれてよく、そのいずれかが、デバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合されてよい。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話機などのワイヤレス通信デバイスを備えることができる。
【００２８】
[0036]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、それのスケーラブルビデオコーディング（ＳＶＣ）およびマルチビュービデオコーディング（ＭＶＣ）拡張を含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４とを含む。新しいビデオコーディング規格、すなわち高効率ビデオコーディング（ＨＥＶＣ）の設計が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）およびＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ）のビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）によって確定された。ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣなどのビデオコーディング規格に従って動作することができ、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、ＭＰＥＧ−４，Ｐａｒｔ  １０，アドバンストビデオコーディング（ＡＶＣ）と代替的に呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００２９】
[0037]ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、共同ビデオ部会（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣムービングピクチャエキスパートグループ（ＭＰＥＧ）とともにＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、Ｈ．２６４規格に概して準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ研究グループによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」に記載されており、本明細書ではＨ．２６４規格もしくはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格もしくは仕様と呼ばれる場合がある。共同ビデオ部会（ＪＶＴ）は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００３０】
[0038]ＪＣＴ−ＶＣはＨＥＶＣ規格を開発している。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーダの発展型モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対して、ビデオコーダのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００３１】
[0039]概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが一連のコーディングツリーユニット（ＣＴＵ）に分割され得ることを記載している。ＣＴＵはツリーブロックまたは最大コーディングユニット（ＬＣＵ）と呼ばれることもある。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。コーディングツリーブロックは、サンプルのＮ×Ｎのブロックであり得る。ビットストリーム内のシンタックスデータは、ＬＣＵのサイズを定義し得、ＬＣＵは、ピクセルの個数に関して最大のコーディングユニットである。
【００３２】
[0040]ＨＥＶＣでは、スライス中の最大コーディングユニットはコーディングツリーブロック（ＣＴＢ）と呼ばれる。ＣＴＢは４分木を含んでおり、そのノードはコーディングユニット（ＣＵ）と呼ばれる。ＣＴＢのサイズは、ＨＥＶＣメインプロファイルにおいて１６×１６から６４×６４にわたり得るが、８×８ＣＴＢサイズなどのより小さいサイズ、およびより大きいサイズもサポートされ得る。
【００３３】
[0041]本開示は、サンプルの１つまたは複数のブロックのサンプルをコーディングするために使用される１つまたは複数のサンプルブロックおよびシンタックス構造を指すために、「ビデオユニット」または「ビデオブロック」または「ブロック」という用語を使用する場合がある。例示的なタイプのビデオユニットは、ＣＴＵ、ＣＵ、ＰＵ、変換ユニット（ＴＵ）、マクロブロック、マクロブロック区分などを含み得る。いくつかのコンテキストでは、ＰＵの説明は、マクロブロックまたはマクロブロック区分の説明と交換され得る。
【００３４】
[0042]スライスは、コーディング順序で、いくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従って、コーディングユニット（ＣＵ）にスプリットされ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードがツリーブロックに対応する。ＣＵが４つのサブＣＵにスプリットされる場合、ＣＵに対応するノードは、４つのリーフノードを含み、その各々は、サブＣＵの１つに対応する。
【００３５】
[0043]４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木中のノードは、そのノードに対応するＣＵがサブＣＵにスプリットされるかどうかを示すスプリットフラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義されてよく、ＣＵがサブＣＵにスプリットされるかどうかに依存し得る。ＣＵがさらにスプリットされない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的スプリットが存在しない場合でも、リーフＣＵの４つのサブＣＵはリーフＣＵとも呼ばれることになる。たとえば、１６×１６サイズのＣＵがさらにスプリットされない場合、その１６×１６ＣＵが決してスプリットされなくても、４つの８×８サブＣＵはリーフＣＵとも呼ばれる。
【００３６】
[0044]ＣＵは、同じサイズのＣＴＢであることができ、８×８ほどの小ささであることができる。各ＣＵは１つの予測モードでコーディングされる。ＣＵがインター予測モードを使ってコーディングされるとき（すなわち、ＣＵがインターコーディングされるとき）、ＣＵは、２つ以上の予測ユニット（ＰＵ）にさらに区分され得る。他の例では、ＣＵは、さらなる区分が適用されないとき、ちょうど１つのＰＵを含み得る。ＣＵが２つのＰＵに区分される例において、各ＰＵは、ＣＵの半分に等しいサイズである矩形、またはＣＵの１／４もしくは３／４サイズである２つの矩形であり得る。ＨＥＶＣでは、最小ＰＵサイズは８×４および４×８である。
【００３７】
[0045]ＣＵは、ＣＵがサイズの特異性を有しないことを別にすれば、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、（サブＣＵとも呼ばれる）４つの子ノードにスプリットされ得、各子ノードは、今度は親ノードとなり、別の４つの子ノードにスプリットされ得る。４分木のリーフノードと呼ばれる、最終的なスプリットされていない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コーディングされたビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックがスプリットされ得る最大回数を定義することができ、コーディングノードの最小サイズを定義することができる。それに応じて、ビットストリームはまた、最小コーディングユニット（ＳＣＵ）を定義し得る。本開示では、「ブロック」という用語を、ＨＥＶＣのコンテキストにおいてＣＵ、ＰＵ、またはＴＵのうちのいずれかを、または他の規格のコンテキストにおいて類似のデータ構造（たとえば、Ｈ．２６４／ＡＶＣのマクロブロックおよびそのサブブロック）を指すために使用する。
【００３８】
[0046]ＣＵは、コーディングノードと、コーディングノードに関連付けられた予測ユニット（ＰＵ）および変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルを有するツリーブロックのサイズまでに及ぶ場合がある。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連付けられたシンタックスデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分を記述し得る。区分モードは、ＣＵがスキップまたは直接モードで符号化されるのか、イントラ予測モード符号化されるのか、それともインター予測モードで符号化されるのかの間で異なってもよい。ＰＵは、形状が非正方形になるように区分され得る。ＣＵに関連付けられたシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状において正方形または非正方形（たとえば、長方形）であってもよい。
【００３９】
[0047]ＨＥＶＣ規格は、異なるＣＵに対しては異なり得る、ＴＵに従った変換を可能にする。ＴＵは通常、区分されたＬＣＵについて定義される所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、必ずそうであるとは限らない。ＴＵは通常、ＰＵと同じサイズであるか、またはそれよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ）として知られる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフードは、変換ユニット（ＴＵ）と呼ばれ得る。ＴＵに関連付けられたピクセル差分値は、変換係数を生成するために変換され得、変換係数は量子化され得る。
【００４０】
[0048]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵのすべてまたは一部分に対応する空間エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵについてのデータは、残差４分木（ＲＱＴ）中に含まれ得、残差４分木は、ＰＵに対応するＴＵについてのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、そのＰＵについての１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００４１】
[0049]例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測と、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称ＰＵサイズでのインター予測とをサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測用の非対称区分をサポートする。非対称区分では、ＣＵの一方の方向は区分されず、他方の方向は、２５％と７５％に区分される。２５％区分に対応するＣＵの部分は、「ｎ」とそれに続く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」の指示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分される２Ｎ×２Ｎ  ＣＵを指す。
【００４２】
[0050]本開示では、たとえば１６×１６ピクセルまたは１６かける１６ピクセルなど、「Ｎ×Ｎ」および「ＮかけるＮ（N by N）」は、垂直および水平の寸法に関して、ビデオブロックのピクセル範囲を示すために区別なく使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ここでＮは非負の整数値を表す。ブロック内のピクセルは、行および列に配列され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはＮ×Ｍピクセルを備えてよく、ここで、Ｍは必ずしもＮに等しいとは限らない。
【００４３】
[0051]１つまたは複数のＰＵを有するリーフＣＵは、１つまたは複数の変換ユニット（ＴＵ）を含み得る。変換ユニットは、上述されたように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットにスプリットされるかどうかを示し得る。次いで、各変換ユニットは、さらなるサブＴＵにさらにスプリットされ得る。ＴＵは、さらにスプリットされないとき、リーフＴＵと呼ばれ得る。概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは、同じイントラ予測モードを共有する。すなわち、リーフＣＵのすべてのＴＵの予測値を計算するために、同じイントラ予測モードが概して適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応するＣＵの部分と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵはＰＵよりも大きくても、または小さくてもよい。イントラコーディングの場合、ＰＵは、同じＣＵの対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００４４】
[0052]ＨＥＶＣは、予測残差をコーディングするために４×４、８×８、１６×１６、および３２×３２の４つの変換ユニット（ＴＵ）サイズを指定する。ＣＵは、４つ以上のＴＵに再帰的に区分され得る。ＴＵは、離散コサイン変換（ＤＣＴ）と同様である整数ベースの関数を使用し得る。さらに、いくつかの例では離散サイン変換（ＤＳＴ）から導出された整数変換を使用して、イントラコーディングされた領域に属する４×４ルーマ変換ブロックが変換され得る。クロマ変換ブロックは、同じＴＵサイズをルーマ変換ブロックとして使用し得る。
【００４５】
[0053]その上、リーフＣＵのＴＵは、残差４分木（ＲＱＴ）と呼ばれる、４分木データ構造にも関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してツリーブロック（またはＬＣＵ）に対応する。スプリットされないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、別段に明記されていない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【００４６】
[0054]ＣＵがインターコーディングされるとき、各ＰＵに対して１つの動き情報セットが存在し得る。ＰＵがＢスライス中にあるときなど、いくつかの例では、各ＰＵに対して２つの動き情報セットが存在し得る。さらに、各ＰＵは、各ＰＵについての動き情報のセットを導出するために一意のインター予測モードでコーディングされ得る。
【００４７】
[0055]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャのグループ（ＧＯＰ）は、一般に、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャの１つもしくは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、スライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は通常、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し、指定のコーディング規格に応じてサイズが異なり得る。
【００４８】
[0056]図２は、ＨＥＶＣイントラ予測モードを示す概念図２５０である。各ＰＵのルーマ成分のために、図２に関して説明されるように、（２から３４までインデックス付けされた）３３個の角度イントラ予測モードと、（１でインデックス付けされた）ＤＣモードと、（０でインデックス付けされた）平面モードとをもつイントラ予測方法が利用される。
【００４９】
[0057]上記の３５個のイントラ予測モードに加えて、イントラパルスコード変調（Ｉ−ＰＣＭ）と称する、もう１つのイントラ予測モードもＨＥＶＣによって採用される。Ｉ−ＰＣＭモードでは、予測サンプルはあらかじめ定義されたビット数によってコーディングされるが、予測、変換、量子化、およびエントロピーコーディングはバイパスされる。Ｉ−ＰＣＭモードの主な目的は、信号が他のイントラ予測モードによって効率的にコーディングされることのできない状況に対処することである。
【００５０】
[0058]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングに続いて、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後の、変換領域における係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵのための変換係数を生成するために、ＴＵを変換し得る。
【００５１】
[0059]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実施し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために、変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減し得る。たとえば、量子化中にｎビット値をｍビット値に切り捨てることができ、ここで、ｎはｍよりも大きい。
【００５２】
[0060]量子化の後に、ビデオエンコーダ２０は、変換係数を走査して、量子化された変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、より高いエネルギー（したがってより低い周波数）の係数をアレイの前方に配置し、より低いエネルギー（したがってより高い周波数）の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、量子化された変換係数を走査して、エントロピー符号化され得る直列化されたベクトルを生成するために、あらかじめ定義された走査順序を使用することができる。他の例では、ビデオエンコーダ２０は適応型走査を実施し得る。量子化された変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化方法に従って、１次元ベクトル中の変換係数を表すシンタックス要素をエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０によって使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化し得る。
【００５３】
[0061]ビデオエンコーダ２０は、コード化ピクチャおよび関連データの表現を形成するビットのシーケンスを含む、ビットストリームを出力することができる。したがって、このビットストリームは、ビデオデータの符号化表現を備える。ビットストリームは、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットのシーケンスを備える場合がある。ＮＡＬユニットは、ＮＡＬユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが散在しているローバイトシーケンスペイロード（ＲＢＳＰ）の形でそのデータを含むバイトとを含む、シンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ＲＢＳＰをカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの例では、ＲＢＳＰはゼロビットを含む。
【００５４】
[0062]異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、異なるタイプのＮＡＬユニットは、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、コード化スライス、補足エンハンスメント情報（ＳＥＩ）などに関する異なるＲＢＳＰをカプセル化することができる。ビデオコーディングデータに対するＲＢＳＰ（パラメータセットおよびＳＥＩメッセージに対するＲＢＳＰに対立するものとして）をカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれることがある。ＨＥＶＣ（すなわち、非マルチレイヤＨＥＶＣ）では、アクセスユニットは、復号順序が連続しており、ちょうど１つのコード化ピクチャを含む、ＮＡＬユニットのセットであり得る。コード化ピクチャのコード化スライスＮＡＬユニットに加えて、アクセスユニットは、コード化ピクチャのスライスを含んでいない他のＮＡＬユニットをも含み得る。いくつかの例では、アクセスユニットの復号により、復号ピクチャが常に生じ得る。補足エンハンスメント情報（ＳＥＩ）は、ＶＣＬ  ＮＡＬユニットからのコード化ピクチャのサンプルを復号するために必要ではない情報を含んでいる。ＳＥＩ  ＲＢＳＰは、１つまたは複数のＳＥＩメッセージを含む。
【００５５】
[0063]上で手短に示したように、ＮＡＬユニットは、ＶＰＳ、ＳＰＳ、およびＰＰＳのためのＲＢＳＰをカプセル化することができる。ＶＰＳは、０個以上のコード化ビデオシーケンス（ＣＶＳ）全体に適用されるシンタックス要素を備えるシンタックス構造である。ＳＰＳは、０個以上のＣＶＳ全体に適用されるシンタックス要素を備えるシンタックス構造でもある。ＳＰＳは、ＳＰＳがアクティブであるときにアクティブであるＶＰＳを識別するシンタックス要素を含み得る。したがって、ＶＰＳのシンタックス要素は、ＳＰＳのシンタックス要素よりも一般的に適用可能であり得る。ＰＰＳは、０個以上のコード化ピクチャに適用されるシンタックス要素を備えるシンタックス構造である。ＰＰＳは、ＰＰＳがアクティブであるときアクティブであるＳＰＳを識別するシンタックス要素を含む場合がある。スライスのスライスヘッダは、スライスがコーディングされているときにアクティブであるＰＰＳを示すシンタックス要素を含む場合がある。
【００５６】
[0064]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信することができる。加えて、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得するために、ビットストリームをパースすることができる。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築することができる。ビデオデータを再構築するためのプロセスは、全般に、ビデオエンコーダ２０によって実施されるプロセスの逆であり得る。たとえば、ビデオデコーダ３０は、現在のＣＵのＰＵのための予測ブロックを決定するために、ＰＵの動きベクトルを使用することができる。加えて、ビデオデコーダ３０は、現在のＣＵのＴＵの係数ブロックを逆量子化することができる。ビデオデコーダ３０は、現在のＣＵのＴＵの変換ブロックを再構築するために、係数ブロックに対して逆変換を実施することができる。ビデオデコーダ３０は、現在のＣＵのＰＵの予測ブロックのサンプルを現在のＣＵのＴＵの変換ブロックの対応するサンプルに加えることによって、現在のＣＵのコーディングブロックを再構築することができる。ピクチャの各ＣＵのコーディングブロックを再構築することによって、ビデオデコーダ３０はピクチャを再構築することができる。
【００５７】
[0065]ＨＥＶＣ規格では、２つのインター予測モードがある。これらのインター予測モードは、予測ユニット（ＰＵ）のための、それぞれ、マージモード（スキップモードはマージモードの特殊なケースと見なされることに留意されたい）および高度動きベクトル予測（ＡＭＶＰ）モードである。ＡＭＶＰモードまたはマージモードのいずれかでは、動きベクトル（ＭＶ）候補リストは、複数の動きベクトル予測子について維持され得る。現在のＰＵの（１つまたは複数の）動きベクトルならびにマージモードにおける参照インデックスは、ＭＶ候補リストから１つの候補をとることによって生成され得る。
【００５８】
[0066]いくつかの事例では、ＭＶ候補リストは、マージモードのために最高５つの候補を、およびＡＭＶＰモードのためにただ２つの候補を含んでいることがある。マージ候補は、動き情報のセット、たとえば、参照ピクチャリスト（リスト０およびリスト１など）と参照インデックスの両方に対応する動きベクトルを含んでいることがある。マージ候補がマージインデックスによって識別される場合、参照ピクチャは現在のブロックの予測のために使用され、ならびに関連する動きベクトルが決定される。しかしながら、リスト０またはリスト１のいずれかからの各潜在的な予測方向に対するＡＭＶＰモードの下では、ＡＭＶＰ候補が動きベクトルのみを含み得るので、ＭＶＰインデックスとともに参照インデックスがＭＶ候補リストに明示的にシグナリングされる必要がある。ＡＭＶＰモードでは、予測動きベクトルはさらに改善され得る。
【００５９】
[0067]マージ候補は、動き情報の完全セットに対応し得るが、ＡＭＶＰ候補は、特定の予測方向についてのただ１つの動きベクトルと参照インデックスとを含んでいることがある。両方のモードに関する候補は、同じ空間的および時間的隣接ブロックから同様に導出され得る。
【００６０】
[0068]図３Ａおよび図３Ｂは、本開示の１つまたは複数の技法による、マージモードと高度動きベクトル予測（ＡＭＶＰ）モードとのための空間隣接動きベクトル候補を示す概念図である。図３Ａおよび図３Ｂに関して説明されるように、空間的ＭＶ候補が、特定のＰＵ（ＰＵ０）に関して図３Ａおよび図３Ｂに示されている隣接ブロックから導出されるが、ブロックから候補を生成する方法はマージモードとＡＭＶＰモードとについて異なる。
【００６１】
[0069]マージモードでは、図３Ａに番号で示された順序とともに、最高４つの空間的ＭＶ候補が導出されてよく、順序は、図３Ａに示されているように、左（０）、上（１）、右上（２）、左下（３）、および左上（４）である。
【００６２】
[0070]ＡＭＶＰモードでは、隣接ブロックは、図３Ｂに示されているように、ブロック０および１からなる左グループ３１０、ならびにブロック２、３、および４からなる上グループ３２０という、２つのグループに分割される。左グループ３１０および上グループ３２０の各々について、シグナリングされた参照インデックスによって示された参照ピクチャと同じ参照ピクチャを参照する隣接ブロック中の潜在的候補は、そのグループの最終候補を形成するために選ばれるべき最高優先順位を有する。すべての隣接ブロックが、同じ参照ピクチャを指す動きベクトルを含んでいるとは限らない可能性がある。したがって、そのような候補が見つけられない場合、第１の利用可能な候補は、最終候補を形成するためにスケーリングされ、したがって、時間距離差分が補償され得る。
【００６３】
[0071]リモートデスクトップ、リモートゲーミング、ワイヤレスディスプレイ、自動車インフォテインメント、クラウドコンピューティングなどの多数のアプリケーションが日常的に使用されつつある。これらのアプリケーションにおけるビデオコンテンツは通常、自然コンテンツ、テキスト、人工グラフィックスなどの組合せである。テキストおよび人工グラフィックス領域では、（文字、アイコン、シンボルなどの）繰返しパターンがしばしば存在する。イントラブロック複写（Intra Block Copying）（イントラＢＣ）とは、ビデオコーダが、そのような冗長性を除去することを可能にし、イントラピクチャコーディング効率を改善し得る技法である。いくつかの事例では、イントラＢＣは代替的にイントラ動き補償（ＭＣ）と呼ばれ得る。
【００６４】
[0072]いくつかのイントラＢＣ技法によると、ビデオコーダは、同じピクチャ中のビデオデータの（コーディングされるべき）現在のブロックのすぐ上にあるか、または水平に一直線上にある、ビデオデータの現在のブロックと同じピクチャ内の前にコーディングされたビデオデータのブロックを、現在のブロックの予測に使用し得る。言い換えれば、ビデオデータのピクチャが２−Ｄグリッドに課された場合、ビデオデータの各ブロックは、ｘ値およびｙ値の一意の範囲を占有する。したがって、いくつかのビデオコーダは、（現在のブロックに対して垂直方向に一直線上にある）ｘ値の同じセットまたは（現在のブロックに対して水平方向に一直線上にある）ｙ値の同じセットのみを共有する、前にコーディングされたビデオデータのブロックに基づいてビデオデータの現在のブロックを予測することができる。
【００６５】
[0073]図４は、本開示の１つまたは複数の技法によるイントラブロックコピー（ＢＣ）の一例を示す概念図である。図４に関して説明されるように、ＲＥｘｔ中にイントラＢＣが含まれている。イントラＢＣの一例は図４に示されている通りであり、ここにおいて、現在のＣＵ４０２は、現在のピクチャ／スライスのすでに復号されたブロック４０４から予測される。現在イントラＢＣブロックサイズは、８×８から６４×６４にわたるＣＵサイズ程度に大きくなり得るが、いくつかの適用例では、さらなる制約が追加として適用され得る。
【００６６】
[0074]従来のビデオコーディングでは、画像は、色調が連続的であり空間的に滑らかであると仮定され得る。これらの仮定に基づいて、たとえば、ブロックベースの変換、フィルタリングなど様々なツールが開発されており、これらのツールは、自然のコンテンツをもつビデオでは良好な性能を示している。しかしながら、いくつかの適用例で、そのようなリモートデスクトップ、共同作業、およびワイヤレスディスプレイでは、コンピュータ生成されたスクリーンコンテンツが、圧縮されるべき支配的コンテンツであり得る。このタイプのコンテンツは、不連続な色調である傾向があり、高コントラストのオブジェクト境界をもつ鋭利な線を特徴とする。ただし、連続的色調および滑らかさの仮定はもはや当てはまらない場合がある。したがって、従来のビデオコーディング技法が効率的に作用しない場合がある。
【００６７】
[0075]この効率損失を正すために、ビデオコーダは、パレットモードコーディングを使用し得る。２０１３年４月１０日に出願された米国仮出願第６１／８１０，６４９号は、パレットコーディング技法の例について記載している。各ＣＵについて、現在のＣＵ中で最も支配的なピクセル値を含むパレットが導出され得る。パレットのサイズおよび要素が最初に送信される。ＣＵ中のピクセルは次いで、特定の走査順序に従って符号化される。各ロケーションについて、ビデオエンコーダ２０は、フラグｐａｌｅｔｔｅ＿ｆｌａｇなどのシンタックス要素を、ピクセル値がパレット中にある（「ランモード」）かまたはない（「ピクセルモード」）かを示すために最初に送信する。
【００６８】
[0076]「ランモード」において、ビデオエンコーダ２０は、後に「ラン」が続くパレットインデックスをシグナリングし得る。ランは、現在コーディングされているピクセルと同じパレットインデックス値を有する連続ピクセルの数を走査順序で示すシンタックス要素である。走査順序ですぐ隣に連続する複数のピクセルが同じパレットインデックス値を有する場合、「ランモード」は、ｐａｌｅｔｔｅ＿ｆｌａｇなどのシンタックス要素によって示され得る。現在のピクセルと同じパレットインデックス値を有する、現在のピクセルに続くピクセルの数に等しいカウンタ値が決定され、ランはそのカウンタ値に等しく設定される。ビデオエンコーダ２０は、「ラン」によってカバーされる、それ以降の位置についてのｐａｌｅｔｔｅ＿ｆｌａｇまたはパレットインデックスを送信する必要はなく、というのは、現在のピクセルに続くピクセルの各々が、同じピクセル値を有するからである。デコーダ側で、現在のピクセルの第１のパレットインデックス値のみが復号され、結果は、「ラン」シンタックス要素中に示されるピクセルの「ラン」においてピクセルごとに複製され得る。「ピクセルモード」において、ビデオエンコーダ２０は、この位置についてのピクセルサンプル値を送信する。ｐａｌｅｔｔｅ＿ｆｌａｇなどのシンタックス要素が「ピクセルモード」を示す場合、パレットインデックス値は、復号されている現在のピクセルについてのみ決定される。
【００６９】
[0077]本開示に記載される技法によると、残差信号（すなわち、残差ブロック）のためのループ内色空間変換が、４：４：４クロマフォーマットでのシーケンス用に提案されるが、本技法は、４：４：４フォーマットに限定されるのではない。ループ内色空間変換プロセスは、ＲＧＢ／ＹＵＶクロマフォーマットにおける予測誤差信号を準最適色空間における予測誤差信号（すなわち、残差信号）に変換する。ループ内色空間変換は、色成分の間の相関性をさらに低減し得る。変換行列は、特異値分解（ＳＶＤ）によって各ＣＵのピクセルサンプル値から導出され得る。色空間変換はイントラモードとインターモードの両方の予測誤差に適用され得る。
【００７０】
[0078]色空間変換がインターモードに適用されるとき、残差は、最初に、導出された変換行列を用いて異なる領域にコンバートされる。色空間コンバージョンの後に、ＤＣＴ／ＤＳＴ、量子化、およびエントロピーコーディングなど、コーディングステップが順に実施される。
【００７１】
[0079]色空間変換が、イントラモードを使ってコーディングされたＣＵに適用されるとき、予測および現在のブロックは、最初に、それぞれ、導出された変換行列を用いて異なる領域にコンバートされる。色空間コンバージョンの後に、現在のブロックと現在のブロックについての予測子との間の残差が、ＤＣＴ／ＤＳＴを用いてさらに変換され、量子化され、エントロピーコーディングされる。
【００７２】
[0080]ビデオエンコーダ２０などのビデオ符号化デバイスが順動作を実施し、ここで、コンバージョン値ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ、およびｉを備える色空間変換行列が、色成分Ｐ、Ｑ、およびＳについての値を導出するために、次のように３つの平面Ｇ、Ｂ、およびＲに適用される。
【数１】
2017523677.tif 000003
【００７３】
[0081]得られた値は、ＨＥＶＣ仕様の範囲内でクリッピングされることができ、というのは、値は、ワーストケースにおいて、最大で
【数２】
2017523677.tif 000004
倍まで拡大され得るからである。ビデオデコーダ３０などのビデオ復号デバイスが逆動作を実施し、ここで、コンバージョン値ａt、ｂt、ｃt、ｄt、ｅt、ｆt、ｇt、ｈt、およびｉtを備える色空間変換行列が、３つの平面Ｇ’、Ｂ’およびＲ’を導出するために、次のように、３つの色成分Ｐ’、Ｑ’、およびＲ’に適用される。
【数３】
2017523677.tif 000005
【００７４】
[0082]図５は、本開示の１つまたは複数の技法による、イントラ８×８ブロックのためのターゲットブロックおよび参照サンプルの一例を示す概念図である。参照サンプル値からの特異値分解（ＳＶＤ）を使って、変換行列が導出され得る。ビデオコーディングデバイス（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、イントラケースおよびインターケースに対して異なる参照サンプルを使い得る。イントラコード化ブロックの場合について、ターゲットブロックおよび参照サンプルは、図５に示されている通りであり得る。図５では、ターゲットブロックは８×８のクロスハッチサンプルからなり、参照サンプルはストライプサンプルおよびドット付きサンプルである。
【００７５】
[0083]インターコード化ブロックの場合、行列導出のための参照サンプルは動き補償のための参照サンプルと同じであり得る。高度動き予測（ＡＭＰ）ブロック中の参照サンプルは、参照サンプルの数が削減されるようにサブサンプリングされ得る。たとえば、１２×１６ブロック中の参照サンプルの数は２／３だけ低減される。
【００７６】
[0084]上記の例のいくつかでは、色空間変換プロセスが常に適用され得る。したがって、色空間変換プロセスが呼び出されるか否かをシグナリングする必要はない場合がある。さらに、ビデオエンコーダ２０とビデオデコーダ３０の両方は、変換行列をシグナリングするためのオーバーヘッドを回避するために、変換行列を順に導出するための同じ方法を使用し得る。
【００７７】
[0085]ビデオエンコーダ２０およびビデオデコーダ３０は、様々な色空間変換行列を使用し得る。たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、異なる色空間に関して、異なる色空間変換行列を適用することができる。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、サンプル値をＲＧＢ色空間からＹＣｂＣｒ色空間に、およびその逆にコンバートするのに、ＹＣｂＣｒ変換行列のペアを使用し得る。以下の等式は、ＹＣｂＣｒ変換行列の１つの例示的セットを示す。
【数４】
2017523677.tif 000006
【数５】
2017523677.tif 000007
【００７８】
[0086]別の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、サンプル値をＲＧＢ色空間からＹＣｏＣｇ色空間に、およびその逆にコンバートするのに、ＹＣｏＣｇ変換行列のペアを使用し得る。以下の等式は、ＹＣｏＣｇ変換行列の１つの例示的セットを示す。
【数６】
2017523677.tif 000008
【数７】
2017523677.tif 000009
【００７９】
[0087]別のそのような行列は、ＣｏおよびＣｇ成分を１／２にスケーリングするＹＣｏＣｇ行列の修正可能バージョンであるＹＣｏＣｇ−Ｒ行列であり得る。リフト技法を使うことによって、ビデオエンコーダ２０およびビデオデコーダ３０は、以下の等式によって順および逆変換を遂行することができる。
【数８】
2017523677.tif 000010
【数９】
2017523677.tif 000011
【００８０】
[0088]上記等式および行列において、順変換は、（たとえば、ビデオエンコーダによる）符号化プロセスの前に実施され得る。反対に、逆変換は、（たとえば、ビデオデコーダによる）復号プロセスの後に実施され得る。
【００８１】
[0089]スライス用のスライスヘッダは、スライスについての情報を含む。たとえば、スライス用のスライスヘッダは、スライスのための定量化パラメータをビデオデコーダ３０がそこから導出することができるシンタックス要素を含み得る。ＨＥＶＣにおいて、スライスセグメントヘッダシンタックス構造は、スライスヘッダに対応する。以下のテーブルは、以下で定義されるスライスセグメントヘッダの一部分を示す。
【表１】
2017523677.tif 000012
【００８２】
[0090]上の例、および本開示の他のシンタックステーブルでは、フォーマットｕ（ｎ）の記述子を有するシンタックス要素は、長さｎの符号なし値であり、ここで、ｎは非負整数である。さらに、記述子ｓｅ（ｖ）は、左ビットが先頭である符号付き整数０次指数ゴロムコード化シンタックス要素を示す。
【００８３】
[0091]上のテーブルにおいて、ｓｌｉｃｅ＿ｑｐ＿ｄｅｌｔａシンタックス要素は、ＣＵレイヤ中のＣｕＱｐＤｅｌｔａＶａｌの値によって修正されるまで、スライス中のコーディングブロックのために使われるべきＱｐYの初期値を指定する。スライスのためのＱｐYは、スライスのブロックのルーマ成分のためのＱＰである。スライスのためのＱｐY量子化パラメータの初期値、すなわちＳｌｉｃｅＱｐYは、次のように導出され得る。
【数１０】
2017523677.tif 000013
【００８４】
[0092]上記式において、ｉｎｉｔ＿ｑｐ＿ｍｉｎｕｓ２６は、ＰＰＳ中でシグナリングされるシンタックス要素である。ｉｎｉｔ＿ｑｐ＿ｍｉｎｕｓ２６シンタックス要素は、各スライスについて、ＳｌｉｃｅＱｐYの初期値マイナス２６を指定する。ＳｌｉｃｅＱｐYの値は、両端値を含む−ＱｐＢｄＯｆｆｓｅｔY〜＋５１の範囲内にあり得る。ＱｐＢｄＯｆｆｓｅｔYは、ｂｉｔ＿ｄｅｐｔｈ＿ｌｕｍａ＿ｍｉｎｕｓ８シンタックス要素に６を乗算したものに等しい変数である。ｂｉｔ＿ｄｅｐｔｈ＿ｌｕｍａ＿ｍｉｎｕｓ８シンタックス要素は、ルーマアレイのサンプルのビット深度と、ルーマ量子化パラメータ範囲オフセットＱｐＢｄＯｆｆｓｅｔYの値とを指定する。ビデオエンコーダ２０は、ｂｉｔ＿ｄｅｐｔｈ＿ｌｕｍａ＿ｍｉｎｕｓ８シンタックス要素をＳＰＳ中でシグナリングし得る。
【００８５】
[0093]別のシンタックス要素、すなわちｓｌｉｃｅ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔは、Ｑｐ’Cb量子化パラメータの値を決定するとき、ｐｐｓ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔ（またはルーマ量子化パラメータオフセット）の値に加えられるべき差を指定する。ｓｌｉｃｅ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔの値は、両端値を含む−１２〜＋１２の範囲内であり得る。ｓｌｉｃｅ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔが存在しないとき、ｓｌｉｃｅ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔは０に等しいものと推測される。ｐｐｓ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔ＋ｓｌｉｃｅ＿ｃｂ＿ｑｐ＿ｏｆｆｓｅｔの値は、両端値を含む−１２〜＋１２の範囲内であり得る。
【００８６】
[0094]シンタックス要素、すなわちｓｌｉｃｅ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔは、Ｑｐ’Cr量子化パラメータの値を決定するとき、ｐｐｓ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔ（またはルーマ量子化パラメータオフセット）の値に加えられるべき差を指定する。ｓｌｉｃｅ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔの値は、両端値を含む−１２〜＋１２の範囲内であり得る。ｓｌｉｃｅ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔが存在しないとき、ｓｌｉｃｅ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔは０に等しいものと推測され得る。ｐｐｓ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔ＋ｓｌｉｃｅ＿ｃｒ＿ｑｐ＿ｏｆｆｓｅｔの値は、両端値を含む−１２〜＋１２の範囲内であり得る。
【００８７】
[0095]シンタックス要素ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｆｌａｇは変換ユニットシンタックス中に存在し得る。ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しいとき、ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｆｌａｇは変換ユニットシンタックス中に存在しない場合がある。存在しないとき、ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値は０に等しいものと推測される。
【００８８】
[0096]変換ユニットは、次のようなシンタックスを有し得る。
【表２】
2017523677.tif 000014
【００８９】
[0097]シンタックス要素ｃｕ＿ｑｐ＿ｄｅｌｔａ＿ａｂｓは、現在のコーディングユニットのルーマ量子化パラメータと、その予測との間の差の絶対値ＣｕＱｐＤｅｌｔａＶａｌを指定する。上記テーブルにおいて、記述子ａｅ（ｖ）は、コンテキスト適応型算術エントロピーコード化シンタックス要素を示す。
【００９０】
[0098]シンタックス要素ｃｕ＿ｑｐ＿ｄｅｌｔａ＿ｓｉｇｎ＿ｆｌａｇは、ＣｕＱｐＤｅｌｔａＶａｌの符号を指定する。ｃｕ＿ｑｐ＿ｄｅｌｔａ＿ｓｉｇｎ＿ｆｌａｇが０に等しい場合、対応するＣｕＱｐＤｅｌｔａＶａｌは正の値を有する。そうでない（ｃｕ＿ｑｐ＿ｄｅｌｔａ＿ｓｉｇｎ＿ｆｌａｇが１に等しい）場合、対応するＣｕＱｐＤｅｌｔａＶａｌは負の値を有する。ｃｕ＿ｑｐ＿ｄｅｌｔａ＿ｓｉｇｎ＿ｆｌａｇが存在しないとき、ｃｕ＿ｑｐ＿ｄｅｌｔａ＿ｓｉｇｎ＿ｆｌａｇは０に等しいものと推測される。
【００９１】
[0099]ｃｕ＿ｑｐ＿ｄｅｌｔａ＿ａｂｓが存在するとき、変数ＩｓＣｕＱｐＤｅｌｔａＣｏｄｅｄおよびＣｕＱｐＤｅｌｔａＶａｌは、次のように導出され得る。
【数１１】
2017523677.tif 000015
【００９２】
[0100]ＣｕＱｐＤｅｌｔａＶａｌの値は、両端値を含む−（２６＋ＱｐＢｄＯｆｆｓｅｔＹ／２）〜＋（２５＋ＱｐＢｄＯｆｆｓｅｔＹ／２）の範囲内であり得る。
【００９３】
[0101]シンタックス要素ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｆｌａｇは、存在するとともに１に等しいとき、ｃｂ＿ｑｐ＿ｏｆｆｓｅｔ＿ｌｉｓｔ［］中のエントリが、ＣｕＱｐＯｆｆｓｅｔＣｂの値を決定するのに使われ、ｃｒ＿ｑｐ＿ｏｆｆｓｅｔ＿ｌｉｓｔ［］中の対応するエントリが、ＣｕＱｐＯｆｆｓｅｔＣｒの値を決定するのに使われると指定する。変数ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｆｌａｇが０に等しいとき、これらのリストは、ＣｕＱｐＯｆｆｓｅｔＣｂおよびＣｕＱｐＯｆｆｓｅｔＣｒの値を決定するのに使われない。
【００９４】
[0102]シンタックス要素ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｉｄｘは、存在するとき、ＣｕＱｐＯｆｆｓｅｔＣｂおよびＣｕＱｐＯｆｆｓｅｔＣｒの値を決定するのに使われる、ｃｂ＿ｑｐ＿ｏｆｆｓｅｔ＿ｌｉｓｔ［］およびｃｒ＿ｑｐ＿ｏｆｆｓｅｔ＿ｌｉｓｔ［］中へのインデックスを指定する。存在するとき、ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｉｄｘの値は、両端値を含む０〜ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｌｉｓｔ＿ｌｅｎ＿ｍｉｎｕｓ１の範囲内であるものとする。存在しないとき、ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｉｄｘの値は０に等しいものと推測される。
【００９５】
[0103]ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｆｌａｇが同じグループの何らかの他のＣＵ中にすでに存在していたので、ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｆｌａｇが存在しないケース、およびリストがただ１つのエントリを含むので、フラグが１に等しいがインデックスが存在しないケースがチェックされ得る。ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｆｌａｇが存在するとき、変数ＩｓＣｕＣｈｒｏｍａＱｐＯｆｆｓｅｔＣｏｄｅｄは１に等しくセットされる。変数ＣｕＱｐＯｆｆｓｅｔCbおよびＣｕＱｐＯｆｆｓｅｔCrが次いで、導出される。ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｆｌａｇが１に等しい場合、ＣｕＱｐＯｆｆｓｅｔCb＝ｃｂ＿ｑｐ＿ｏｆｆｓｅｔ＿ｌｉｓｔ［ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｉｄｘ］であり、ＣｕＱｐＯｆｆｓｅｔCr＝ｃｒ＿ｑｐ＿ｏｆｆｓｅｔ＿ｌｉｓｔ［ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｉｄｘ］である。そうでない（ｃｕ＿ｃｈｒｏｍａ＿ｑｐ＿ｏｆｆｓｅｔ＿ｆｌａｇが０に等しい）場合、ＣｕＱｐＯｆｆｓｅｔCbおよびＣｕＱｐＯｆｆｓｅｔCrは両方とも、０に等しくセットされる。
【００９６】
[0104]復号プロセスにおいて、量子化パラメータについての導出プロセスに対して、このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション（ｘＣｂ，ｙＣｂ）である。このプロセスでは、変数ＱｐY、ルーマ量子化パラメータＱｐ’Y、ならびにクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crが導出される。
【００９７】
[0105]本開示の技法によると、量子化グループとは、ＣＵのＴＵのセットであり、ＴＵの各々は同じＱＰ値を共有する。ルーマロケーション（ｘＱｇ，ｙＱｇ）は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置ｘＱｇおよび垂直位置ｙＱｇは、それぞれ、ｘＣｂ−（ｘＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））およびｙＣｂ−（ｙＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））に等しく設定される。量子化グループのルーマサイズ、Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅは、同じｑＰY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
【００９８】
[0106]ビデオコーダは、予測ルーマ量子化パラメータｑＰY_PREDを以下の順序付きステップによって導出することができる。
【００９９】
[0107]１）変数ｑＰY_PREVが導出され得る。次の条件のうちの１つまたは複数が真である場合、ビデオコーダは、ｑＰY_PREVを、ＳｌｉｃｅＱｐＹに等しく設定する。すなわち、現在の量子化グループがスライス中の第１の量子化グループであるか、現在の量子化グループがタイル中の第１の量子化グループであるか、または現在の量子化グループがコーディングツリーブロック行中の第１の量子化グループであるとともにｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい。そうでない場合、ｑＰY_PREVは、復号順序で、前の量子化グループ中の最後のコーディングユニットのルーマ量子化パラメータＱｐＹに等しく設定される。
【０１００】
[0108]２）ｚ走査順序での、ブロックのための利用可能性導出プロセスが、（ｘＣｂ，ｙＣｂ）に等しく設定されたロケーション（ｘＣｕｒｒ，ｙＣｕｒｒ）、および（ｘＱｇ−１，ｙＱｇ）に等しく設定された隣接ロケーション（ｘＮｂＹ，ｙＮｂＹ）を入力として呼び出され、出力はａｖａｉｌａｂｌｅＡに割り当てられる。変数ｑＰＹ＿Ａは次のように導出される。次の条件のうちの１つまたは複数が真である場合、ｑＰＹ＿ＡはｑＰY_PREVに等しく設定される。すなわち、ａｖａｉｌａｂｌｅＡがＦＡＬＳＥに等しいか、またはルーマロケーション（ｘＱｇ−１，ｙＱｇ）をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスｃｔｂＡｄｄｒＡがＣｔｂＡｄｄｒＩｎＴｓに等しくなく、ここでｃｔｂＡｄｄｒＡは次のように導出される。
【数１２】
2017523677.tif 000016
そうでない場合、ｑＰY_Aは、（ｘＱｇ−１，ｙＱｇ）をカバーするルーマコーディングブロックを含むコーディングユニットのルーマ量子化パラメータＱｐYに等しく設定される。
【０１０１】
[0109]３）ｚ走査順序での、ブロックのための利用可能性導出プロセスが、（ｘＣｂ，ｙＣｂ）に等しく設定されたロケーション（ｘＣｕｒｒ，ｙＣｕｒｒ）、および（ｘＱｇ，ｙＱｇ−１）に等しく設定された隣接ロケーション（ｘＮｂＹ，ｙＮｂＹ）を入力として呼び出される。出力はａｖａｉｌａｂｌｅＢに割り当てられる。変数ｑＰY_Bが導出される。次の条件のうちの１つまたは複数が真である場合、ｑＰY_BはｑＰY_PREVに等しく設定される。すなわち、ａｖａｉｌａｂｌｅＢがＦＡＬＳＥに等しいか、またはルーマロケーション（ｘＱｇ，ｙＱｇ−１）をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスｃｔｂＡｄｄｒＢがＣｔｂＡｄｄｒＩｎＴｓに等しくなく、ここでｃｔｂＡｄｄｒＢは次のように導出される。
【数１３】
2017523677.tif 000017
そうでない場合、ｑＰY_Bは、（ｘＱｇ，ｙＱｇ−１）をカバーするルーマコーディングブロックを含むＣＵのルーマ量子化パラメータＱｐYに等しく設定される。
【０１０２】
[0110]４）予測ルーマ量子化パラメータｑＰY_PREDは次のように導出され得る。
【数１４】
2017523677.tif 000018
【０１０３】
[0111]変数ＱｐYは次のように導出され得る。
【数１５】
2017523677.tif 000019
【０１０４】
[0112]ルーマ量子化パラメータＱｐ’Yは次のように導出され得る。
【数１６】
2017523677.tif 000020
【０１０５】
[0113]ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、変数ｑＰｉCbおよびｑＰｉCrは次のように導出される。
【数１７】
2017523677.tif 000021
【０１０６】
[0114]ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが１に等しい場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、ＱｐCの値に等しく設定される。そうでない場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、Ｍｉｎ（ｑＰｉ，５１）に等しく設定される。
【０１０７】
[0115]ＣｂおよびＣｒ成分のクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crは、次のように導出される。
【数１８】
2017523677.tif 000022
【０１０８】
[0116]１に等しいＣｈｒｏｍａＡｒｒａｙＴｙｐｅのためのｑＰｉに応じたＱｐcの詳細は、次のようになる。
【表３】
2017523677.tif 000023
量子化解除プロセスでは、各成分インデックス（ｃＩｄｘ）のための量子化パラメータｑＰが導出される。ｃＩｄｘが０に等しい場合、ｑＰ＝Ｑｐ’Yである。そうではなく、ｃＩｄｘが１に等しい場合、ｑＰ＝Ｑｐ’Cbである。それ以外の（ｃＩｄｘが２に等しい）場合、ｑＰ＝Ｑｐ’Cである。デブロッキングフィルタプロセスでは、ＱｐYに依存するルーマ／クロマエッジが最初に決定される。ＨＥＶＣのサブクローズ８．７．２．５．３および８．７．２．５．５が、デブロッキングフィルタプロセスの詳細を与えている。
【０１０９】
[0117]２０１４年４月１８日に出願された米国仮特許出願第６１／９８１，６４５号は、ビット深度増分を伴う正規化ＹＣｇＣｏ変換およびＹＣｇＣｏ変換などのループ内色変換公式を定義している。さらに、米国仮特許出願第６１／９８１，６４５号は、イントラモード用の残差領域に色変換が、つまり、従来の変換／量子化プロセスの前の予測プロセスの後に適用され得ると記載している。さらに、米国仮特許出願第６１／９８１，６４５号は、異なる色成分が、変換の規格に基づいて、色変換でコーディングされるブロック用に異なるデルタＱＰを使用し得ると指摘している。
【０１１０】
[0118]米国仮特許出願第６１／９８１，６４５号のビデオコーディング技法は、いくつかの点で改善され得る。たとえば、３つの色成分についての固定デルタＱＰ設定は、すべてのイントラ／ランダムアクセス／低遅延など、すべてのケースに対しては最適でない場合がある。さらに、ビット深度増分を伴う非正規化ＹＣｇＣｏ変換を使うとき、変換の結果、正規変換に対してビット幅の増大が生じ、これにより、ハードウェア実装のためのコストが増大する。逆に、正規変換が不変のまま保たれた場合、入力残差データの精度の増大により、いくつかのケースに対してオーバーフローが生じ得る。
【０１１１】
[0119]本開示の技法は、以前の設計と比較して、ループ内色空間変換のコーディング性能を改善し、デコーダの複雑さを低減するための解決策を提供する。ビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダは、図１〜図１１に関して説明される技法のいずれかを実施し得る。
【０１１２】
[0120]いくつかの例では、復号された３つの色成分のためのＱＰのデルタ値のセットは、（ｄｅｌｔａＱＰC0，ｄｅｌｔａＱＰC1，ｄｅｌｔａＱＰC2）によって記され、これらは、色変換が有効にされていない（with color transform not enabled）決定されたｑＰと比較して、色変換が有効にされた（with color transform enabled）ブロックのためのＱＰのオフセットを示す。有効にされた色変換でコーディングされたブロックに対して、量子化解除プロセスにおいて使われる最終ＱＰは、それぞれ０、１、２に等しい成分インデックスｃＩｄｘをもつ３つの色成分についてｑＰ＋ｄｅｌｔａＱＰC0、ｑＰ＋ｄｅｌｔａＱＰC1、ｑＰ＋ｄｅｌｔａＱＰC2に設定される。ｑＰは、従来のＱＰ導出プロセスの出力である。いくつかの例では、ｄｅｌｔａＱＰC0はｄｅｌｔａＱＰC1に等しく、ｄｅｌｔａＱＰC0とｄｅｌｔａＱＰC1は両方とも、ｄｅｌｔａＱＰC2よりも小さい。
【０１１３】
[0121]たとえば、ビデオエンコーダ２０がビデオデータのＣＵを符号化する。ビデオデータを符号化する際、ビデオエンコーダ２０は、色空間コンバージョンを使ってＣＵを符号化すると決定し得る。ある色成分について、ビデオエンコーダ２０は、色成分のための初期ＱＰを決定することができ、ＣＵが色空間コンバージョンを使って符号化されることに基づいて、色成分のための最終ＱＰが色成分の初期ＱＰと色成分のための非ゼロＱＰオフセットの和に等しくなるように、色成分のための最終ＱＰを設定する。ビデオエンコーダ２０は、色成分のための最終ＱＰに基づいて、ＣＵのための係数ブロックを量子化することができ、ＣＵのための係数ブロックは色成分のサンプル値に基づく。各係数が量子化されると、ビデオエンコーダ２０は、符号化ビットストリーム中のＣＵのための量子化された係数ブロックに基づいて、符号化ＣＵをさらに出力することができる。
【０１１４】
[0122]別の例では、ビデオデコーダ３０がビデオデータのＣＵを復号する。ビデオデータを復号する際、ビデオデコーダ３０は、ＣＵが、色空間コンバージョンを使って符号化されたと決定し得る。ある色成分について、ビデオデコーダ３０は、色成分のための初期ＱＰを決定することができ、ＣＵが色空間コンバージョンを使って符号化されていることに基づいて、色成分のための最終ＱＰが色成分の初期ＱＰと色成分のための非ゼロＱＰオフセットの和に等しくなるように、色成分のための最終ＱＰを決定する。ビデオデコーダ３０は、色成分のための最終ＱＰに基づいて、ＣＵのための係数ブロックを逆量子化することができ、ＣＵのための係数ブロックは色成分のサンプル値に基づく。各係数ブロックが逆量子化されると、ビデオデコーダ３０は、ＣＵのための逆量子化された係数ブロックに基づいて、ＣＵを再構築することができる。
【０１１５】
[0123]いくつかの例では、１つまたは複数の色成分のうちの色成分について、色成分のためのＱＰオフセットが、ＰＰＳ、ＳＰＳ、またはスライスヘッダのうちの１つの中でシグナリングされ得る。いくつかのさらなる例では、複数の色成分が３つの色成分を備え得る。そのような例では、第１の色成分のための第１の量子化パラメータのための第１のＱＰオフセットは第２の色成分のための第２のＱＰのための第２のＱＰオフセットに等しく、第１のＱＰオフセット（および第２の量子化パラメータオフセット）は、第３の色成分のための第３のＱＰのための第３のＱＰオフセットよりも小さい。
【０１１６】
[0124]したがって、いくつかの例では、ＣＵは第１のＣＵである。そのような例では、ビデオエンコーダ２０は第２のＣＵを符号化し得る。第２のＣＵを符号化する際、ビデオエンコーダ２０は、色成分について、色成分のためのＱＰを決定し、色成分のための最終ＱＰ値が色成分の初期ＱＰ値に等しくなるように、第２のＣＵが色空間コンバージョンを使って符号化されていないことに基づいて、色成分のための最終ＱＰ値を設定し、色成分のための最終ＱＰに基づいて、第２のＣＵの係数ブロックを量子化し得、第２のＣＵの係数ブロックは色成分のサンプル値に基づく。ビデオエンコーダ２０は、量子化された第２の係数ブロックの各々を表す、１つまたは複数のエントロピー符号化シンタックス要素の第２のセットを備えるビデオデータビットストリームをさらに出力し得る。
【０１１７】
[0125]この例の復号の際、ビデオデコーダ３０は第２のＣＵを復号し得る。第２のＣＵを復号する際、ビデオデコーダ３０は、複数の色成分のうちのある色成分について、色成分のためのＱＰを決定し、色成分のための最終ＱＰ値が色成分の初期ＱＰ値に等しくなるように、第２のＣＵが色空間コンバージョンを使って符号化されていないことに基づいて、色成分のための最終ＱＰ値を決定し、色成分のための最終ＱＰに基づいて、第２のＣＵの係数ブロックを逆量子化し得、第２のＣＵの係数ブロックは色成分のサンプル値に基づく。ビデオデコーダ３０は、第２のＣＵの１つまたは複数の逆量子化された係数ブロックの各々に基づいて、第２のＣＵを再構築し得る。
【０１１８】
[0126]デルタＱＰの１つの固定セットをすべてのモードに対して使う代わりに、３色成分のためのデルタＱＰの設定はモード依存であり得る。一例では、イントラモードおよびイントラＢＣモードは、（ｄｅｌｔａＱＰC0，ｄｅｌｔａＱＰC1，ｄｅｌｔａＱＰC2）という同じセットを共有することができ、インターモードは、イントラモードおよびイントラＢＣモードによって使われるものとは同一でない（ｄｅｌｔａＱＰC0，ｄｅｌｔａＱＰC1，ｄｅｌｔａＱＰC2）という別のセットを共有することができる。別の例では、イントラモードは、（ｄｅｌｔａＱＰC0，ｄｅｌｔａＱＰC1，ｄｅｌｔａＱＰC2）という同じセットを共有することができ、イントラＢＣモードおよびインターモードは、イントラモードによって使われるものとは同一でない（ｄｅｌｔａＱＰC0，ｄｅｌｔａＱＰC1，ｄｅｌｔａＱＰC2）という別のセットを共有することができる。いくつかの例では、デルタＱＰのセット（ｄｅｌｔａＱＰC0，ｄｅｌｔａＱＰC1，ｄｅｌｔａＱＰC2）は、（−４＋６＊ＢｉｔＩｎｃ，−４＋６＊ＢｉｔＩｎｃ，−３＋６＊ＢｉｔＩｎｃ）、（−４＋６＊ＢｉｔＩｎｃ，−４＋６＊ＢｉｔＩｎｃ，−２＋６＊ＢｉｔＩｎｃ）、（−５＋６＊ＢｉｔＩｎｃ，−５＋６＊ＢｉｔＩｎｃ，−３＋６＊ＢｉｔＩｎｃ）または（−５＋６＊ＢｉｔＩｎｃ，−５＋６＊ＢｉｔＩｎｃ，−２＋６＊ＢｉｔＩｎｃ）であってもよく、ここにおいてＢｉｔＩｎｃは０、１、２であり得る。
【０１１９】
[0127]言い換えると、いくつかの例では、複数の色成分が３つの色成分を備える。そのような例では、量子化パラメータオフセットは、（−５＋６＊ＢｉｔＩｎｃ，−５＋６＊ＢｉｔＩｎｃ，−３＋６＊ＢｉｔＩｎｃ）に等しくてよい。他のそのような例では、量子化パラメータオフセットは、（−４＋６＊ＢｉｔＩｎｃ，−４＋６＊ＢｉｔＩｎｃ，−３＋６＊ＢｉｔＩｎｃ）、（−４＋６＊ＢｉｔＩｎｃ，−４＋６＊ＢｉｔＩｎｃ，−２＋６＊ＢｉｔＩｎｃ）、または（−５＋６＊ＢｉｔＩｎｃ，−５＋６＊ＢｉｔＩｎｃ，−２＋６＊ＢｉｔＩｎｃ）など、他の値に等しくてよい。いずれのケースでも、ＢｉｔＩｎｃは、０、１または２に等しくなり得る。
【０１２０】
[0128]Ｉスライスとは、イントラコード化ブロックまたはイントラＢＣコード化ブロックのみを含み得るスライスである。Ｐスライスとは、イントラコード化および単方向インター予測ブロックのみを含み得るスライスである。Ｂスライスとは、イントラ予測ブロックと、単方向インター予測ブロックと、双方向インター予測ブロックとを含み得るスライスである。いくつかの例では、すべてのモードに対してデルタＱＰの１つの固定セットを使うのではなく、３色成分のためのデルタＱＰの設定はスライスタイプに依存し得る。一例では、Ｉスライスは同じセットを共有することができ、Ｐ／Ｂスライスは同じセットを共有することができる。別の例では、異なるセットがＩ／Ｐ／Ｂスライスに適用され得る。さらに、いくつかの例では、デルタＱＰのセットは、ＳＰＳ、ＰＰＳ、またはスライスヘッダ中でシグナリングされ得る。
【０１２１】
[0129]言い換えれば、いくつかの例では、複数の色成分のうちのいくつかの色成分について、色成分のためのＱＰオフセットは、ＣＵのスライスタイプが、Ｉスライスタイプ、Ｐスライスタイプ、またはＢスライスタイプかどうかに依存し得る。そのような例では、色成分について、ビデオエンコーダ２０は、色成分のためのＱＰオフセットが、ＣＵのスライスタイプがＩスライスタイプであるときは第１の値に等しく、ＣＵのスライスタイプがＰスライスタイプまたはＢスライスタイプであるときは第２の値に等しいと決定することができ、第１の値は第２の値とは異なる。他のそのような例では、色成分について、ビデオエンコーダ２０は、色成分のためのＱＰオフセットが、ＣＵのスライスタイプがＩスライスタイプであるときは第１の値に等しく、ＣＵのスライスタイプがＰスライスタイプであるときは第２の値に等しく、ＣＵのスライスタイプがＢスライスタイプであるときは第３の値に等しいと決定することができ、第１の値は第２の値とは異なり、第２の値は第３の値とは異なり、第１の値は第３の値とは異なる。
【０１２２】
[0130]他の例では、複数の色成分のうちのいくつかの色成分について、色成分のためのＱＰオフセットは、ＣＵのスライスタイプが、Ｉスライスタイプ、Ｐスライスタイプ、またはＢスライスタイプかどうかに依存し得る。そのような例では、色成分について、ビデオデコーダ３０は、色成分のためのＱＰオフセットが、ＣＵのスライスタイプがＩスライスタイプであるときは第１の値に等しく、ＣＵのスライスタイプがＰスライスタイプまたはＢスライスタイプであるときは第２の値に等しいと決定することができ、第１の値は第２の値とは異なる。他のそのような例では、色成分について、ビデオデコーダ３０は、色成分のためのＱＰオフセットが、ＣＵのスライスタイプがＩスライスタイプであるときは第１の値に等しく、ＣＵのスライスタイプがＰスライスタイプであるときは第２の値に等しく、ＣＵのスライスタイプがＢスライスタイプであるときは第３の値に等しいと決定することができ、第１の値は第２の値とは異なり、第２の値は第３の値とは異なり、第１の値は第３の値とは異なる。
【０１２３】
[0131]いくつかの例では、色変換によりデータダイナミックレンジが増大されると、ビデオコーダは、変換された残差を、色変換の前の残差と同じ範囲内にクリップし得る。たとえば、入力データがＮビットの精度であるとき、イントラ／インター予測の後の残差は、［−２N，２N−１］の範囲内（またはより正確には、［−２N−１、２N−１］の範囲内）であり得る。色変換を適用した後、変換された残差はやはり同じ範囲までクリッピングされ得る。いくつかの例では、３つの色成分のコード化ブロックフラグがすべて０に等しいとき、逆色変換はスキップされ得る。
【０１２４】
[0132]いくつかの例では、色変換が適用されたとき、従来通り導出されたＱｐYは、（ＱｐY＋ｄｅｌｔａＱＰC0）にさらに修正され得る。そのために、デブロッキングフィルタプロセスでは、修正されたＱｐYに依存する、ルーマ／クロマエッジの境界強度が最初に決定され得る。代替として、デブロッキングフィルタプロセスのルーマ／クロマエッジの境界強度において、未修正ＱｐYが使われ得る。
【０１２５】
[0133]言い換えると、いくつかの例では、複数の色成分はルーマ成分と１つまたは複数のクロマ成分とを含む。そのような例では、ビデオエンコーダ２０は、ルーマ成分のための最終ＱＰに少なくとも部分的に基づいて、ルーマエッジの境界強度をさらに決定することができる。ビデオエンコーダ２０は、クロマ成分のための最終ＱＰに少なくとも部分的に基づいて、クロマエッジの境界強度をさらに決定することができる。ルーマエッジの境界強度が第１のしきい値を満たさないと決定したことに応答して、ビデオエンコーダ２０は、ルーマエッジに対してデブロッキングフィルタリングプロセスを実施し得る。さらに、クロマエッジの境界強度が第２のしきい値を満たさないと決定したことに応答して、ビデオエンコーダ２０は、クロマエッジに対してデブロッキングフィルタリングプロセスを実施し得る。
【０１２６】
[0134]他の例では、複数の色成分はルーマ成分と１つまたは複数のクロマ成分とを含む。そのような例では、ビデオデコーダ３０は、ルーマ成分のための最終ＱＰに少なくとも部分的に基づいて、ルーマエッジの境界強度をさらに決定することができる。ビデオデコーダ３０は、クロマ成分のための最終ＱＰに少なくとも部分的に基づいて、クロマエッジの境界強度をさらに決定することができる。ルーマエッジの境界強度が第１のしきい値を満たさないと決定したことに応答して、ビデオデコーダ３０はルーマエッジに対してデブロッキングフィルタリングプロセスを実施し得る。さらに、クロマエッジの境界強度が第２のしきい値を満たさないと決定したことに応答して、ビデオデコーダ３０は、クロマエッジに対してデブロッキングフィルタリングプロセスを実施し得る。
【０１２７】
[0135]いくつかの例では、あるＣＵに対して色変換が有効にされ、そのＣＵがイントラモードでコーディングされるとき、ＣＵ内のＰＵがすべて、直接モード（ＤＭ）を使うこととするという制約が、仕様において追加され得る。ＰＵが、直接モードを使って符号化されるとき、ビデオエンコーダ２０は、動き情報シンタックス要素をシグナリングしないが、残差データを表すシンタックス要素をシグナリングし得る。言い換えると、クロマ予測モードはルーマ予測モードと同じであり得る。代替として、さらに、色変換が、あるＣＵに対して有効にされているとき、ｐｃｍ＿ｆｌａｇは０に等しいものとなる。
【０１２８】
[0136]言い換えると、いくつかの例では、色空間コンバージョンの入力データは、Ｎビットの精度を有する。そのような例では、イントラ／インター予測の後のＣＵについての残差データは、［−２N，２N−１］の範囲内になり得る。いくつかの他の例では、ＣＵがイントラコーディングモードでコーディングされていると決定したことに応答して、ビデオエンコーダ２０は、同じクロマ予測モードを使って、ＣＵのすべてのクロマブロックをさらに予測し得る。そのような例では、ビデオエンコーダ２０は、同じルーマ予測モードを使って、ＣＵのすべてのルーマブロックをさらに予測することができる。同じルーマ予測モードは、同じクロマ予測モードと同じであり得る。別の例では、１つのＣＵが４つのルーマブロックを含み得る。そのような例では、各ルーマブロックは、独自のルーマ予測モードでコーディングされ得、ＣＵ内の左上ルーマブロックのルーマ予測モードは、同じクロマ予測モードと同じであり得る。
【０１２９】
[0137]他の例では、色空間コンバージョンの入力データは、Ｎビットの精度を有する。そのような例では、イントラ／インター予測の後のＣＵについての残差データは、［−２N，２N−１］の範囲内になり得る。いくつかの他の例では、ＣＵがイントラコーディングモードでコーディングされていると決定したことに応答して、ビデオデコーダ３０は、同じクロマ予測モードを使って、ＣＵのすべてのクロマブロックをさらに予測し得る。そのような例では、ビデオデコーダ３０は、同じルーマ予測モードを使って、ＣＵのすべてのルーマブロックをさらに予測することができる。同じルーマ予測モードは、同じクロマ予測モードと同じであり得る。別の例では、１つのＣＵが４つのルーマブロックを含み得る。そのような例では、各ルーマブロックは、独自のルーマ予測モードでコーディングされ得、ＣＵ内の左上ルーマブロックのルーマ予測モードは、同じクロマ予測モードと同じであり得る。
【０１３０】
[0138]ビデオエンコーダ２０はさらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダ中でビデオデコーダ３０に送り得る。ＧＯＰシンタックスデータは、ＧＯＰ中のいくつかのフレームを記述することができ、フレームシンタックスデータは、対応するフレームを符号化するために使用された符号化／予測モードを示すことができる。
【０１３１】
[0139]本開示は、適応色空間コンバージョンとともに、デブロックフィルタリングプロセスにおける、量子化パラメータのシグナリングと、量子化パラメータの使用とに関連した追加の問題に対処するための技法も含む。たとえば、本開示は、ｒｑｔ＿ｒｏｏｔ＿ｃｂｆが０に等しく、変換ブロック中に非ゼロ係数がないシナリオなど、ブロックについて色変換フラグが存在しないコーディングシナリオにおいて動作するように、ビデオエンコーダ２０とビデオデコーダ３０とを構成するための技法を含む。さらに、本開示は、１つのシーケンス、またはピクチャ、またはスライスに対して色変換が有効にされているコーディングシナリオにおいて、デルタＱＰ値を、ビデオエンコーダ２０からビデオデコーダ３０にシグナリングするための技法を含む。したがって、本開示は、ループ内色空間変換に関連したコーディング性能を向上させるための、いくつかの可能な解決策を提供する。
【０１３２】
[0140]説明のために、本開示は、３つの色成分（すなわちＲ、Ｇ、およびＢ）のための量子化パラメータ（ＱＰ）のデルタ値のセットを、ｄｅｌｔａＱＰC0、ｄｅｌｔａＱＰC1、およびｄｅｌｔａＱＰC2と記し、これらは、色変換が有効にされているブロックについてのＱＰのオフセットを示す。上述した方法で決定されたルーマおよびクロマ量子化パラメータについて、略語ｑＰが使われる。
【０１３３】
[0141]本開示の技法によると、有効にされた色変換でコーディングされたブロックに対して、量子化解除プロセスおよび／またはデブロッキングフィルタプロセスにおいて使われる最終ＱＰは、３つの色成分に対してｑＰ0＋ｄｅｌｔａＱＰC0、ｑＰ1＋ｄｅｌｔａＱＰC1、ｑＰ2＋ｄｅｌｔａＱＰC2となるように修正される。ｑＰcIdxは、０、１、２に等しいｃＩｄｘを入力としてもつ、ＨＥＶＣ範囲拡張作業草案７（ＲＥｘｔ  ＷＤ７）のサブクローズ８．６．１において定義されている、従来のＱＰ導出プロセスの出力である。
【０１３４】
[0142]本開示の１つの技法によると、ブロックに対して色変換フラグが存在しない場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、デブロッキングフィルタプロセス中に色変換が無効にされている（disabled）かのようにブロックを扱う。色変換フラグは、たとえば、インターもしくはイントラＢＣモードに対してｒｑｔ＿ｒｏｏｔ＿ｃｂｆが０に等しいとき、またはブロックが従来のイントラモードでコーディングされているが、クロマモードがＤＭモードに等しくないとき、存在しない場合がある。クロマブロックが辞書モードを使ってコーディングされているとき、クロマブロックは、区分サイズが２Ｎ×２Ｎに等しいときのルーマ予測ユニットと、または区分サイズがＮ×Ｎに等しいときの左上ルーマ予測ユニットと同じ予測モードを有する。１つのイントラコード化ＣＵが、１つのルーマ予測モード（区分サイズは２Ｎ×２Ｎに等しい）または４つのルーマ予測モード（区分サイズはＮ×Ｎに等しい）を有する場合があるが、イントラコード化ＣＵは、区分サイズにかかわらず１つのクロマ予測モードのみを有し得ることに留意されたい。ＨＥＶＣスクリーンコンテンツコーディングにおいて、色変換フラグは、クロマモードが辞書モードに等しいときにのみシグナリングされる。
【０１３５】
[0143]本開示の別の技法によると、ブロックに対して色変換フラグが存在しないとき、ビデオエンコーダ２０およびビデオデコーダ３０は、デブロッキングフィルタプロセス中に色変換が有効にされているかのようにブロックを扱うように構成され得る。そのような事例において、ビデオエンコーダ２０およびビデオデコーダ３０は、デブロックフィルタリングプロセスのための境界強度の決定中に、修正ＱＰ（デルタＱＰを含む）を使うように構成され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０は、修正ＱＰに依存し得る、ルーマ／クロマエッジの境界強度を最初に決定し得る。
【０１３６】
[0144]一例では、ビデオエンコーダ２０および／またはビデオデコーダ３０が、あるブロックを、色変換が有効にされているものとして扱う場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、量子化解除プロセスにおいて使われるものと同じであり得るルーマ／クロマエッジの境界強度の決定において、（ｑＰ＋ｄｅｌｔａＱＰC0，ｑＰ＋ｄｅｌｔａＱＰC1，ｑＰ＋ｄｅｌｔａＱＰC2）を使用し得る。
【０１３７】
[0145]代替として、有効にされた色変換でコーディングされたブロックに対して、ビデオエンコーダ２０および／またはビデオデコーダ３０は、量子化解除およびデブロッキングフィルタプロセスにおいて異なる量子化パラメータを使用し得る。たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、量子化解除プロセスにおいて（ｑＰ0＋ｄｅｌｔａＱＰC0，ｑＰ1＋ｄｅｌｔａＱＰC1，ｑＰ2＋ｄｅｌｔａＱＰC2）を使うとともに、ルーマ／クロマエッジの境界強度の決定において、（ｑＰ0＋ｄｅｌｔａＱＰC0，ｑＰ1＋ｄｅｌｔａＱＰC0，ｑＰ2＋ｄｅｌｔａＱＰC0）を使用し得る。代替として、ビデオエンコーダ２０および／またはビデオデコーダ３０は、修正された量子化パラメータを、ただ１つの成分に対して使用し得る。たとえば、１つのブロックが、色変換を使うものとしてコーディングされる／扱われる場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、（ｑＰ0＋ｄｅｌｔａＱＰC0，ｑＰ1，ｑＰ2）を使用し得る。
【０１３８】
[0146]別の例では、ＤＭモードではなくイントラモードを使ってブロックがコーディングされているとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ブロックがデブロッキングプロセス中に色変換を使うものとして扱われることを扱うことができる。つまり、修正ＱＰ（すなわち、デルタＱＰを含む）は、境界強度の決定中に使われる。別の例では、デブロッキングフィルタプロセスにおいて、ブロックを、色変換を使うものとして扱うか否かは、シーケンスタイプ依存であり得る。たとえば、ＲＧＢコーディングの場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、より多くのブロックが色変換を選択することが好まれるので、色変換を使うものとして、ブロックをコーディングすることを用いてもよく、ＹＣｂＣｒコーディングの場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ブロックを、色変換を有するものとして扱う。
【０１３９】
[0147]本開示の技法の別の例によると、あるブロックに対して色変換フラグが存在しないとき、ビデオエンコーダ２０および／またはビデオデコーダ３０が、デブロッキングフィルタプロセスにおいて色変換を使うものとしてブロックを扱うか否かは、モード依存であり得る。一例では、イントラＢＣおよびインターモードでコーディングされたブロックの場合、インターまたはイントラＢＣモードに対してｒｑｔ＿ｒｏｏｔ＿ｃｂｆが０に等しい、すなわち、非ゼロ係数がないとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ブロックを、色変換を使うものとして扱う。イントラモードに対して、色変換フラグが存在しない場合の間、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ブロックを、色変換が無効にされているものとして扱う。
【０１４０】
[0148]別の例では、あるブロックに対して色変換フラグが存在しないとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ブロックを、デブロッキングフィルタプロセス用に、色変換が有効にされているか、それとも無効にされているものとして扱うかを、入力シーケンスのフォーマットに依存するものとして決定する。一例では、ＲＧＢフォーマットでのシーケンスに対して、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ブロックを、色変換が有効にされているものとして扱う。別の例では、ＹＵＶ／ＹＣｂＣｒフォーマットでのシーケンスに対して、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ブロックを、色変換が無効にされているものとして扱う。
【０１４１】
[0149]本開示の別の技法によると、量子化解除および／またはデブロッキングフィルタプロセスにおいて、修正ＱＰが使われるときであっても、ビデオエンコーダ２０および／またはビデオデコーダ３０は依然として、未修正ＱＰを、後に続くコード化ＣＵについての予測子として使用し得る。たとえば、第１のブロックが色空間変換モードを使って符号化されているかどうかにかかわらず、したがって、第１のブロックの変換係数が、修正された量子化パラメータを使って量子化解除されるかどうかにかかわらず、ビデオエンコーダ２０は、ビデオデコーダ３０に、第２のブロックのための量子化パラメータを、第１のブロックのための未修正量子化パラメータと、第２のブロックのための未修正量子化パラメータとの間の差分としてシグナリングする。
【０１４２】
[0150]代替として、ビデオエンコーダ２０および／またはビデオデコーダ３０は、修正ＱＰを、後に続くコード化ＣＵについての予測子として使うこともできる。
【０１４３】
[0151]図６は、色空間コンバージョンプロセスを使用してビデオブロックを符号化するための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
【０１４４】
[0152]図６に示されているように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図６の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。モード選択ユニット４０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、区分ユニット４８とを含む。モード選択ユニット４０は、イントラＢＣモードモジュールなど、選択されたモードに基づく他のユニットも含み得る。ビデオブロックの再構築のために、ビデオエンコーダ２０は、また、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。デブロッキングフィルタ（図６に図示せず）も、再構築されたビデオからブロッキネスアーティファクトを除去するために、ブロック境界をフィルタリングするために含まれ得る。典型的な例において、加算器６２は、デブロッキングフィルタの出力を受信する。追加のフィルタ（ループ内またはループ後）もデブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔のために示されていないが、必要な場合、（ループ内フィルタとして）加算器５０の出力をフィルタリングすることができる。
【０１４５】
[0153]符号化プロセス中に、ビデオエンコーダ２０は符号化されるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間的予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに基づいてビデオブロックのインター予測コーディングを実施する。ビデオエンコーダ２０は、たとえば、ビデオデータの各ブロックに適切なコーディングモードを選択するために、複数のコーディングパスを実施し得る。
【０１４６】
[0154]動き推定ユニット４２および動き補償ユニット４４は、高度に統合される場合があるが、概念的な目的のために別々に示されている。動き推定ユニット４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム内でコーディングされている現在のブロック（または、他のコーディングユニット）に対する、参照フレーム内の予測ブロック（または、他のコーディングユニット）に対する、現在のビデオフレーム内またはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの４分の１ピクセル位置、８分の１ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、完全なピクセル位置および分数ピクセル位置に対して動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【０１４７】
[0155]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックに関するＰＵの動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０１４８】
[0156]動き補償ユニット４４によって実施される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴い得る。同じく、動き推定ユニット４２および動き補償ユニット４４は、いくつかの例では、機能的に統合され得る。現在のビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいてそれを指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成し得る。概して、動き推定ユニット４２は、ルーマ成分に対して動き推定を実施し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方について、ルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際のビデオデコーダ３０による使用のために、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成し得る。
【０１４９】
[0157]イントラ予測ユニット４６は、上述されたように、動き推定ユニット４２と動き補償ユニット４４とによって実施されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化することができ、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから、使用するのに適切なイントラ予測モードを選択し得る。
【０１５０】
[0158]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードに対して、レート歪み分析を使用してレート歪みの値を計算し、テストされたモードの中から最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックの最も良好なレート歪み値を呈するかを決定するために、様々な符号化ブロックのための歪みおよびレートから比を計算し得る。
【０１５１】
[0159]ブロックのためのイントラ予測モードを選択した後、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックのための符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
【０１５２】
[0160]イントラ予測ユニット４６は、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに基づいて、ビデオブロックのイントラ予測コーディングを実施し得る。さらに、区分ユニット４８は、前のコーディングパス内の前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分することができる。たとえば、区分ユニット４８は、最初にフレームまたはスライスをＬＣＵに区分し、レート歪み分析（たとえば、レート歪み最適化）に基づいてＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、さらに、ＬＣＵをサブＣＵに区分することを示す４分木データ構造を生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵと１つまたは複数のＴＵとを含み得る。
【０１５３】
[0161]モード選択ユニット４０は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの１つを選択し得、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器５０に与え、および参照フレームとして使用するための符号化ブロックを再構築するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器６２に与え得る。モード選択ユニット４０はまた、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット５６に与える。
【０１５４】
[0162]ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって残差ビデオブロックを形成し得る。加算器５０は、この減算演算を実施する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に類似する変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを作る。変換処理ユニット５２は、ＤＣＴに概念的に同様である他の変換を実施し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。どの場合においても、変換処理ユニット５２は、残差ブロックに変換を適用して、残差変換係数のブロックを作る。変換は、ピクセル値領域からの残差情報を、周波数領域などの変換領域にコンバートし得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために、変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット５６が走査を実施し得る。
【０１５５】
[0163]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実施し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後に、符号化ビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、または後で送信するかもしくは取り出すためにアーカイブされ得る。
【０１５６】
[0164]本開示の技法によると、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、本開示の１つまたは複数の技法を実施し得る。たとえば、ビデオエンコーダ２０のエントロピー符号化ユニット５６がビデオデータのＣＵを符号化する。ビデオデータを符号化する際、色空間コンバージョンユニット５１は、色空間コンバージョンを使ってＣＵを符号化するかどうか決定し得る。色成分について、量子化ユニット５４は、色成分のための初期ＱＰを決定し、ＣＵが色空間コンバージョンを使って符号化されていることに基づいて、色成分のための最終ＱＰが色成分の初期ＱＰと色成分のための非ゼロＱＰオフセットの和に等しくなるように、色成分のための最終ＱＰを設定することができる。量子化ユニット５４は、色成分のための最終ＱＰに基づいて、ＣＵのための係数ブロックを量子化することができ、ＣＵのための係数ブロックは色成分のサンプル値に基づく。各係数が量子化されると、エントロピー符号化ユニット５６は、量子化された係数ブロックの各々を表す１つまたは複数のエントロピー符号化シンタックス要素を備えるビデオデータビットストリームをさらに出力することができる。
【０１５７】
[0165]逆量子化ユニット５８および逆変換ユニット６０は、（たとえば、参照ブロックとして後で使用するために）ピクセル領域において残差ブロックを再構築するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４は、残差ブロックを参照ピクチャメモリ６４のフレームのうちの１つの予測ブロックに加えることによって参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構築された残差ブロックに１つまたは複数の補間フィルタを適用し得る。加算器６２は、参照ピクチャメモリ６４に記憶するための再構築されたビデオブロックを生成するために、動き補償ユニット４４によって生成された動き補償予測ブロックに、再構築された残差ブロックを加える。再構築されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１５８】
[0166]ビデオエンコーダ２０は、ビデオデータの第１のブロックのための量子化パラメータを決定することと、ビデオデータの第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第１のブロックのための量子化パラメータを修正することと、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化プロセスを実施することと、ビデオデータの第２のブロックのための量子化パラメータを決定することと、第１のブロックのための量子化パラメータと第２のブロックのための量子化パラメータとの間の差分値をシグナリングすることと、を行うように構成されたビデオエンコーダの例を表す。
【０１５９】
[0167]図７は、色空間コンバージョンプロセスを使用してそのうちのいくつかが符号化された、ビデオブロックを復号するための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図７の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照ピクチャメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、イントラＢＣユニットなど、他のユニットも含み得る。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図６）に関して説明された符号化パスとは概して逆の復号パスを実施し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信されたシンタックス要素から決定された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。いくつかの例では、イントラ予測ユニット７４は、いくつかのイントラ予測モードインジケータを推測し得る。
【０１６０】
[0168]復号プロセス中に、ビデオデコーダ３０は、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す、符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、シンタックス要素を動き補償ユニット７２に転送する。
【０１６１】
[0169]本開示の技法によると、ビデオデコーダ３０は、本開示の１つまたは複数の技法を実施し得る。たとえば、ビデオデコーダ３０のエントロピー復号ユニット７０がビデオデータのコーディングユニット（ＣＵ）を復号する。ビデオデータを復号する際、ビデオデコーダ３０の逆色空間コンバージョンユニット７９は、ＣＵが、色空間コンバージョンを使って符号化されたと決定し得る。色成分について、ビデオデコーダ３０の逆量子化ユニット７６は、色成分のための初期量子化パラメータ（ＱＰ）を決定することができ、ＣＵが色空間コンバージョンを使って符号化されていることに基づいて、色成分のための最終ＱＰが色成分の初期ＱＰと色成分のための非ゼロＱＰオフセットの和に等しくなるように、色成分のための最終ＱＰを決定する。ビデオデコーダ３０の逆量子化ユニット７６は、色成分のための最終ＱＰに基づいて、ＣＵのための係数ブロックを逆量子化することができ、ＣＵのための係数ブロックは色成分のサンプル値に基づく。各係数ブロックが逆量子化されると、ビデオデコーダ３０の加算器８０は、コーディングユニットのための逆量子化された係数ブロックに基づいて、ＣＵを再構築することができる。
【０１６２】
[0170]イントラ予測ユニット７４は、スライスがＩスライス、Ｐスライス、またはＢスライスであるとき、予測ブロックを生成するのに、イントラ予測モードを使用し得る。言い換えると、単または双方向インター予測を可能にするイントラ予測ブロックをスライス中に有することができる。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照ピクチャリストと、リスト０と、リスト１とを構築することができる。動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックの予測ブロックを生成する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構築情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０１６３】
[0171]逆量子化ユニット７６は、ビットストリーム中で与えられエントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、量子化の程度を決定し、同様に適用されるべき逆量子化の程度を決定するために、ビデオスライス中の各ビデオブロックに関してビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０１６４】
[0172]ビデオデコーダ３０は、ビデオデータの第１のブロックを受信し、第１のブロックのための量子化パラメータを決定するための情報を受信することと、第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して、第１のブロックのための量子化パラメータを修正することと、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化解除プロセスを実施することと、ビデオデータの第２のブロックを受信することと、第２のブロックについて、第２のブロックのための量子化パラメータと第１のブロックのための量子化パラメータとの間の差分を示す差分値を受信することと、受信された差分値および第１のブロックのための量子化パラメータに基づいて、第２のブロックのための量子化パラメータを決定することと、第２のブロックのための決定された量子化パラメータに基づいて、第２のブロックを復号することとを行うように構成され得るビデオデコーダの例を表す。ビデオデコーダ３０は、第１のブロックのための修正された量子化パラメータに基づいて、デブロックフィルタリングプロセスのための境界強度パラメータを決定し、第１のブロックに対してデブロックフィルタリングプロセスを実施することもできる。
【０１６５】
[0173]色空間変換モードがビデオデータの第２のブロックに対して有効にされていると決定したことに応答して、ビデオデコーダ３０は、第２のブロックのための決定された量子化パラメータを修正し、第２のブロックのための修正された量子化パラメータに基づいて第２のブロックについての量子化解除プロセスを実施することによって、第２のブロックのための決定された量子化パラメータに基づいて、第２のブロックを復号することができる。ビデオデコーダ３０は、色空間変換モードが第２のブロックに対して無効にされていると決定したことに応答して、第２のブロックのための決定された量子化パラメータに基づいて第２のブロックについての量子化解除プロセスを実施することによって、第２のブロックのための決定された量子化パラメータに基づいて、第２のブロックを復号することもできる。
【０１６６】
[0174]ビデオデコーダ３０は、ビデオデータの第１のブロックが、第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定するための、第１のブロックについてのフラグを受信し得る。ビデオデコーダ３０は、第１のブロックのための量子化パラメータについての初期値を受信することによって、第１のブロックのための量子化パラメータを決定するための情報を受信することができる。ビデオデコーダ３０は、スライスレベルで初期値を受信し得る。ビデオデコーダ３０は、第２のブロックのための量子化パラメータと第１のブロックのための量子化パラメータとの間の差分を示す差分値を、コーディングされたユニットレベル（at a coded unit level）で受信し得る。第２のブロックのための量子化パラメータと第１のブロックのための量子化パラメータとの間の差分を示す差分値を受信するために、ビデオデコーダ３０は、差分の絶対値を示すシンタックス要素を受信し、差分の符号を示すシンタックス要素を受信し得る。
【０１６７】
[0175]上記技法のいくつかの例示的実装形態では、不可欠なシンタックス要素が、シーケンスパラメータセット中に見られ得る。以下のテーブルにおいて、イタリック体テキストは、ＨＥＶＣ規格の現在の草案に対する追加を表す。ボールドテキストは、シンタックス要素を示す。いくつかの例では、シーケンスパラメータセットＲＢＳＰが、以下のシンタックスを有し得る。
【表４】
2017523677.tif 000024
【０１６８】
[0176]この例では、１に等しいｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、色変換が有効にされていることを示す。シンタックス要素ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しいとき、色変換は有効にされない。シンタックス要素ｌｏｓｓｌｅｓｓ＿ｅｎａｂｌｅ＿ｆｌａｇが１に等しいとき、可逆コーディングが適用される。さらに、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、オリジナルＹＣｏＣｇ−Ｒ変換が使われる。シンタックス要素ｌｏｓｓｌｅｓｓ＿ｅｎａｂｌｅ＿ｆｌａｇが０に等しいとき、不可逆コーディングが適用される。さらに、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、オリジナルＹＣｏＣｇ変換が使われる。
【０１６９】
[0177]代替として、新規導入フラグは、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃが３に等しいときのみ、シグナリングされ得る。
【表５】
2017523677.tif 000025
【０１７０】
[0178]代替として、新規導入フラグは、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃが３に等しく、４：４：４クロマフォーマットの３つの色成分が別個にコーディングされないときのみ、シグナリングされ得る。そのために、上記条件「ｉｆ（ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃ＝＝３）」は、「ｉｆ（ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃ＝＝３＆＆！ｓｅｐａｒａｔｅ＿ｃｏｌｏｕｒ＿ｐｌａｎｅ＿ｆｌａｇ）」で置き換えられ得る。
【０１７１】
[0179]さらに、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃは３に等しくなり得るという制約が適用され得る。代替として、さらに、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、ｓｅｐａｒａｔｅ＿ｃｏｌｏｕｒ＿ｐｌａｎｅ＿ｆｌａｇは０に等しくなり得る。
【０１７２】
[0180]いくつかの例では、コーディングユニットが、以下のシンタックスを有し得る。
【表６】
2017523677.tif 000026
【表７】
2017523677.tif 000027
【０１７３】
[0181]上記例では、イントラモードの場合、色変換フラグが最初にシグナリングされる。このフラグが１に等しいとき、ｉｎｔｒａ＿ｃｈｒｏｍａ＿ｐｒｅｄ＿ｍｏｄｅのシグナリングはスキップされてよく、ここにおいて、クロマ成分は、ルーマと同じモードを共有する。
【０１７４】
[0182]代替として、いくつかの例では、コーディングユニットが、以下のシンタックスを有し得る。
【表８−１】
2017523677.tif 000028
【表８−２】
2017523677.tif 000029
【０１７５】
[0183]代替として、イントラＢＣモードがイントラモードと見なされる、つまり、対応するＣｕＰｒｅｄＭｏｄｅ［ｘ０］［ｙ０］がＭＯＤＥ＿ＩＮＴＲＡに等しいとき、上記の強調表示された条件「ｉｆ（ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＆＆（ＣｕＰｒｅｄＭｏｄｅ［ｘ０］［ｙ０］＝＝ＭＯＤＥ＿ＩＮＴＥＲ｜｜！ｉｎｔｒａ＿ｃｈｒｏｍａ＿ｐｒｅｄ＿ｍｏｄｅ［ｘ０］［ｙ０］）」は、「ｉｆ（ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＆＆（ＣｕＰｒｅｄＭｏｄｅ［ｘ０］［ｙ０］＝＝ＭＯＤＥ＿ＩＮＴＥＲ｜｜ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ［ｘ０］［ｙ０］｜｜！ｉｎｔｒａ＿ｃｈｒｏｍａ＿ｐｒｅｄ＿ｍｏｄｅ［ｘ０］［ｙ０］）」で置き換えられ得る。代替として、上のすべての例において、ＣｕＰｒｅｄＭｏｄｅ［ｘ０］［ｙ０］＝＝ＭＯＤＥ＿ＩＮＴＥＲは、ＣｕＰｒｅｄＭｏｄｅ［ｘ０］［ｙ０］！＝ＭＯＤＥ＿ＩＮＴＲＡで置き換えられ得る。
【０１７６】
[0184]代替として、上記条件「ｉｆ（ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＆＆（ＣｕＰｒｅｄＭｏｄｅ［ｘ０］［ｙ０］＝＝ＭＯＤＥ＿ＩＮＴＥＲ｜｜！ｉｎｔｒａ＿ｃｈｒｏｍａ＿ｐｒｅｄ＿ｍｏｄｅ［ｘ０］［ｙ０］）」は、単に「ｉｆ（ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）」で置き換えられ得る。この場合、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しく、現在のＣＵがイントラコーディングされているとき、クロマおよびルーマモードが同じであるという制約が満足され得る。
【０１７７】
[0185]以下の変更は、現在のＣＵ／ＰＵ／ＴＵが可逆コーディングされていないとき（すなわち、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇが０に等しいとき）に呼び出され得る。一例では、量子化解除プロセスにおいて使われるＱＰは、色変換が適用されると変わり得る。ただし、デブロッキングプロセスにおいて使われるＱｐYは不変であってよく、すなわち、デルタＱＰ（ｄｅｌｔａＱＰC0）が考慮されない。
【０１７８】
[0186]復号プロセスにおいて、量子化パラメータについての導出プロセスに対して、このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション（ｘCb，ｙCb）である。このプロセスでは、変数ＱｐY、ルーマ量子化パラメータＱｐ’Y、ならびにクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crが導出される。
【０１７９】
[0187]ルーマロケーション（ｘQg，ｙQg）は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置ｘQgおよび垂直位置ｙQgは、それぞれ、ｘCb−（ｘCb＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））およびｙCb−（ｙCb＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））に等しく設定される。量子化グループのルーマサイズ、Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅは、同じｑＰY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
【０１８０】
[0188]予測ルーマ量子化パラメータｑＰY_PREDは以下の順序付きステップによって導出され得る。１）変数ｑＰY_PREVが導出され得る。次の条件のうちの１つまたは複数が真である場合、ｑＰY_PREVはＳｌｉｃｅＱｐYに等しく設定される。すなわち、現在の量子化グループがスライス中の第１の量子化グループであるか、現在の量子化グループがタイル中の第１の量子化グループであるか、または現在の量子化グループがコーディングツリーブロック行中の第１の量子化グループであるとともにｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい。そうでない場合、ｑＰY_PREVは、復号順序で、前の量子化グループ中の最後のコーディングユニットのルーマ量子化パラメータＱｐYに等しく設定される。
【０１８１】
[0189]２）ｚ走査順序での、ブロックのための利用可能性導出プロセスが、（ｘCb，ｙCb）に等しく設定されたロケーション（ｘCurr，ｙCurr）、および（ｘQg−１，ｙQg）に等しく設定された隣接ロケーション（ｘNbY，ｙNbY）を入力として呼び出され、出力はａｖａｉｌａｂｌｅＡに割り当てられる。変数ｑＰY_Aは次のように導出される。次の条件のうちの１つまたは複数が真である場合、ｑＰY_AはｑＰY_PREVに等しく設定される。すなわち、ａｖａｉｌａｂｌｅＡがＦＡＬＳＥに等しいか、またはルーマロケーション（ｘQg−１，ｙQg）をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスｃｔｂＡｄｄｒＡがＣｔｂＡｄｄｒＩｎＴｓに等しくなく、ここでｃｔｂＡｄｄｒＡは次のように導出される。
【数１９】
2017523677.tif 000030
そうでない場合、ｑＰY_Aは、（ｘQg−１，ｙQg）をカバーするルーマコーディングブロックを含むコーディングユニットのルーマ量子化パラメータＱｐYに等しく設定される。
【０１８２】
[0190]３）ｚ走査順序での、ブロックのための利用可能性導出プロセスが、（ｘCb，ｙCb）に等しく設定されたロケーション（ｘCurr，ｙCurr）、および（ｘQg，ｙQg−１）に等しく設定された隣接ロケーション（ｘNbY，ｙNbY）を入力として呼び出される。出力はａｖａｉｌａｂｌｅＢに割り当てられる。変数ｑＰY_Bが導出される。次の条件のうちの１つまたは複数が真である場合、ｑＰY_BはｑＰY_PREVに等しく設定される。すなわち、ａｖａｉｌａｂｌｅＢがＦＡＬＳＥに等しいか、またはルーマロケーション（ｘQg，ｙQg−１）をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスｃｔｂＡｄｄｒＢがＣｔｂＡｄｄｒＩｎＴｓに等しくなく、ここでｃｔｂＡｄｄｒＢは次のように導出される。
【数２０】
2017523677.tif 000031
そうでない場合、ｑＰＹ＿Ｂは、（ｘＱｇ，ｙＱｇ−１）をカバーするルーマコーディングブロックを含むコーディングユニットのルーマ量子化パラメータＱｐＹに等しく設定される。
【０１８３】
[0191]予測ルーマ量子化パラメータｑＰY_PREDは次のように導出され得る。
【数２１】
2017523677.tif 000032
【０１８４】
[0192]変数ＱｐYは次のように導出され得る。
【数２２】
2017523677.tif 000033
【０１８５】
[0193]ルーマ量子化パラメータＱｐ’Yは次のように導出され得る。
【数２３】
2017523677.tif 000034
【０１８６】
[0194]ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、変数ｑＰｉCbおよびｑＰｉCrは次のように導出される。
【数２４】
2017523677.tif 000035
【０１８７】
[0195]ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが１に等しい場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、ＱｐCの値に等しく設定される。そうでない場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、Ｍｉｎ（ｑＰｉ，５１）に等しく設定される。
【０１８８】
[0196]ＣｂおよびＣｒ成分のクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crは、次のように導出される。
【数２５】
2017523677.tif 000036
【０１８９】
[0197]１に等しいＣｈｒｏｍａＡｒｒａｙＴｙｐｅのためのｑＰｉに応じたＱｐcの指定は、次のようになる。
【表９】
2017523677.tif 000037
【０１９０】
[0198]量子化解除プロセスでは、各成分インデックス（ｃＩｄｘ）のための量子化パラメータｑＰが導出され得る。このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマ変換ブロックの左上サンプルを指定するルーマロケーション（ｘＴｂＹ，ｙＴｂＹ）と、コーディングブロックに対する現在のブロックの階層深度を指定する変数ｔｒａｆｏＤｅｐｔｈと、現在のブロックの色成分を指定する変数ｃＩｄｘと、現在の変換ブロックのサイズを指定する変数ｎＴｂＳとであり得る。このプロセスの出力は、要素ｒ［ｘ］［ｙ］をもつ残差サンプルｒの（ｎＴｂＳ）×（ｎＴｂＳ）アレイであり得る。
【０１９１】
[0199]量子化パラメータｑＰが導出され得る。ｃＩｄｘが０に等しい場合、
【数２６】
2017523677.tif 000038
そうではなく、ｃＩｄｘが１に等しい場合、
【数２７】
2017523677.tif 000039
そうでない（ｃＩｄｘが２に等しい）場合、
【数２８】
2017523677.tif 000040
【０１９２】
[0200]一例では、ｄｅｌｔａＱＰC0、ｄｅｌｔａＱＰC1およびｄｅｌｔａＱＰC2は、それぞれ、−５、−５および−３にセットされ得る。別の例では、デブロッキングプロセスにおいて使われるＱｐYは不変であり、すなわち、デルタＱＰ（ｄｅｌｔａＱＰC0）が考慮される。復号プロセスでは、量子化パラメータのための導出プロセスに対して、このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション（ｘCb，ｙCb）であり得る。このプロセスでは、変数ＱｐY、ルーマ量子化パラメータＱｐ’Y、ならびにクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crが導出され得る。
【０１９３】
[0201]ルーマロケーション（ｘＱｇ，ｙＱｇ）は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置ｘＱｇおよび垂直位置ｙＱｇは、それぞれ、ｘＣｂ−（ｘＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））およびｙＣｂ−（ｙＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））に等しく設定される。量子化グループのルーマサイズ、Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅは、同じｑＰY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
【０１９４】
[0202]予測ルーマ量子化パラメータｑＰY_PREDは以下の順序付きステップによって導出され得る。１）変数ｑＰY_PREVが導出され得る。次の条件のうちの１つまたは複数が真である場合、ｑＰY_PREVはＳｌｉｃｅＱｐYに等しく設定される。すなわち、現在の量子化グループがスライス中の第１の量子化グループであるか、現在の量子化グループがタイル中の第１の量子化グループであるか、または現在の量子化グループがコーディングツリーブロック行中の第１の量子化グループであるとともにｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい。そうでない場合、ｑＰY_PREVは、復号順序で、前の量子化グループ中の最後のコーディングユニットのルーマ量子化パラメータＱｐYに等しく設定される。
【０１９５】
[0203]２）ｚ走査順序での、ブロックのための利用可能性導出プロセスが、（ｘＣｂ，ｙＣｂ）に等しく設定されたロケーション（ｘＣｕｒｒ，ｙＣｕｒｒ）、および（ｘＱｇ−１，ｙＱｇ）に等しく設定された隣接ロケーション（ｘＮｂＹ，ｙＮｂＹ）を入力として呼び出され、出力はａｖａｉｌａｂｌｅＡに割り当てられる。変数ｑＰY_Aは次のように導出される。次の条件のうちの１つまたは複数が真である場合、ｑＰY_AはｑＰY_PREVに等しく設定される。すなわち、ａｖａｉｌａｂｌｅＡがＦＡＬＳＥに等しいか、またはルーマロケーション（ｘＱｇ−１，ｙＱｇ）をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスｃｔｂＡｄｄｒＡがＣｔｂＡｄｄｒＩｎＴｓに等しくなく、ここでｃｔｂＡｄｄｒＡは次のように導出される。
【数２９】
2017523677.tif 000041
そうでない場合、ｑＰY_Aは、（ｘＱｇ−１，ｙＱｇ）をカバーするルーマコーディングブロックを含むコーディングユニットのルーマ量子化パラメータＱｐYに等しく設定される。
【０１９６】
[0204]３）ｚ走査順序での、ブロックのための利用可能性導出プロセスが、（ｘＣｂ，ｙＣｂ）に等しく設定されたロケーション（ｘＣｕｒｒ，ｙＣｕｒｒ）、および（ｘＱｇ，ｙＱｇ−１）に等しく設定された隣接ロケーション（ｘＮｂＹ，ｙＮｂＹ）を入力として呼び出される。出力はａｖａｉｌａｂｌｅＢに割り当てられる。変数ｑＰY_Bが導出される。次の条件のうちの１つまたは複数が真である場合、ｑＰY_BはｑＰY_PREVに等しく設定される。すなわち、ａｖａｉｌａｂｌｅＢがＦＡＬＳＥに等しいか、またはルーマロケーション（ｘＱｇ，ｙＱｇ−１）をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスｃｔｂＡｄｄｒＢがＣｔｂＡｄｄｒＩｎＴｓに等しくなく、ここでｃｔｂＡｄｄｒＢは次のように導出される。
【数３０】
2017523677.tif 000042
そうでない場合、ｑＰY_Bは、（ｘＱｇ，ｙＱｇ−１）をカバーするルーマコーディングブロックを含むコーディングユニットのルーマ量子化パラメータＱｐYに等しく設定される。
【０１９７】
[0205]予測ルーマ量子化パラメータｑＰY_PREDは次のように導出され得る。
【数３１】
2017523677.tif 000043
【０１９８】
[0206]変数ＱｐYは次のように導出され得る。
【数３２】
2017523677.tif 000044
【０１９９】
[0207]ルーマ量子化パラメータＱｐ’Yは次のように導出され得る。
【数３３】
2017523677.tif 000045
【０２００】
[0208]ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、変数ｑＰｉCbおよびｑＰｉCrは次のように導出され得る。
【数３４】
2017523677.tif 000046
【０２０１】
[0209]ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが１に等しい場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、ＱｐCの値に等しく設定され得る。そうでない場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、Ｍｉｎ（ｑＰｉ，５１）に等しく設定され得る。ＣｂおよびＣｒ成分のクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crは、次のように導出され得る。
【数３５】
2017523677.tif 000047
１に等しいＣｈｒｏｍａＡｒｒａｙＴｙｐｅのためのｑＰｉに応じたＱｐcの指定は、次のようになり得る。
【表１０】
2017523677.tif 000048
【数３６】
2017523677.tif 000049
【０２０２】
[0210]量子化解除プロセスでは、各成分インデックス（ｃＩｄｘ）のための量子化パラメータｑＰが、次のように導出され得る。ｃＩｄｘが０に等しい場合、
【数３７】
2017523677.tif 000050
そうではなく、ｃＩｄｘが１に等しい場合、
【数３８】
2017523677.tif 000051
そうでない（ｃＩｄｘが２に等しい）場合、
【数３９】
2017523677.tif 000052
【０２０３】
[0211]一例では、ｄｅｌｔａＱＰC0、ｄｅｌｔａＱＰC1およびｄｅｌｔａＱＰC2は、それぞれ、−５、−５および−３に設定され得る。
【０２０４】
[0212]いくつかの例示的な実装詳細について、ここで記載する。以下では、シンタックス要素およびセマンティクスの変更について、以下から入手可能な、ＪＣＴＶＣ−Ｑ１００５＿ｖ４、Ｄａｖｉｄ  Ｆｌｙｎｎら、「High Efficiency Video Coding(HEVC)Range Extensions文書仕様：ドラフト７、JCTVC-Q1005_v4、ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11のビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１７回会合：スペイン、バレンシア、２０１４年３月２７日〜４月４日における対応するシンタックス要素およびセマンティクスと比較して記載する。
http://phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1005-v4.zip
【０２０５】
[0213]新規追加部分は、ボールドまたはイタリック、すなわち、太字体または斜字体で強調表示され、削除部分は、括弧の中のボールド、たとえば、［［削除されたテキスト］］として記される。イタリック部分は、本開示における提案される技法に関連する。
【表１１】
2017523677.tif 000053
１に等しいｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、色変換が有効にされていることを示す。０に等しいｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、色変換が有効にされていないことを示す。
１に等しいｌｏｓｓｌｅｓｓ＿ｅｎａｂｌｅ＿ｆｌａｇは、可逆コーディングが適用されることを示す。さらに、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、オリジナルＹＣｏＣｇ−Ｒ変換が使われる。
０に等しいｌｏｓｓｌｅｓｓ＿ｅｎａｂｌｅ＿ｆｌａｇは、不可逆コーディングが適用されることを示す。さらに、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、オリジナルＹＣｏＣｇ変換が使われる。
【表１２−１】
2017523677.tif 000054
【表１２−２】
2017523677.tif 000055
【表１３】
2017523677.tif 000056
【０２０６】
[0214]以下において例＃１と呼ばれる第１の例について、ここで記載する。上述したように、この例＃１における新規追加部分は、ボールドまたはイタリック、すなわち、太字体または斜字体で強調表示され、削除部分は、括弧の中のボールド、たとえば、［［削除されたテキスト］］として記される。イタリック部分は、本開示における提案される技法に関連する。
この例では、ｄｅｆａｕｌｔＶａｌは０に等しい。
８．４．１  イントラ予測モードでコーディングされたコーディングユニットのための一般的な復号プロセス
このプロセスへの入力は、以下の通りである。
−  ．．．
このプロセスの出力は、デブロッキングフィルタリング前の、修正された再構築ピクチャである。
サブクローズ８．６．１において規定された量子化パラメータのための導出プロセスは、ルーマロケーション（ｘＣｂ，ｙＣｂ）を入力として呼び出される。
変数ｎＣｂＳは、１＜＜ｌｏｇ２ＣｂＳｉｚｅに等しくセットされる。
ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］およびＩｎｔｒａＳｐｌｉｔＦｌａｇの値に依存して、ルーマサンプルのための復号プロセスは、次のように規定される。
−  ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が１に等しい場合、再構築ピクチャは、次のように修正される。
．．．
−  そうではなく（ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しい）、ＩｎｔｒａＳｐｌｉｔＦｌａｇが０に等しい場合、以下の順序付きステップが適用される。
１．  ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しいとき、サブクローズ８．４．２において規定されたイントラ予測モードについての導出プロセスは、ルーマロケーション（ｘＣｂ，ｙＣｂ）を入力として呼び出される。
２．  ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が１に等しいとき、サブクローズ８．４．４において規定されたイントラブロック複写予測モードでの、ブロックベクトル成分についての導出プロセスは、ルーマロケーション（ｘＣｂ，ｙＣｂ）および変数ｌｏｇ２ＣｂＳｉｚｅを入力として呼び出され、出力はｂｖＩｎｔｒａである。
【表１４】
2017523677.tif 000057
−  そうでない（ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しく、ＩｎｔｒａＳｐｌｉｔＦｌａｇが１に等しい）場合、値０．．３にわたって進む変数ｂｌｋＩｄｘに対して、以下の順序付きステップが適用される。
１．  変数ｘＰｂは、ｘＣｂ＋（ｎＣｂＳ＞＞１）＊（ｂｌｋＩｄｘ％２）に等しくセットされる。
２．  変数ｙＰｂは、ｙＣｂ＋（ｎＣｂＳ＞＞１）＊（ｂｌｋＩｄｘ／２）に等しくセットされる。
３．  サブクローズ８．４．２において規定されたイントラ予測モードについての導出プロセスが、ルーマロケーション（ｘＰｂ，ｙＰｂ）を入力として呼び出される。
【表１５】
2017523677.tif 000058
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、以下が適用される。
変数ｌｏｇ２ＣｂＳｉｚｅＣは、
【数４０】
2017523677.tif 000059
に等しくセットされる。
ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］およびＩｎｔｒａＳｐｌｉｔＦｌａｇの値に依存して、クロマサンプルのための復号プロセスは、次のように規定される。
−  ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が１に等しい場合、再構築ピクチャは、次のように修正される。
．．．
−  そうではなく（ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しい）、ＩｎｔｒａＳｐｌｉｔＦｌａｇが０に等しいか、またはＣｈｒｏｍａＡｒｒａｙＴｙｐｅが３に等しくない場合、以下の順序付きステップが適用される。
１．  ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しいとき、８．４．３において規定されたクロマイントラ予測モードについての導出プロセスが、ルーマロケーション（ｘＣｂ，ｙＣｂ）を入力として呼び出され、出力は、変数ＩｎｔｒａＰｒｅｄＭｏｄｅＣである。
【表１６】
2017523677.tif 000060
−  そうでない（ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しく、ＩｎｔｒａＳｐｌｉｔＦｌａｇが１に等しく、ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが３に等しい）場合、値０．．３にわたって進む変数ｂｌｋＩｄｘに対して、以下の順序付きステップが適用される。
１．  変数ｘＰｂは、ｘＣｂ＋（ｎＣｂＳ＞＞１）＊（ｂｌｋＩｄｘ％２）に等しくセットされる。
２．  変数ｙＰｂは、ｙＣｂ＋（ｎＣｂＳ＞＞１）＊（ｂｌｋＩｄｘ／２）に等しくセットされる。
３．  ８．４．３において規定されたクロマイントラ予測モードについての導出プロセスが、ルーマロケーション（ｘＰｂ，ｙＰｂ）を入力として呼び出され、出力は、変数ＩｎｔｒａＰｒｅｄＭｏｄｅＣである。
【表１７】
2017523677.tif 000061
現在のピクチャの左上ルーマサンプルに対する現在のルーマ変換ブロックの左上サンプルを指定するルーマサンプルロケーション（ｘＴｂＹ，ｙＴｂＹ）は、次のように導出される。
【数４１】
2017523677.tif 000062
変数ｓｐｌｉｔＦｌａｇは次のように導出される。
−  ｃＩｄｘが０に等しい場合、ｓｐｌｉｔＦｌａｇは、ｓｐｌｉｔ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ［ｘＴｂＹ］［ｙＴｂＹ］［ｔｒａｆｏＤｅｐｔｈ］に等しくセットされる。
−  そうではなく、次の条件のすべてが真である場合、ｓｐｌｉｔＦｌａｇは１に等しくセットされる。
−  ｃＩｄｘが０よりも大きい
−  ｓｐｌｉｔ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ［ｘＴｂＹ］［ｙＴｂＹ］［ｔｒａｆｏＤｅｐｔｈ］が１に等しい
−  ｌｏｇ２ＴｒａｆｏＳｉｚｅが２よりも大きい
−  そうでない場合、ｓｐｌｉｔＦｌａｇは０に等しくセットされる。
ｓｐｌｉｔＦｌａｇの値に応じて、以下が適用される。
−  ｓｐｌｉｔＦｌａｇが１に等しい場合、次の順序付きステップが適用される。
．．．
−  そうでない（ｓｐｌｉｔＦｌａｇが０に等しい）場合、値０．．（ｃＩｄｘ＞０＆＆ＣｈｒｏｍａＡｒｒａｙＴｙｐｅ＝＝２？１：０）にわたって進む変数ｂｌｋＩｄｘに対して、以下の順序付きステップが適用される。
１．  変数ｎＴｂＳが１＜＜ｌｏｇ２ＴｒａｆｏＳｉｚｅに等しくセットされる。
２．  変数ｙＴｂＯｆｆｓｅｔがｂｌｋＩｄｘ＊ｎＴｂＳに等しくセットされる。
３．  変数ｙＴｂＯｆｆｓｅｔＹがｙＴｂＯｆｆｓｅｔ＊ＳｕｂＨｅｉｇｈｔＣに等しくセットされる。
【表１８】
2017523677.tif 000063
−  次の条件のすべてが真である場合、ｒｅｓｉｄｕａｌＤｐｃｍは１に等しくセットされる。
−  ｉｍｐｌｉｃｉｔ＿ｒｄｐｃｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい。
−  ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ［ｘＴｂＹ］［ｙＴｂＹ＋ｙＴｂＯｆｆｓｅｔＹ］［ｃＩｄｘ］が１に等しいか、またはｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇが１に等しい。
−  ｐｒｅｄＭｏｄｅＩｎｔｒａが１０に等しいか、またはｐｒｅｄＭｏｄｅＩｎｔｒａが２６に等しい。
−  そうでない場合、ｒｅｓｉｄｕａｌＤｐｃｍが、ｅｘｐｌｉｃｉｔ＿ｒｄｐｃｍ＿ｆｌａｇ［ｘＴｂＹ］［ｙＴｂＹ＋ｙＴｂＯｆｆｓｅｔＹ］［ｃＩｄｘ］に等しくセットされる。
【表１９】
2017523677.tif 000064
−  ｐｒｅｄＭｏｄｅＩｎｔｒａＢｃが０に等しいとき、サブクローズ８．４．４．２．１において規定された一般的なイントラサンプル予測プロセスが、変換ブロックロケーション（ｘＴｂ０，ｙＴｂ０＋ｙＴｂＯｆｆｓｅｔ）、イントラ予測モードｐｒｅｄＭｏｄｅＩｎｔｒａ、変換ブロックサイズｎＴｂＳ、および変数ｃＩｄｘを入力として呼び出され、出力は、（ｎＴｂＳ）×（ｎＴｂＳ）アレイｐｒｅｄＳａｍｐｌｅｓである。
−  そうでない（ｐｒｅｄＭｏｄｅＩｎｔｒａＢｃが１に等しい）場合、サブクローズ８．４．４．２．７において規定されたイントラブロック複写プロセスが、変換ブロックロケーション（ｘＴｂ０，ｙＴｂ０＋ｙＴｂＯｆｆｓｅｔ）、変換ブロックサイズｎＴｂＳ、変数ｔｒａｆｏＤｅｐｔｈ、変数ｂｖＩｎｔｒａ、および変数ｃＩｄｘを入力として呼び出され、出力は、（ｎＴｂＳ）×（ｎＴｂＳ）アレイｐｒｅｄＳａｍｐｌｅｓである。
【表２０】
2017523677.tif 000065
−  ｐｒｅｄＭｏｄｅＩｎｔｒａＢｃが０に等しいとき、サブクローズ８．６．５において規定された、変換迂回を使う、ブロックについての指向性残差修正プロセスが、ｐｒｅｄＭｏｄｅＩｎｔｒａ／２６に等しくセットされた変数ｍＤｉｒ、変数ｎＴｂＳ、およびアレイｒｅｓＳａｍｐｌｅｓに等しくセットされた（ｎＴｂＳ）×（ｎＴｂＳ）アレイｒを入力として呼び出され、出力は、修正された（ｎＴｂＳ）×（ｎＴｂＳ）アレイｒｅｓＳａｍｐｌｅｓである。
−  そうでない（ｐｒｅｄＭｏｄｅＩｎｔｒａＢｃが１に等しい）場合、サブクローズ８．６．５において規定された、変換迂回を使う、ブロックについての指向性残差修正プロセスが、ｅｘｐｌｉｃｉｔ＿ｒｄｐｃｍ＿ｄｉｒ＿ｆｌａｇ［ｘＴｂＹ］［ｙＴｂＹ＋ｙＴｂＯｆｆｓｅｔＹ］［ｃＩｄｘ］に等しくセットされた変数ｍＤｉｒ、変数ｎＴｂＳ、およびアレイｒｅｓＳａｍｐｌｅｓに等しくセットされた（ｎＴｂＳ）×（ｎＴｂＳ）アレイｒを入力として呼び出され、出力は、修正された（ｎＴｂＳ）×（ｎＴｂＳ）アレイｒｅｓＳａｍｐｌｅｓである。
【表２１】
2017523677.tif 000066
【表２２】
2017523677.tif 000067
このプロセスへの入力は、以下の通りである。
−  ．．．
このプロセスの出力は、以下の通りである。
．．．
ｒｑｔ＿ｒｏｏｔ＿ｃｂｆの値に応じて、以下が適用される。
−  ｒｑｔ＿ｒｏｏｔ＿ｃｂｆが０に等しいか、またはｓｋｉｐ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が１に等しい場合、およびＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、（ｎＣｂＳL）×（ｎＣｂＳL）アレイｒｅｓＳａｍｐｌｅｓLのすべてのサンプル、ならびに２つの（ｎＣｂＳｗC）×（ｎＣｂＳｈC）アレイｒｅｓＳａｍｐｌｅｓCbおよびｒｅｓＳａｍｐｌｅｓCrのすべてのサンプルが０に等しくセットされる。
−  そうでない（ｒｑｔ＿ｒｏｏｔ＿ｃｂｆが１に等しい）場合、次の順序付きステップが適用される。
１．  ．．．
２．  ．．．．
３．  ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、サブクローズ８．５．４．３において後で規定されるクロマ残差ブロックについての復号プロセスが、ルーマロケーション（ｘＣｂ，ｙＣｂ）、（０，０）に等しくセットされたルーマロケーション（ｘＢ０，ｙＢ０）、ｌｏｇ２ＣｂＳｉｚｅに等しくセットされた変数ｌｏｇ２ＴｒａｆｏＳｉｚｅ、０に等しくセットされた変数ｔｒａｆｏＤｅｐｔｈ、２に等しくセットされた変数ｃＩｄｘ、ｎＣｂＳｗCに等しくセットされた変数ｎＣｂＳｗ、ｎＣｂＳｈCに等しくセットされた変数ｎＣｂＳｈ、および（ｎＣｂＳｗC）×（ｎＣｂＳｈC）アレイｒｅｓＳａｍｐｌｅｓCrを入力として呼び出され、出力は、（ｎＣｂＳｗC）×（ｎＣｂＳｈC）アレイｒｅｓＳａｍｐｌｅｓCrの修正バージョンである。
【表２３】
2017523677.tif 000068
８．６．１  量子化パラメータについての導出プロセス
このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション（ｘＣｂ，ｙＣｂ）を含む。
このプロセスでは、変数ＱｐY、ルーマ量子化パラメータＱｐ’Y、ならびにクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crが導出される。
ルーマロケーション（ｘＱｇ，ｙＱｇ）は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置ｘＱｇおよび垂直位置ｙＱｇは、それぞれ、ｘＣｂ−（ｘＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））およびｙＣｂ−（ｙＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））に等しくセットされる。量子化グループのルーマサイズ、すなわちＬｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅは、同じｑＰY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
予測ルーマ量子化パラメータｑＰY_PREDは以下の順序付きステップによって導出される。
．．．
変数ＱｐYは次のように導出される。
【数４２】
2017523677.tif 000069
【数４３】
2017523677.tif 000070
ルーマ量子化パラメータＱｐ’Yは次のように導出される。
【数４４】
2017523677.tif 000071
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、以下が適用される。
−  変数ｑＰｉCbおよびｑＰｉCrは次のように導出される。
【数４５】
2017523677.tif 000072
【数４６】
2017523677.tif 000073
−  ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが１に等しい場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、テーブル８−１０において指定されるようにＱｐCの値に等しくセットされる。
−  そうでない場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、Ｍｉｎ（ｑＰｉ，５１）に等しくセットされる。
−  ＣｂおよびＣｒ成分のクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crは、次のように導出される。
【数４７】
2017523677.tif 000074
【数４８】
2017523677.tif 000075
【表２４】
2017523677.tif 000076
【数４９】
2017523677.tif 000077
一例では、ｄｅｌｔａＱＰC0、ｄｅｌｔａＱＰC1およびｄｅｌｔａＱＰC2は、それぞれ、−５、−５および−３にセットされる。別の例では、ｄｅｌｔａＱＰC0、ｄｅｌｔａＱＰC1およびｄｅｌｔａＱＰC2は、それぞれ、−５、−５および−５にセットされる。
量子化解除プロセスでは、各成分インデックス（ｃＩｄｘ）のための量子化パラメータｑＰが次のように導出される。
８．６．２  スケーリングおよび変換プロセス
このプロセスへの入力は、以下の通りである。
−  現在のピクチャの左上ルーマサンプルに対する現在のルーマ変換ブロックの左上サンプルを指定するルーマロケーション（ｘＴｂＹ，ｙＴｂＹ）、
−  コーディングブロックに相対した現在のブロックの階層深度を指定する変数ｔｒａｆｏＤｅｐｔｈ、
−  現在のブロックの色成分を指定する変数ｃＩｄｘ、
−  現在の変換ブロックのサイズを指定する変数ｎＴｂＳ。
このプロセスの出力は、要素ｒ［ｘ］［ｙ］をもつ残差サンプルの（ｎＴｂＳ）×（ｎＴｂＳ）アレイである。
量子化パラメータｑＰは、次のように導出される。
−  ｃＩｄｘが０に等しい場合、
【数５０】
2017523677.tif 000078
−  そうではなく、ｃＩｄｘが１に等しい場合、
【数５１】
2017523677.tif 000079
−  そうでない（ｃＩｄｘが２に等しい）場合、
【数５２】
2017523677.tif 000080
【表２５】
2017523677.tif 000081
【数５３】
2017523677.tif 000082
【表２６】
2017523677.tif 000083
【数５４】
2017523677.tif 000084
【表２７】
2017523677.tif 000085
【表２８】
2017523677.tif 000086
【表２９】
2017523677.tif 000087
【０２０７】
[0215]以下では例＃２と呼ばれる第２の例について、ここで記載する。上述したように、この例＃２における新規追加部分は、ボールドまたはイタリック、すなわち、太字体または斜字体で強調表示され、削除部分は、ボールド体二重括弧、たとえば、［［削除されたテキスト］］として記される。イタリック部分は、本開示における提案される技法に関連する。下線付きボールド、すなわち、「下線付き太字体」の部分は、例＃２と例＃１との間の差分を強調表示する。
【０２０８】
[0216]この例＃２は、ｄｅｆａｕｌｔＶａｌが１に等しいケースについての例を与える。
一例では、例＃１についての上のセクションにおいて定義されているのと同じように扱われ得る。
【０２０９】
[0217]代替として、あるブロックが、存在しないｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇでイントラコーディングされているが、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇの値が１にリセットされているケースでの、色変換の誤った使用を避けるために、以下が適用され得る。
８．４．１  イントラ予測モードでコーディングされたコーディングユニットのための一般的な復号プロセス
このプロセスへの入力は、以下の通りである。
−  ．．．
このプロセスの出力は、デブロッキングフィルタリング前の、修正された再構築ピクチャである。
サブクローズ８．６．１において規定された量子化パラメータのための導出プロセスは、ルーマロケーション（ｘＣｂ，ｙＣｂ）を入力として呼び出される。
変数ｎＣｂＳは、１＜＜ｌｏｇ２ＣｂＳｉｚｅに等しくセットされる。
ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］およびＩｎｔｒａＳｐｌｉｔＦｌａｇの値に依存して、ルーマサンプルのための復号プロセスは、次のように規定される。
−  ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が１に等しい場合、再構築ピクチャは、次のように修正される。
．．．
−  そうではなく（ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しい）、ＩｎｔｒａＳｐｌｉｔＦｌａｇが０に等しい場合、以下の順序付きステップが適用される。
【表３０】
2017523677.tif 000088
２．  ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しいとき、サブクローズ８．４．２において規定されたイントラ予測モードについての導出プロセスは、ルーマロケーション（ｘＣｂ，ｙＣｂ）を入力として呼び出される。
３．  ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が１に等しいとき、サブクローズ８．４．４において規定されたイントラブロック複写予測モードでの、ブロックベクトル成分についての導出プロセスは、ルーマロケーション（ｘＣｂ，ｙＣｂ）および変数ｌｏｇ２ＣｂＳｉｚｅを入力として呼び出され、出力はｂｖＩｎｔｒａである。
【表３１】
2017523677.tif 000089
−  そうでない（ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しく、ＩｎｔｒａＳｐｌｉｔＦｌａｇが１に等しい）場合、値０．．３にわたって進む変数ｂｌｋＩｄｘに対して、以下の順序付きステップが適用される。
６．  変数ｘＰｂは、ｘＣｂ＋（ｎＣｂＳ＞＞１）＊（ｂｌｋＩｄｘ％２）に等しくセットされる。
７．  変数ｙＰｂは、ｙＣｂ＋（ｎＣｂＳ＞＞１）＊（ｂｌｋＩｄｘ／２）に等しくセットされる。
８．  サブクローズ８．４．２において規定されたイントラ予測モードについての導出プロセスが、ルーマロケーション（ｘＰｂ，ｙＰｂ）を入力として呼び出される。
【表３２】
2017523677.tif 000090
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、以下が適用される。
変数ｌｏｇ２ＣｂＳｉｚｅＣは、
【数５５】
2017523677.tif 000091
に等しくセットされる。
ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］およびＩｎｔｒａＳｐｌｉｔＦｌａｇの値に依存して、クロマサンプルのための復号プロセスは、次のように規定される。
−  ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が１に等しい場合、再構築ピクチャは、次のように修正される。
．．．
−  そうではなく（ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しい）、ＩｎｔｒａＳｐｌｉｔＦｌａｇが０に等しいか、またはＣｈｒｏｍａＡｒｒａｙＴｙｐｅが３に等しくない場合、以下の順序付きステップが適用される。
４．  ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しいとき、８．４．３において規定されたクロマイントラ予測モードについての導出プロセスが、ルーマロケーション（ｘＣｂ，ｙＣｂ）を入力として呼び出され、出力は、変数ＩｎｔｒａＰｒｅｄＭｏｄｅＣである。
【表３３】
2017523677.tif 000092
−  そうでない（ｐｃｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］が０に等しく、ＩｎｔｒａＳｐｌｉｔＦｌａｇが１に等しく、ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが３に等しい）場合、値０．．３にわたって進む変数ｂｌｋＩｄｘに対して、以下の順序付きステップが適用される。
６．  変数ｘＰｂは、ｘＣｂ＋（ｎＣｂＳ＞＞１）＊（ｂｌｋＩｄｘ％２）に等しくセットされる。
７．  変数ｙＰｂは、ｙＣｂ＋（ｎＣｂＳ＞＞１）＊（ｂｌｋＩｄｘ／２）に等しくセットされる。
８．  ８．４．３において規定されたクロマイントラ予測モードについての導出プロセスが、ルーマロケーション（ｘＰｂ，ｙＰｂ）を入力として呼び出され、出力は、変数ＩｎｔｒａＰｒｅｄＭｏｄｅＣである。
【表３４】
2017523677.tif 000093
８．６．１  量子化パラメータについての導出プロセス
このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション（ｘＣｂ，ｙＣｂ）を含む。
このプロセスでは、変数ＱｐY、ルーマ量子化パラメータＱｐ’Y、ならびにクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crが導出される。
ルーマロケーション（ｘＱｇ，ｙＱｇ）は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置ｘＱｇおよび垂直位置ｙＱｇは、それぞれ、ｘＣｂ−（ｘＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））およびｙＣｂ−（ｙＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））に等しくセットされる。量子化グループのルーマサイズ、すなわちＬｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅは、同じｑＰY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
予測ルーマ量子化パラメータｑＰY_PREDは以下の順序付きステップによって導出される。
．．．
【表３５】
2017523677.tif 000094
変数ＱｐYは次のように導出される。
【数５６】
2017523677.tif 000095
【数５７】
2017523677.tif 000096
ルーマ量子化パラメータＱｐ’Yは次のように導出される。
【数５８】
2017523677.tif 000097
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、以下が適用される。
−  ．．．
−  ＣｂおよびＣｒ成分のクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crは、次のように導出される。
【数５９】
2017523677.tif 000098
【数６０】
2017523677.tif 000099
【数６１】
2017523677.tif 000100
代替として、以下が適用され得る。
【表３６】
2017523677.tif 000101
代替として、以下が適用され得る。
【表３７】
2017523677.tif 000102
【０２１０】
[0218]以下では例＃３と呼ばれる第３の例について、ここで記載する。この例＃３と、上述した例＃２との間の差分は、ボールド、すなわち、太字体で強調表示される。この例３において、Ｑｐ’Y、Ｑｐ’CbおよびＱｐ’Crは不変のままにされる。ただし、量子化解除およびデブロッキングフィルタプロセスは、色変換の使用を調べ、ＱＰを修正する。
８．６．１  量子化パラメータについての導出プロセス
このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション（ｘＣｂ，ｙＣｂ）を含む。
このプロセスでは、変数ＱｐY、ルーマ量子化パラメータＱｐ’Y、ならびにクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crが導出される。
ルーマロケーション（ｘＱｇ，ｙＱｇ）は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置ｘＱｇおよび垂直位置ｙＱｇは、それぞれ、
ｘＣｂ−（ｘＣｂ＆（（１＜＜Log2MinCuQpDeltaSize）−１））および
ｙＣｂ−（ｙＣｂ＆（（１＜＜Log2MinCuQpDeltaSize）−１））に等しくセットされる。量子化グループのルーマサイズ、すなわちＬｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅは、同じｑＰY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
予測ルーマ量子化パラメータｑＰY_PREDは以下の順序付きステップによって導出される。
．．．
変数ＱｐYは次のように導出される。
【数６２】
2017523677.tif 000103
【数６３】
2017523677.tif 000104
ルーマ量子化パラメータＱｐ’Yは次のように導出される。
【数６４】
2017523677.tif 000105
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、以下が適用される。
−  ．．．
−  ＣｂおよびＣｒ成分のクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crは、次のように導出される。
【数６５】
2017523677.tif 000106
【数６６】
2017523677.tif 000107
【数６７】
2017523677.tif 000108
代替として、以下が適用され得る。
【表３８】
2017523677.tif 000109
代替として、以下が適用され得る。
【表３９】
2017523677.tif 000110
８．６．２  スケーリングおよび変換プロセス
このプロセスへの入力は、以下の通りである。
−  現在のピクチャの左上ルーマサンプルに対する現在のルーマ変換ブロックの左上サンプルを指定するルーマロケーション（ｘＴｂＹ，ｙＴｂＹ）、
−  コーディングブロックに相対した現在のブロックの階層深度を指定する変数ｔｒａｆｏＤｅｐｔｈ、
−  現在のブロックの色成分を指定する変数ｃＩｄｘ、
−  現在の変換ブロックのサイズを指定する変数ｎＴｂＳ。
このプロセスの出力は、要素ｒ［ｘ］［ｙ］をもつ残差サンプルの（ｎＴｂＳ）×（ｎＴｂＳ）アレイである。
【表４０】
2017523677.tif 000111
量子化パラメータｑＰは、次のように導出される。
−  ｃＩｄｘが０に等しい場合、
【数６８】
2017523677.tif 000112
−  そうではなく、ｃＩｄｘが１に等しい場合、
【数６９】
2017523677.tif 000113
−  そうでない（ｃＩｄｘが２に等しい）場合、
【数７０】
2017523677.tif 000114
８．７．２．５．３  ルーマブロックエッジのための決定プロセス
このプロセスへの入力は、以下の通りである。
−  ルーマピクチャサンプルアレイｒｅｃＰｉｃｔｕｒｅL、
−  現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション（ｘＣｂ，ｙＣｂ）、
−  現在のルーマコーディングブロックの左上サンプルに対する現在のルーマブロックの左上サンプルを指定するルーマロケーション（ｘＢｌ，ｙＢｌ）、
−  垂直（ＥＤＧＥ＿ＶＥＲ）それとも水平（ＥＤＧＥ＿ＨＯＲ）エッジがフィルタリングされるかを指定する変数ｅｄｇｅＴｙｐｅ、
−  境界フィルタリング強度を指定する変数ｂＳ。
このプロセスの出力は、以下の通りである。
−  決定を含む変数ｄＥ、ｄＥｐ、およびｄＥｑ、
−  変数βおよびｔC。
ｅｄｇｅＴｙｐｅがＥＤＧＥ＿ＶＥＲに等しい場合、ｉ＝０．．３でありｋ＝０および３であるサンプル値ｐi,kおよびｑi,kは、次のように導出される。
【数７１】
2017523677.tif 000115
【数７２】
2017523677.tif 000116
そうでない（ｅｄｇｅＴｙｐｅがＥＤＧＥ＿ＨＯＲに等しい）場合、ｉ＝０．．３でありｋ＝０および３であるサンプル値ｐi,kおよびｑi,kは、次のように導出される。
【数７３】
2017523677.tif 000117
【数７４】
2017523677.tif 000118
変数ＱｐQおよびＱｐPは、それぞれ、サンプルｑ0,0およびｐ0,0を含むコーディングブロックを含むコーディングユニットのＱｐY値に等しくセットされる。
【表４１】
2017523677.tif 000119
【表４２】
2017523677.tif 000120
変数ｑＰLは次のように導出される。
【数７５】
2017523677.tif 000121
８．７．２．５．５  クロマブロックエッジのためのフィルタリングプロセス
このプロセスは、ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないときにのみ呼び出される。
このプロセスへの入力は、以下の通りである。
−  クロマピクチャサンプルアレイｓ’、
−  現在のピクチャの左上クロマサンプルに対する現在のクロマコーディングブロックの左上サンプルを指定するクロマロケーション（ｘＣｂ，ｙＣｂ）、
−  現在のクロマコーディングブロックの左上サンプルに対する現在のクロマブロックの左上サンプルを指定するクロマロケーション（ｘＢｌ，ｙＢｌ）、
−  垂直（ＥＤＧＥ＿ＶＥＲ）それとも水平（ＥＤＧＥ＿ＨＯＲ）エッジがフィルタリングされるかを指定する変数ｅｄｇｅＴｙｐｅ、
−  ピクチャレベルのクロマ量子化パラメータオフセットを指定する変数ｃＱｐＰｉｃＯｆｆｓｅｔ。
このプロセスの出力は、修正されたクロマピクチャサンプルアレイｓ’である。
ｅｄｇｅＴｙｐｅがＥＤＧＥ＿ＶＥＲに等しい場合、ｉ＝０．．１でありｋ＝０．．３である値ｐiおよびｑiは、次のように導出される。
【数７６】
2017523677.tif 000122
【数７７】
2017523677.tif 000123
そうでない（ｅｄｇｅＴｙｐｅがＥＤＧＥ＿ＨＯＲに等しい）場合、ｉ＝０．．１でありｋ＝０．．３であるサンプル値ｐiおよびｑiは、次のように導出される。
【数７８】
2017523677.tif 000124
【数７９】
2017523677.tif 000125
変数ＱｐQおよびＱｐPは、それぞれ、サンプルｑ0,0およびｐ0,0を含むコーディングブロックを含むコーディングユニットのＱｐY値に等しくセットされる。
【表４３】
2017523677.tif 000126
【表４４】
2017523677.tif 000127
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが１に等しい場合、変数ＱｐCは、次のように導出されるインデックスｑＰｉに基づいて、テーブル８−１０において規定されるように決定される。
【数８０】
2017523677.tif 000128
一例では、ｄｅｌｔａＱＰC0、ｄｅｌｔａＱＰC1およびｄｅｌｔａＱＰC2は、それぞれ、−５、−５および−３にセットされる。
別の例では、ｄｅｌｔａＱＰC0、ｄｅｌｔａＱＰC1およびｄｅｌｔａＱＰC2は、それぞれ、−５、−５および−５にセットされる。
代替として、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ［ｘＣｂ］［ｙＣｂ］は、上の例＃２のサブクローズ８．６．１において使われるｂＭｏｄｉｆｉｅｄで置き換えられることもできる。
【０２１１】
[0219]以下では例＃４と呼ばれる第４の例について、ここで記載する。例＃１において、ＱＰY、Ｑｐ’Cb、Ｑｐ’Crはセクション８．６．１において修正される。この場合、デブロッキングフィルタプロセスおよび量子化解除プロセスにおいて使われるＱＰは、同一であるように保たれる。ただし、ＱＰ予測子導出プロセスは変更されない（すなわち、サブクローズ８．６．１におけるｑＰY_PRED）。この例では、ＱＰ予測子の導出プロセスは、現在のスライスに対して色変換が有効にされたときに修正される。ＱＰ予測子を導出するための現在の条件に加え、関連隣接ブロック／最後のコード化ブロックの色変換フラグがさらに含められる。これは、セクション４の箇条書き５に対応する。さらに、導出されたＱＰ値は、０よりも小さくならないように制限される。例＃１と比較した変更は、太字体で強調表示される。
８．６．１  量子化パラメータについての導出プロセス
このプロセスへの入力は、現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルを指定するルーマロケーション（ｘＣｂ，ｙＣｂ）を含む。
このプロセスでは、変数ＱｐY、ルーマ量子化パラメータＱｐ’Y、ならびにクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crが導出される。
ルーマロケーション（ｘＱｇ，ｙＱｇ）は、現在のピクチャの左上ルーマサンプルに対する現在の量子化グループの左上ルーマサンプルを指定する。水平位置ｘＱｇおよび垂直位置ｙＱｇは、それぞれ、ｘＣｂ−（ｘＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））およびｙＣｂ−（ｙＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））に等しくセットされる。量子化グループのルーマサイズ、すなわちＬｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅは、同じｑＰY_PREDを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定する。
予測ルーマ量子化パラメータｑＰY_PREDは以下の順序付きステップによって導出される。
【表４５】
2017523677.tif 000129
【数８１】
2017523677.tif 000130
【表４６】
2017523677.tif 000131
【表４７】
2017523677.tif 000132
−  ルーマロケーション（ｘＱｇ，ｙＱｇ−１）をカバーするルーマコーディングブロックを含むコーディングツリーブロックのコーディングツリーブロックアドレスｃｔｂＡｄｄｒＢがＣｔｂＡｄｄｒＩｎＴｓに等しくなく、ここでｃｔｂＡｄｄｒＢは次のように導出される。
【数８２】
2017523677.tif 000133
【表４８】
2017523677.tif 000134
４．  予測ルーマ量子化パラメータｑＰY_PREDは次のように導出される。
【表４９】
2017523677.tif 000135
【数８３】
2017523677.tif 000136
【表５０】
2017523677.tif 000137
【数８４】
2017523677.tif 000138
【表５１】
2017523677.tif 000139
【数８５】
2017523677.tif 000140
変数ＱｐYは次のように導出される。
【数８６】
2017523677.tif 000141
【数８７】
2017523677.tif 000142
【表５２】
2017523677.tif 000143
【数８８】
2017523677.tif 000144
ルーマ量子化パラメータＱｐ’Yは次のように導出される。
【数８９】
2017523677.tif 000145
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、以下が適用される。
−  変数ｑＰｉCbおよびｑＰｉCrは次のように導出される。
【数９０】
2017523677.tif 000146
【数９１】
2017523677.tif 000147
−  ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが１に等しい場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、テーブル８−１０において指定されるようにＱｐCの値に等しくセットされる。
−  そうでない場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、Ｍｉｎ（ｑＰｉ，５１）に等しくセットされる。
−  ＣｂおよびＣｒ成分のクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crは、次のように導出される。
【数９２】
2017523677.tif 000148
【数９３】
2017523677.tif 000149
【表５３】
2017523677.tif 000150
【数９４】
2017523677.tif 000151
代替として、クロマＱＰ導出のためのｍａｘ関数を避けるために、以下が適用される。
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、以下が適用される。
−  変数ｑＰｉCbおよびｑＰｉCrは次のように導出される。
【数９５】
2017523677.tif 000152
【数９６】
2017523677.tif 000153
【数９７】
2017523677.tif 000154
【数９８】
2017523677.tif 000155
−  ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが１に等しい場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、テーブル８−１０において指定されるようにＱｐCの値に等しくセットされる。
−  そうでない場合、変数ｑＰCbおよびｑＰCrは、それぞれｑＰｉCbおよびｑＰｉCrに等しいインデックスｑＰｉに基づいて、Ｍｉｎ（ｑＰｉ，５１）に等しくセットされる。
−  ＣｂおよびＣｒ成分のクロマ量子化パラメータＱｐ’CbおよびＱｐ’Crは、次のように導出される。
【数９９】
2017523677.tif 000156
【数１００】
2017523677.tif 000157
【表５４】
2017523677.tif 000158
【数１０１】
2017523677.tif 000159
【表５５】
2017523677.tif 000160
量子化解除プロセスでは、各成分インデックス（ｃＩｄｘ）のための量子化パラメータｑＰが次のように導出される。
８．６．２  スケーリングおよび変換プロセス
このプロセスへの入力は、以下の通りである。
−  現在のピクチャの左上ルーマサンプルに対する現在のルーマ変換ブロックの左上サンプルを指定するルーマロケーション（ｘＴｂＹ，ｙＴｂＹ）、
−  コーディングブロックに相対した現在のブロックの階層深度を指定する変数ｔｒａｆｏＤｅｐｔｈ、
−  現在のブロックの色成分を指定する変数ｃＩｄｘ、
−  現在の変換ブロックのサイズを指定する変数ｎＴｂＳ。
このプロセスの出力は、要素ｒ［ｘ］［ｙ］をもつ残差サンプルの（ｎＴｂＳ）×（ｎＴｂＳ）アレイである。
量子化パラメータｑＰは、次のように導出される。
−  ｃＩｄｘが０に等しい場合、
【数１０２】
2017523677.tif 000161
−  そうではなく、ｃＩｄｘが１に等しい場合、
【数１０３】
2017523677.tif 000162
−  そうでない（ｃＩｄｘが２に等しい）場合、
【数１０４】
2017523677.tif 000163
【０２１２】
[0220]図８は、本開示の技法による例示的なビデオ復号方法を示すフローチャートである。図８の技法について、ビデオエンコーダ２０に関して説明するが、図８の技法は、ビデオエンコーダのいかなる特定のタイプにも限定されないことを理解されたい。ビデオエンコーダ２０は、第１のブロックのための量子化パラメータを決定する（１００）。ビデオデータの第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して（１０２、ＹＥＳ）、ビデオエンコーダ２０は、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化プロセスを実施する（１０４）。ビデオデータの第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていないと決定したことに応答して（１０２、ＮＯ）、ビデオエンコーダ２０は、第１のブロックのための未修正量子化パラメータに基づいて、第１のブロックについての量子化プロセスを実施する（１０６）。ビデオエンコーダ２０は、ビデオデータの第２のブロックについて、第２のブロックのための量子化パラメータと第１のブロックのための未修正量子化パラメータとの間の差分を示す差分値をシグナリングする（１０８）。
【０２１３】
[0221]図９は、本開示の技法による例示的なビデオ復号方法を示すフローチャートである。図９の技法について、ビデオデコーダ３０に関して説明するが、図９の技法は、ビデオデコーダのいかなる特定のタイプにも限定されないことを理解されたい。ビデオデコーダ３０は、ビデオデータの第１のブロックについて、第１のブロックのための量子化パラメータを決定するための情報を受信する（１２０）。ビデオデータの第１のブロックが第１のブロックの残差データについての色空間変換モードを使ってコーディングされていると決定したことに応答して（１２２、ＹＥＳ）、ビデオデコーダ３０は、修正された量子化パラメータを決定し（１２４）、第１のブロックのための修正された量子化パラメータに基づいて、第１のブロックについての量子化解除プロセスを実施する（１２６）。ビデオデータの第１のブロックが、第１のブロックの残差データについての色空間変換モードを使ってコーディングされていないと決定したことに応答して（１２２、ＮＯ）、ビデオデコーダ３０は、第１のブロックのための未修正量子化パラメータに基づいて、第１のブロックについての量子化解除プロセスを実施する（１２８）。ビデオデコーダ３０は、ビデオデータの第２のブロックについて、第２のブロックのための量子化パラメータと第１のブロックのための未修正量子化パラメータとの間の差分を示す差分値を受信する（１３０）。
【０２１４】
[0222]上記例に応じて、本明細書で説明された技法のいずれかのいくつかの行為またはイベントが、異なるシーケンスで実施され得、全体的に追加、マージ、または除外され得る（たとえば、すべての説明された行為またはイベントが本技法の実践のために必要であるとは限らない）ことを認識されたい。その上、いくつかの例では、行為またはイベントは、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを用いて、連続的にではなく同時に実施され得る。
【０２１５】
[0223]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の１つまたは複数の命令またはコード上に記憶され、またはそれを介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、または（２）信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のために命令、コード、および／またはデータ構造を取り出すために、１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含むことできる。
【０２１６】
[0224]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含むのではなく、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲の中に含まれるべきである。
【０２１７】
[0225]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途について集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積論理回路もしくはディスクリート論理回路など、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造または本明細書で説明する技法の実装に好適な任意の他の構造のいずれかを指すことができる。加えて、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成されるか、または複合コーデックに組み込まれる、専用のハードウェアモジュールおよび／またはソフトウェアモジュール内で提供され得る。また、本技法は、１つまたは複数の回路または論理素子において完全に実装され得る。
【０２１８】
[0226]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実施するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明されたように、様々なユニットは、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作ハードウェアユニットの集合によって提供され得る。
【０２１９】
[0227]本開示の様々な例について説明した。説明されたシステム、動作、または機能の任意の組合せが企図される。これらおよび他の例は、以下の特許請求の範囲の範囲内に入る。
【図１】
2017523677.tif 000164
【図２】
2017523677.tif 000165
【図３Ａ】
2017523677.tif 000166
【図３Ｂ】
2017523677.tif 000167
【図４】
2017523677.tif 000168
【図５】
2017523677.tif 000169
【図６】
2017523677.tif 000170
【図７】
2017523677.tif 000171
【図８】
2017523677.tif 000172
【図９】
2017523677.tif 000173
【国際調査報告】
2017523677.tif 000174
2017523677.tif 000175
2017523677.tif 000176