(57)【要約】  デバイスは、現在ブロックを含むビデオデータを記憶するように構成されたメモリ、およびメモリと通信する処理回路を含む。処理回路は、メモリデバイスに記憶されたビデオデータの１つまたは複数の隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づくパラメータ値を取得するように構成され、１つまたは複数の隣のブロックは、現在ブロックの時空間的近隣内に位置し、時空間的近隣は、現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含む。処理回路はまた、メモリデバイスに記憶されたビデオデータの現在ブロックをコーディングするように構成される。【選択図】図８
2019528017.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータの現在ブロックをコーディングする方法であって、
前記現在ブロックの時空間的近隣内に位置する前記ビデオデータの１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づくパラメータ値を取得することと、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングすることと、
を備える方法。
【請求項２】
前記取得されたパラメータ値は量子化パラメータ（ＱＰ）値を備え、前記取得されたパラメータ値に基づく前記現在ブロックをコーディングすることは、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックのサンプルを非量子化することによって、前記現在ブロックを復号することを備える、請求項１に記載の方法。
【請求項３】
前記ＱＰ値を取得することは、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ（ＱＰ）値を受信することと、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記ＱＰ値を導出するために、前記参照ＱＰ値に前記デルタＱＰ値を加えることと、
を備える、請求項２に記載の方法。
【請求項４】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることによって、前記現在ブロックを復号することを備える、請求項１に記載の方法。
【請求項５】
前記現在ブロックの前記変換係数を逆スケーリングすることは、
複数の逆スケーリングされたＤＣ変換係数を取得するために、前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第１の逆スケーリング導出プロセスを適用することと、
複数の逆スケーリングされたＡＣ変換係数を取得するために、前記現在ブロックの前記変換係数のうちの前記複数の逆スケーリングされたＤＣ変換係数に第２の逆スケーリング導出プロセスを適用することと、
を備える、請求項４に記載の方法。
【請求項６】
前記パラメータ値を取得することは量子化パラメータ（ＱＰ）値を取得することを備え、前記方法は、
前記空間的に近隣のブロックまたは前記時間的に近隣のブロックのうちの２つ以上のサンプルに関連付けられた近隣ＱＰ値を選択することと、
平均ＱＰ値を取得するために、前記選択された近隣ＱＰ値を平均化することと、
前記平均ＱＰ値から前記現在ブロックについての前記ＱＰ値を導出することと、
を備え、
前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化することを備える、請求項１に記載の方法。
【請求項７】
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ（ＱＰ）値を導出するために、前記ＱＰ値から前記参照ＱＰ値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタＱＰ値をシグナリングすることと、
をさらに備える、請求項６に記載の方法。
【請求項８】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化することを備える、請求項１に記載の方法。
【請求項９】
前記現在ブロックの前記変換係数をスケーリングすることは、
前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第１のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第２のスケーリング導出プロセスを適用することと、
を備える、請求項８に記載の方法。
【請求項１０】
前記取得されたパラメータ値は、前記現在ブロックを含むスライスの全てのブロックに適用可能であるグローバルパラメータ値を備える、請求項１に記載の方法。
【請求項１１】
ビデオデータをコーディングするためのデバイスであって、
現在ブロックを含むビデオデータを記憶するように構成されたメモリと、
前記メモリと通信する処理回路と、
を備え、前記処理回路は、
前記メモリに記憶された前記ビデオデータの１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、前記１つまたは複数の近隣のブロックは、前記現在ブロックの時空間的近隣内に位置し、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記メモリに記憶された前記ビデオデータの前記現在ブロックをコーディングすることと、
を行うように構成されるデバイス。
【請求項１２】
前記取得されたパラメータ値は量子化パラメータ（ＱＰ）値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックのサンプルを非量子化することによって、前記現在ブロックを復号するように構成される、請求項１１に記載のデバイス。
【請求項１３】
前記ＱＰ値を取得するために、前記処理回路は、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ（ＱＰ）値を受信することと、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記ＱＰ値を導出するために、前記参照ＱＰ値に前記デルタＱＰ値を加えることと、
を行うように構成される、請求項１２に記載のデバイス。
【請求項１４】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることによって、前記現在ブロックを復号するように構成される、請求項１１に記載のデバイス。
【請求項１５】
前記現在ブロックの前記変換係数を逆スケーリングするために、前記処理回路は、
複数の逆スケーリングされたＤＣ変換係数を取得するために、前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第１の逆スケーリング導出プロセスを適用することと、
複数の逆スケーリングされたＡＣ変換係数を取得するために、前記現在ブロックの前記変換係数のうちの前記複数の逆スケーリングされたＤＣ変換係数に第２の逆スケーリング導出プロセスを適用することと、
を行うように構成される、請求項１４に記載のデバイス。
【請求項１６】
前記パラメータ値は量子化パラメータ（ＱＰ）値を備え、
前記ＱＰ値を取得するために、前記処理回路は、
前記空間的に近隣のブロックまたは前記時間的に近隣のブロックのうちの２つ以上のサンプルに関連付けられた近隣ＱＰ値を選択することと、
平均ＱＰ値を取得するために、前記選択された近隣ＱＰ値を平均化することと、
前記平均ＱＰ値から前記現在ブロックについての前記ＱＰ値を導出することと、
を行うように構成され、
前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化するように構成される、請求項１１に記載のデバイス。
【請求項１７】
前記処理回路は、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ（ＱＰ）値を導出するために、前記ＱＰ値から前記参照ＱＰ値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタＱＰ値をシグナリングすることと、
を行うようにさらに構成される、請求項１６に記載のデバイス。
【請求項１８】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化するように構成される、請求項１１に記載のデバイス。
【請求項１９】
前記現在ブロックの前記変換係数をスケーリングするために、前記処理回路は、
前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第１のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第２のスケーリング導出プロセスを適用することと、
を行うように構成される、請求項１８に記載のデバイス。
【請求項２０】
前記取得されたパラメータ値は、前記現在ブロックを含むスライスの全てのブロックに適用可能であるグローバルパラメータ値を備える、請求項１１に記載のデバイス。
【請求項２１】
ビデオデータをコーディングするための装置であって、
前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得するための手段と、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングするための手段と、
を備える装置。
【請求項２２】
命令で符号化された非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオコーディングデバイスの処理回路に、
前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングすることと、
を行わせる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本願は、その内容全体が参照により本明細書に組み込まれる、２０１６年８月１１日付で出願された米国仮出願第６２／３７３，８８４号の利益を主張する。
【０００２】
[0002]  本開示は、ビデオ符号化（video encoding）およびビデオ復号（video decoding）に関する。
【背景技術】
【０００３】
[0003]  デジタルビデオ能力（Digital video capabilities）は、デジタルテレビ、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲームデバイス、ビデオゲームコンソール、いわゆる「スマートフォン」であるセルラ式または衛星無線電話、ビデオ電話会議デバイス、ビデオストリーミングデバイス等を含む、幅広い範囲のデバイス中に組み込まれ得る。デジタルビデオデバイスは、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＭＰＥＧ−２、ＭＰＥＧ−４、ＭＰＥＧ−４  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、アドバンスドビデオコーディング（ＡＶＣ：Advanced Video Coding）、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣ  ＩＴＵ−Ｔ  Ｈ．２６５、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）、およびスケーラブルビデオコーディング（ＳＶＣ：Scalable Video Coding）および／またはマルチビュービデオコーディング（ＭＶＣ：Multi-View Video Coding）拡張のようなこれらの規格の任意のものの拡張版によって定義される規格で説明されているもののようなビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]  ビデオコーディング技法は、ビデオシーケンスに内在する冗長性を低減または取り除くために、空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、符号化ユニット（ＣＵ：coding unit）、および／またはコーディングノードとも称され得る、ビデオブロックに分割され得る。ピクチャのイントラコーディングされた（Ｉ）スライスにおけるビデオブロックは、同じピクチャ内の近隣ブロックにおける参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコーディングされた（ＰまたはＢ）スライス内におけるビデオブロックは、同じピクチャ内の近隣ブロックにおける参照サンプルに対する空間予測、または他の参照ピクチャ内の参照サンプルに対する時間予測を使用し得る。ピクチャはフレーム（frame）と称され得、参照ピクチャは参照フレームと称され得る。
【０００５】
[0005]  空間または時間予測は結果として、コーディングされるべきブロックについての予測ブロック（predictive block）をもたらす。残差データ（residual data）は、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分（pixel difference）を表現する。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差分を示す残差データにしたがって符号化される。イントラコーディングされたブロックは、イントラコーディングモードおよび残差データにしたがって符号化される。さらなる圧縮のために、残差データはピクセルドメインから変換ドメインに変換され得、その結果、残差変換係数が生じ、該残差変換係数はその後、量子化され得る。最初は２次元のアレイで配列された量子化された変換係数は、変換係数（transform coefficient）の１次元ベクトルを作り出すために走査され得、エントロピーコーディングが、さらにいっそうの圧縮を達成するために適用され得る。
【発明の概要】
【０００６】
[0006]  一般に本開示は、ビデオデータ（video data）のコーディング（coding）（たとえば、復号（decoding）または符号化（encoding））に関する技法を説明する。いくつかの例では、本開示の技法は、高ダイナミックレンジ（ＨＤＲ：High Dynamic Range）および広色域（ＷＣＧ：Wide Color Gamut）表現でのビデオ信号のコーディングを対象としている。説明される技法は、ＨＥＶＣの拡張版またはビデオコーディング規格の次世代版といったアドバンスドビデオコーデック（advanced video codec）の文脈で使用され得る。
【０００７】
[0007]  一例では、ビデオデータをコーディングするためのデバイス（device）は、メモリ（memory）と、前記メモリと通信する処理回路（processing circuitry）を含む。前記メモリは、現在ブロック（current block）を含むビデオデータを記憶するように構成される。前記処理回路は、前記メモリに記憶された前記ビデオデータの１つまたは複数の隣のブロック（neighbor block）に関連付けられた１つまたは複数の対応するパラメータ値（parameter value）に基づくパラメータ値を取得するように構成される。前記１つまたは複数の隣のブロックは、前記現在ブロックの時空間的近隣（a spatio-temporal neighborhood）内に位置する。前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック（spatial neighbor block）、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ：disparity vector）によって指される時間的に近隣のブロック（temporal neighbor block）を含む。前記取得されたパラメータ値は、コーディングプロセス（coding process）において前記現在ブロックに関連付けられた残差データを修正するために使用される。前記処理回路はさらに、前記メモリに記憶された前記ビデオデータの前記現在ブロックをコーディングするように構成される。
【０００８】
[0008]  別の例では、ビデオデータの現在ブロックをコーディングする方法は、前記現在ブロックの時空間的近隣内に位置する前記ビデオデータの１つまたは複数の隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づいてパラメータ値を取得することを含む。前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ：disparity vector）によって指される時間的に近隣のブロックを含む。前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される。前記方法はさらに、前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングすることを含む。
【０００９】
[0009]  別の例では、ビデオをコーディングするための装置（apparatus）は、前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの１つまたは複数の隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づくパラメータ値を取得するための手段を含み、ここで、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される。前記装置はさらに、前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングするための手段を含む。
【００１０】
[0010]  別の例では、非一時的コンピュータ可読記憶媒体（non-transitory computer-readable storage medium）は命令（instruction）で符号化され、前記命令は、実行されると、ビデオコーディングデバイスの処理回路に、前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの１つまたは複数の隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づくパラメータ値を取得させ、ここで、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、および前記取得されたパラメータ値に基づいて前記ビデオデータの前記現在ブロックをコーディングさせる。
【００１１】
[0011]  １つまたは複数の例の詳細は、添付の図面および以下の説明において述べられる。他の特徴、目的、および利点が、説明および図面から、ならびに請求項から明らかになるだろう。
【図面の簡単な説明】
【００１２】
【図１】[0012]  本開示の技法を実装するように構成された例となるビデオ符号化および復号システムを例示するブロック図である。
【図２】[0013]  高ダイナミックレンジデータの概要を例示する概念図である。
【図３】[0014]  例となる色域（color gamut）を例示する概念図である。
【図４】[0015]  高ダイナミックレンジ（ＨＤＲ）／広色域（ＷＣＧ）表現転換（representation conversion）の例を例示するフロー図である。
【図５】[0016]  例となるＨＤＲ／ＷＣＧ逆転換（inverse conversion）を示すフロー図である。
【図６】[0017]  例となる伝達関数（transfer functions）を例示する概念図である。
【図７】[0018]  非定ルミナンス（non-constant luminance）についての例を例示するブロック図である。
【図８】[0019]  現在コーディングされているブロックの時空間的近隣からの量子化パラメータ（quantization parameters）またはスケーリングパラメータ（scaling parameters）の導出（derivation）のための本開示の技法を例示するブロック図である。
【図９】[0020]  ビデオエンコーダ（video encoder）の例を例示するブロック図である。
【図１０】[0021]  ビデオデコーダ（video decoder）の例を例示するブロック図である。
【図１１】[0022]  ビデオデコーダが本開示の技法を実装し得る例となるプロセスを例示するフローチャートである。
【図１２】[0023]  ビデオデコーダが本開示の技法を実装し得る例となるプロセスを例示するフローチャートである。
【図１３】[0024]  ビデオエンコーダが本開示の技法を実装し得る例となるプロセスを例示するフローチャートである。
【図１４】[0025]  ビデオエンコーダが本開示の技法を実装し得る例となるプロセスを例示するフローチャートである。
【詳細な説明】
【００１３】
[0026]  本開示は、高ダイナミックレンジ（ＨＤＲ）および広色域（ＷＣＧ）表現でのビデオ信号のコーディングに関する。より具体的には、本開示の技法は、ＨＤＲおよびＷＣＧビデオデータのより効率的な圧縮を可能にするために、ある特定の色空間（color space）にあるビデオデータに適用されるシグナリング（signaling）およびオペレーション（operation）を含む。提案される技法は、ＨＤＲおよびＷＣＧビデオデータをコーディングするために使用されるハイブリッドベースのビデオコーディングシステム（たとえば、ＨＥＶＣベースのビデオコーダ）の圧縮効率（compression efficiency）を向上させ得る。本開示の１つまたは複数の例の詳細は、添付の図面および以下の説明において述べられる。他の特徴、目的、および利点が、説明、図面、および請求項から明らかになるであろう。
【００１４】
[0027]  図１は、本開示の技法を利用し得る例となるビデオ符号化および復号システム１０を例示するブロック図である。図１で図示されているように、システム１０は、宛先デバイス１４によって後の時間に復号されるべき符号化されたビデオデータを提供するソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介して宛先デバイス１４にビデオデータを提供する。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（即ちラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲーム機、ビデオストリーミングデバイス、または同様のものを含む、幅広いデバイスの何れも備え得る。いくつかのケースでは、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００１５】
[0028]  図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオプリプロセッサユニット１９およびビデオエンコーダ２０を含むビデオ符号化ユニット２１と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０およびビデオポストプロセッサユニット３１を含むビデオ復号ユニット２９と、ディスプレイデバイス３２とを含む。本開示のいくつかの例にしたがうと、ビデオプリプロセッサユニット１９およびビデオポストプロセッサユニット３１は、本開示で説明されている特定の技法の全てまたは一部を実行するように構成され得る。たとえば、ビデオプリプロセッサユニット１９およびビデオポストプロセッサユニット３１は、静的伝達関数（static transfer function）を適用するように構成される静的伝達関数ユニットを含み得るが、信号特性を適合させ得る事前処理および後処理ユニットを伴う。
【００１６】
[0029]  他の例では、ソースデバイスおよび宛先デバイスは、他のコンポーネントまたは配列を含み得る。たとえば、ソースデバイス１２は、外部のカメラのような外部のビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、統合されたディスプレイデバイスを含むよりむしろ、外部のディスプレイデバイスとインターフェース接続し得る。
【００１７】
[0030]  図１の例示されているシステム１０は一例に過ぎない。ビデオデータを処理するための技法は、何れのデジタルビデオ符号化および／または復号デバイスによっても実行され得る。一般に、本開示の技法は、ビデオ符号化デバイスによって実行されるけれども、本技法はまた、通常「ＣＯＤＥＣ」と称されるビデオエンコーダ／デコーダによっても実行され得る。説明の簡潔さのために、本開示は、ソースデバイス１２および宛先デバイス１４のそれぞれのデバイスにおける本開示で説明されている例となる技法を実行するビデオプリプロセッサユニット１９およびビデオポストプロセッサユニット３１に関連して説明される。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４への送信のためにコーディングされたビデオデータを生成するようなコーディングデバイスの例に過ぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化および復号コンポーネントを含むような実質的に対称的な形でオペレートし得る。したがってシステム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話のために、ビデオデバイス１２とビデオデバイス１４との間の一方向または二方向ビデオ送信をサポートし得る。
【００１８】
[0031]  ソースデバイス１２のビデオソース１８は、ビデオカメラのようなビデオキャプチャデバイス、以前にキャプチャされたビデオを収容するビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックベースのデータ、またはライブビデオ、アーカイブされたビデオ、およびコンピュータ処理されたビデオの組合せを生成し得る。いくつかのケースでは、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ電話またはビデオ電話を形成し得る。ソースデバイス１２は、ビデオデータを記憶するように構成された１つまたは複数のデータ記憶媒体を備え得る。しかしながら上で言及されたように、本開示で説明されている技法は、ビデオコーディングに一般に適用可能であり得、ワイヤレスおよび／または有線アプリケーションに適用され得る。各ケースにおいて、キャプチャされた、事前キャプチャされた、またはコンピュータ処理されたビデオは、ビデオ符号化ユニット２１によって符号化され得る。符号化されたビデオ情報はその後、コンピュータ可読媒体１６上に出力インターフェース２２によって出力され得る。
【００１９】
[0032]  宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４に符号化されたビデオデータを移動させることが可能な何れのタイプの媒体またはデバイスも備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２がリアルタイムに符号化されたビデオデータを直接宛先デバイス１４に送信することを可能にする通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理的な伝送線といった何れのワイヤレスまたは有線通信媒体も備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークといったパケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を容易にするのに役立ち得る何れの他の機器も含み得る。宛先デバイス１４は、符号化されたビデオデータおよび復号されたビデオデータを記憶するように構成された１つまたは複数のデータ記憶媒体を備え得る。
【００２０】
[0033]  いくつかの例では、符号化されたデータは、出力インターフェース２２から記憶デバイスに出力され得る。同様に、符号化されたデータは、記憶デバイスから入力インターフェースによってアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または非揮発性メモリ、あるいは符号化されたビデオデータを記憶するためのあらゆる他の適したデジタル記憶媒体といった様々な分散型または局所的にアクセスされるデータ記憶媒体の何れも含み得る。さらなる例では、記憶デバイスは、ファイルサーバ、またはソースデバイス１２によって生成された符号化されたビデオを記憶し得る別の中間記憶デバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、記憶デバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶すること、およびその符号化されたビデオデータを宛先デバイス１４に送信することが可能な何れのタイプのサーバでもあり得る。例となるファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ：network attached storage）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含むあらゆる規格データ接続を通じて、符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適している、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデム等）、またはその両方の組合せを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００２１】
[0034]  本開示の技法は、ワイヤレスアプリケーションまたは設定に必ずしも限定されるわけではない。本技法は、無線テレビブロードキャスト、ケーブルテレビ送信、衛星テレビ送信、ＨＴＴＰを介した動的適応型ストリーミング（ＤＡＳＨ：dynamic adaptive streaming over HTTP）のようなインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されるデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションといった様々なマルチメディアアプリケーションのどれでもサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話のようなアプリケーションをサポートするために、一方向または二方向ビデオ送信をサポートするように構成され得る。
【００２２】
[0035]  コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたは有線ネットワーク送信といった一時的な媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体といった記憶媒体（つまり、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、ソースデバイス１２から符号化されたビデオデータを受信し、たとえばネットワーク送信を介して、宛先デバイス１４に符号化されたビデオデータを提供し得る。同様に、ディスクスタンピング設備のような媒体製造設備（medium production facility）のコンピューティングデバイスは、ソースデバイス１２から符号化されたビデオデータを受信し、符号化されたビデオデータを収容するディスクを作り出し得る。したがって、コンピュータ可読媒体１６は、様々な例において、様々な形式の１つまたは複数のコンピュータ可読媒体を含むように理解され得る。
【００２３】
[0036]  宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ブロックおよび他のコーディングされた単位、たとえばピクチャグループ（ＧＯＰ: groups of pictures）の特性および／または処理を説明するシンタックス要素（syntax element）を含む、ビデオ符号化ユニット２１のビデオエンコーダ２０によって定義されるシンタックス情報を含み得、これは、ビデオ復号ユニット２９のビデオデコーダ３０によっても使用される。ディスプレイデバイス３２は、ユーザに復号されたビデオデータを表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスといった様々なディスプレイデバイスの何れも備え得る。
【００２４】
[0037]  例示されているように、ビデオプリプロセッサユニット１９は、ビデオソース１８からビデオデータを受信する。ビデオプリプロセッサユニット１９は、ビデオエンコーダ２０で符号化するのに適している形態にビデオデータを転換するために、該ビデオデータを処理するように構成され得る。たとえば、ビデオプリプロセッサユニット１９は、（たとえば非線形伝達関数を使用する）ダイナミックレンジコンパクト化（dynamic range compacting）、よりコンパクトまたはロバストな色空間（compact or robust color space）への色転換（color conversion）、および／あるいは浮動小数点から整数への表現転換（floating-to-integer representation conversion）を実行し得る。ビデオエンコーダ２０は、ビデオプリプロセッサユニット１９によって出力されたビデオデータに対してビデオ符号化を実行し得る。ビデオデコーダ３０は、ビデオデータを復号するためにビデオエンコーダ２０の逆を実行し得、ビデオポストプロセッサユニット３１は、表示に適した形態にビデオデータを転換するために、ビデオプリプロセッサユニット１９によって実行されたオペレーションの逆を実行し得る。たとえば、ビデオポストプロセッサユニット３１は、整数から浮動小数点転換（integer-to-floating conversion）、コンパクトまたはロバストな色空間からの色転換、および／または表示に適したビデオデータを生成するためのダイナミックレンジコンパクト化の逆を実行し得る。
【００２５】
[0038]  ビデオ符号化ユニット２１およびビデオ復号ユニット２９は各々、１つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらのあらゆる組合せといった、固定関数処理回路および／またはプログラマブル処理回路を含む様々な適切な処理回路の何れとしても実装され得る。本技法がソフトウェアにおいて部分的に実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオ符号化ユニット２１およびビデオ復号ユニット２９の各々は、１つまたは複数のエンコーダまたはデコーダに含まれ得、そのどちらも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合され得る。
【００２６】
[0039]  ビデオプリプロセッサユニット１９およびビデオエンコーダ２０が、ビデオ符号化ユニット２１内で別個のユニットであるとして例示され、ビデオポストプロセッサユニット３１およびビデオデコーダ３０が、ビデオ復号ユニット２９内で別個のユニットであるとして例示されているけれども、本開示で説明されている技法は、そのように限定されない。ビデオプリプロセッサユニット１９およびビデオエンコーダ２０は、共通のデバイス（たとえば、集積回路か、または同じチップ内にハウジングされている）として形成され得る。同様に、ビデオポストプロセッサユニット３１およびビデオデコーダ３０は、共通のデバイス（たとえば、集積回路か、または同じチップ内にハウジングされている）として形成され得る。
【００２７】
[0040]  いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔビデオコーディング専門家グループ（ＶＣＥＧ：Video Coding Experts Group）およびＩＳＯ／ＩＥＣ動画専門家グループ（ＭＰＥＧ：Motion Picture Experts Group）のビデオコーディングに関する共同チーム（ＪＣＴ−ＶＣ）よって開発された高効率ビデオコーディング（ＨＥＶＣ）規格にしたがってオペレートし得る。「HEVC draft specification」と称されるＨＥＶＣ規格のドラフトは、Bross et al., “High Efficiency Video Coding (HEVC) Defect Report 3,” Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 16th Meeting, San Jose, US, Jan. 2014, document no. JCTVC-P1003_v1において説明されている。ＨＥＶＣドラフト仕様はhttp://phenix.it-sudparis.eu/jct/doc_end_user/documents/16_San%20Jose/wg11/JCTVC-P1003-v1.zipから利用可能である。ＨＥＶＣ使用はまた、http://www.itu.int/rec/T-REC-H.265-201504-I/enでアクセスすることができる。
【００２８】
[0041]  さらに、ＨＥＶＣについてスケーラブルビデオコーディングの拡張版を生み出す試みが進行中である。ＨＥＶＣのスケーラブルビデオコーディングの拡張版は、ＳＨＥＶＣまたはＳＨＶＣと称され得る。加えて、ＶＣＥＧおよびＭＰＥＧの３Ｄビデオコーディングに関する共同チーム（ＪＣＴ−３Ｃ）は、ＨＥＶＣに基づいて３ＤＶ規格を開発している。ＨＥＶＣに基づく３ＤＶ規格についての標準化の試みの一部は、ＨＥＶＣに基づくマルチビュービデオコデック（即ちＭＶ−ＨＥＶＣ）の標準化を含む。
【００２９】
[0042]  ＨＥＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは「フレーム（frame）」とも称され得る。ピクチャは、ＳＬ、ＳＣｂ、およびＳＣｒで表される３つのサンプルアレイを含み得る。ＳＬは、ルーマサンプル（luma sample）の二次元アレイ（即ちブロック）である。ＳＣｂは、Ｃｂ色差サンプル（chrominance sample）の二次元アレイである。ＳＣｒは、Ｃｒ色差サンプルの二次元アレイである。色差サンプルは、本明細書では「クロマ（chroma）」サンプルとも称され得る。他の事例では、ピクチャはモノクロであり得、ルーマサンプルのアレイのみを含み得る。
【００３０】
[0043]  ピクチャの符号化表現を生成するために、ビデオエンコーダ２０は、コーディングツリーユニット（ＣＴＵ：coding tree unit）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルの１つのコーディングツリーブロック、クロマサンプルの２つの対応するコーディングツリーブロック、および該コーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造（syntax structure）を備え得る。モノクロのピクチャまたは３つの別個の色平面（color plane）を有するピクチャでは、ＣＴＵは、単一のコーディングツリーブロック、および該コーディングツリーブロックのサンプル（sample）をコーディングするために使用されるシンタックス構造を備え得る。コーディングツリーブロックは、ＮｘＮサンプルブロック（NxN block of samples）であり得る。ＣＴＵは、「ツリーブロック」または「最大符号化ユニット」（ＬＣＵ：largest coding unit）とも称され得る。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣのような他の規格のマクロブロック（macroblock）におおむね（broadly）類似し得る。しかしながらＣＴＵは、必ずしも特定のサイズには限定されず、１つまたは複数の符号化ユニット（ＣＵ）を含み得る。１つのスライスは、ラスター走査順に連続して並べられた整数の数のＣＴＵを含み得る。
【００３１】
[0044]  本開示は、１つまたは複数のサンプルブロック（sample blocks）および該１つまたは複数のサンプルブロックのサンプルをコーディングするために使用されるシンタックス構造を指すために「ビデオユニット（video unit）」または「ビデオブロック（video block）」または「ブロック」という用語を使用し得る。例となるビデオユニットのタイプは、ＣＴＵ、ＣＵ、ＰＵ、変換ユニット（ＴＵ：transform unit）、マクロブロック、マクロブロック区分等を含み得る。いくつかの文脈では、ＰＵについての議論は、マクロブロックまたはマクロブロック区分についての議論と置き換えられ得る。
【００３２】
[0045]  コーディングされたＣＴＵを生成するために、ビデオエンコーダ２０は、ＣＴＵのコーディングツリーブロックに対して四分木分割（quad-tree partitioning）を再帰的に実行して、コーディングツリーブロックをコーディングブロックに分け得、よって、「コーディングツリーユニット」と称される。コーディングブロックは、Ｎ×Ｎサンプルブロックである。ＣＵは、ルーマサンプルアレイ、ＣｂサンプルアレイおよびＣｒサンプルアレイを有するピクチャの、ルーマサンプルの１つのコーディングブロックおよびクロマサンプルの２つの対応するコーディングブロック、ならびに該コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造（syntax structure）を備え得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックおよび、該コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。
【００３３】
[0046]  ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予想ブロック（prediction blocks）に分割し得る。予想ブロックは、同じ予測が適用される矩形（即ち、正方形または非正方形）のサンプルブロックであり得る。ＣＵの予測ユニット（ＰＵ：prediction unit）は、ルーマサンプルの予想ブロック、クロマサンプルの２つの対応する予想ブロック、および該予想ブロックを予測するために使用されるシンタックス構造を備え得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＰＵは、単一の予想ブロック、および該予想ブロックを予測するために使用されるシンタックス構造を備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵの予想ブロック（たとえば、ルーマ（luma）、Ｃｂ、およびＣｒ予想ブロック）についての予測ブロック（たとえば、ルーマ、Ｃｂ、およびＣｒ予測ブロック）を生成し得る。
【００３４】
[0047]  ビデオエンコーダ２０は、ＰＵについての予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ２０が、ＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵを含むピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【００３５】
[0048]  ビデオエンコーダ２０が、ＣＵの１つまたは複数のＰＵについての予測ブロック（たとえば、ルーマ、Ｃｂ、およびＣｒ予測ブロック）を生成した後、ビデオエンコーダ２０は、該ＣＵについての１つまたは複数の残差ブロックを生成し得る。たとえばビデオエンコーダ２０は、ＣＵについてルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロックにおける各サンプルは、ＣＵの予測ルーマブロックのうちの１つにおけるルーマサンプルと、ＣＵの元のルーマコーディングブロックにおける対応するサンプルとの間の差分を示す。加えてビデオエンコーダ２０は、ＣＵについてのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロックにおける各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つにおけるＣｂサンプルと、ＣＵの元のＣｂコーディングブロックにおける対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０はまた、ＣＵについてのＣｒ残差ブロックを生成し得る。ＣＵのＣｒ残差ブロックにおける各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つにおけるＣｒサンプルと、ＣＵの元のＣｒコーディングブロックにおける対応するサンプルとの間の差分を示し得る。
【００３６】
[0049]  さらにビデオエンコーダ２０は、ＣＵの残差ブロック（たとえば、ルーマ、Ｃｂ、およびＣｒ残差ブロック）を１つまたは複数の変換ブロック（たとえば、ルーマ、Ｃｂ、およびＣｒ変換ブロック）に分解するために四分木分割を使用し得る。変換ブロックは、同じ変換が適用される矩形（たとえば、正方形または非正方形）のサンプルブロックである。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロック、クロマサンプルの２つの対応する変換ブロック、および該変換ブロックサンプルを変換するために使用されるシンタックス構造を備え得る。したがってＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックを有し得る。ＴＵのルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであり得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＴＵは、単一の変換ブロック、および該変換ブロックのサンプルを変換するために使用されるシンタックス構造を備え得る。
【００３７】
[0050]  ビデオエンコーダ２０は、ＴＵについての係数ブロックを生成するために、ＴＵの変換ブロックに１つまたは複数の変換を適用し得る。たとえば、ビデオエンコーダ２０は、ＴＵについてのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用し得る。係数ブロックは、変換係数の二次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ２０は、ＴＵについてのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵについてのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用し得る。
【００３８】
[0051]  係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロック、またはＣｒ係数ブロック）を生成した後、ビデオエンコーダ２０は、該係数ブロックを量子化し得る。量子化は一般に、変換係数を表現するために使用されるデータの量を出来る限り減少させるために変換係数が量子化されるプロセスを指し、これは、さらなる圧縮を提供する。ビデオエンコーダ２０が係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）を実行し得る。
【００３９】
[0052]  ビデオエンコーダ２０は、コーディングされたピクチャおよび関連するデータの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。したがってビットストリームは、ビデオデータの符号化表現を備える。ビットストリームは、ネットワーク抽象化レイヤ（ＮＡＬ：network abstraction layer）ユニットのシーケンスを備え得る。ＮＡＬユニットは、ＮＡＬユニットにおけるデータのタイプのインジケーション、および必要に応じてエミュレーション防止ビットが点在している生バイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）の形態でそのデータを含むバイトを含むシンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み得、ＲＢＳＰをカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化される整数の数のバイトを含むシンタックス構造であり得る。いくつかの事例では、ＲＢＳＰはゼロビットを含む。
【００４０】
[0053]  ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。加えてビデオデコーダ３０は、ビットストリームからシンタックス要素を取得するためにビットストリームを解析し得る。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータを再構築するためのプロセスは一般に、ビデオエンコーダ２０によって実行されるプロセスと相互関係にあり得る。たとえばビデオデコーダ３０は、現在ＣＵのＰＵについての予測ブロックを決定するために、ＰＵの動きベクトルを使用し得る。加えてビデオデコーダ３０は、現在ＣＵのＴＵの係数ブロックを逆量子化し得る。ビデオデコーダ３０は、現在ＣＵのＴＵの変換ブロックを再構築するために、係数ブロックに対して逆変換を実行し得る。ビデオデコーダ３０は、現在ＣＵのＰＵについての予測ブロックのサンプルを、現在ＣＵのＴＵの変換ブロックの対応するサンプルに加えることによって、現在ＣＵのコーディングブロックを再構築し得る。ピクチャの各ＣＵについてのコーディングブロックを再構築することによって、ビデオデコーダ３０は、ピクチャを再構築し得る。
【００４１】
[0054]  ＨＤＲ／ＷＣＧの態様が次に論じられる。次世代ビデオアプリケーションは、ＨＤＲおよびＷＣＧのキャプチャされた景色を表現するビデオデータとともにオペレートするように期待されている。利用されるダイナミックレンジおよび色域のパラメータは、ビデオコンテンツの２つの独立した属性であり、デジタルテレビおよびマルチメディアサービスを目的としたそれらの仕様は、いくつかの国際的規格によって定義されている。たとえば、「Parameter values for the HDTV standards for production and international programme exchange」（２００２）という勧告ＩＴＵ−Ｒ  ＢＴ．７０９−５（以下「ＩＴＵ−Ｒ  ＢＴ．勧告７０９」）は、スタンダードダイナミックレンジ（ＳＤＲ）およびスタンダード色域のようなＨＤＴＶ（高解像度テレビ）のためのパラメータを定義する。一方で、ＩＴＵ−Ｒ勧告２０２０は、ＨＤＲおよびＷＣＧのようなＵＨＤＴＶ（超高解像度テレビ）パラメータを規定する。他のシステムにおいてダイナミックレンジおよび色域属性を規定する他の標準化機構（ＳＤＯ）の文書も存在する。たとえばＰ３色域は、ＳＭＰＴＥ−２３１−２（映画テレビ技術者協会（Society of Motion Picture and Television Engineers））において定義されており、ＨＤＲのいくつかのパラメータは、ＳＭＰＴＥ  ＳＴ２０８４において定義されている。ビデオデータについてのダイナミックレンジおよび色域の簡単な説明が以下で提供される。
【００４２】
[0055]  ダイナミックレンジの態様が次に論じられる。ダイナミックレンジは通常、ビデオ信号の最小輝度（minimum brightness）と最大輝度（maximum brightness）との間の比として定義される。ダイナミックレンジはまた、１つまたは複数の「ｆストップ」（‘f-stop’ or “f-stops”）の観点で測定され得、ここで１つのｆストップは、信号ダイナミックレンジの二倍に対応する。ＭＰＥＧの定義では、ＨＤＲコンテンツは、１６個以上のｆストップを用いた輝度バリエーションを特徴とするようなコンテンツである。いくつかの観点では、１０個のｆストップと１６個のｆストップとの間のレベルは中間ダイナミックレンジと見なされるが、それは他の定義ではＨＤＲと見なされる。同時に、人間視覚系（ＨＶＳ）は、ずっと大きい（たとえば、「より広範な」または「より広い」）ダイナミックレンジを知覚する能力を有する。しかしながらＨＶＳは、いわゆる「同時レンジ（simultaneous range）」を狭める適合機構を含む。
【００４３】
[0056]  図２は、ＨＤＴＶのＳＤＲ、ＵＨＤＴＶの予定の（expected）ＨＤＲ、およびＨＶＳダイナミックレンジによって提供されるダイナミックレンジの視覚化を例示する概念図である。たとえば、図２は、現在のビデオアプリケーションおよびサービスがＩＴＵ−Ｒ  ＢＴ．７０９によって規制され、ＳＤＲを提供することを例示している。現在のビデオアプリケーションおよびサービスは通常、平方メートル（ｍ２）毎に約０．１〜１００カンデラ（ｃｄ）（ｃｄ／ｍ２の単位は「ｎｉｔ」ともしばしば称される）の輝度（またはルミナンス）の範囲をサポートし、これにより１０個よりも少ない（fewer than or less than）ｆストップをもたらす。次世代ビデオサービスは、最大１６個のｆストップのダイナミックレンジを提供するように予定されており、詳細な仕様は現在開発中であるけれども、いくつかの初期パラメータは、ＳＭＰＴＥ  ＳＴ２０８４およびＩＴＵ−Ｒ  ＢＴ．２０２０において規定されている。
【００４４】
[0057]  色域が次に論じられる。ＨＤＲ以外のより現実的なビデオエクスペリエンスについての別の態様は色次元であり、これは従来、色域によって定義される。図３は、ＳＤＲ色域（ＩＴＵ−Ｒ  ＢＴ．７０９色の赤、緑、および青の原色に基づくトライアングル）、およびＵＨＤＴＶのためのより広い色域（ＩＴＵ−Ｒ  ＢＴ．２０２０色の赤、緑、および青の原色に基づくトライアングル）を示す概念図である。図３はまた、いわゆるスペクトル軌跡（舌状のエリアによって範囲が定められている）を描いており、これは、自然色の境界を表現している。図３によって例示されているように、ＩＴＵ−Ｒ  ＢＴ．７０９の原色からＩＴＵ−Ｒ  ＢＴ．２０２０の原色に移ることは、約７０％分多い色、またはより卓越した（greater）色をＵＨＤＴＶサービスに提供することを狙いとしている。Ｄ６５は、所与の仕様についての白色を規定している。
【００４５】
[0058]  色域の仕様のいくつかの例は、以下の表１に示されている。
【００４６】
【表１】
2019528017.tif 000003
【００４７】
[0059]  ＨＤＲビデオデータの表現の態様が次に論じられる。ＨＤＲ／ＷＣＧは通常、４：４：４クロマフォーマットおよび非常に広い色空間（たとえば、ＸＹＺ）を用いて、成分毎に大変高精細度で（浮動小数点ですら）獲得および記憶される。国際照明委員会によって明記されているＣＩＥ１９３１は、ＸＹＺ色空間の例である。この表現は、高精細度を目的とし、数学上（ほぼ）ロスレス（lossless）である。しかしながら、このフォーマットの特徴は、多くの冗長性を含み得、圧縮目的には最適でない。ＨＶＳベースを前提としたより低い精細度フォーマットが通常、最新式のビデオアプリケーションに利用される。
【００４８】
[0060]  圧縮を目的としたビデオデータフォーマット転換プロセスの一例は、図４の転換プロセス１０９によって示されているような、３つの主なプロセスを含む。図４の技法は、ソースデバイス１２によって実行され得る。線形ＲＧＢデータ１１０は、ＨＤＲ／ＷＣＧビデオデータであり得、浮動小数点表現で記憶され得る。線形ＲＧＢデータ１１０は、ダイナミックレンジコンパクト化のために、非線形伝達関数（ＴＦ：transfer function）１１２を使用してコンパクト化され得る。伝達関数１１２は、任意の数の非線形伝達関数、たとえばＳＭＰＴＥ−２０８４で定義されているようなＰＱ  ＴＦを使用して線形ＲＧＢデータ１１０をコンパクト化し得る。いくつかの例では、色転換プロセス１１４は、コンパクト化されたデータを、ハイブリッドビデオエンコーダによる圧縮により適しているよりコンパクトまたはロバストな色空間（たとえば、ＹＵＶまたはＹＣｒＣｂ色空間）に転換する。このデータはその後、浮動小数点から整数表現への量子化ユニット（floating-to-integer representation quantization unit）１１６を使用して量子化され、転換されたＨＤＲ’データ１１８を生成する。この例では、ＨＤＲ’データ１１８は整数表現である。この時点で（now）ＨＤＲ’データは、ハイブリッドビデオエンコーダ（たとえば、ＨＥＶＣ技法を適用するビデオエンコーダ２０）による圧縮に関してより適したフォーマットにある。図４で描かれているプロセスの順序は、例として与えられており、他のアプリケーションでは変わり得る。たとえば、色転換はＴＦプロセスに先行し得る。加えて、追加の処理、たとえば空間サブサンプリング、が色成分に適用され得る。
【００４９】
[0061]  デコーダ側の例となる逆転換がプロセス１２９によって図５で描かれている。宛先デバイス１４のビデオポストプロセッサユニット３１が、図５の技法を実行し得る。転換されたＨＤＲ’データ１２０は、ハイブリッドビデオデコーダ（たとえば、ＨＥＶＣ技法を適用するビデオデコーダ３０）を使用してビデオデータを復号することを通じて、宛先デバイス１４で取得され得る。ＨＤＲ’データ１２０はその後、逆量子化ユニット１２２によって逆量子化され得る。その後、逆色転換プロセス１２４が、逆量子化されたＨＤＲ’データに適用され得る。逆色転換プロセス１２４は、色転換プロセス１１４の逆であり得る。たとえば、逆色転換プロセス１２４は、ＹＣｒＣｂフォーマットからＲＧＢフォーマットに戻るようにＨＤＲ’データを転換し得る。次に、線形ＲＧＢデータ１２８を再現するために伝達関数１１２によってコンパクト化されたダイナミックレンジを戻すように加える（add back）ために、逆伝達関数（inverse transfer function）１２６がデータに適用され得る。線形および浮動小数点表現の入力されたＲＧＢデータの高ダイナミックレンジは、利用された非線形伝達関数（ＴＦ）を用いてコンパクト化されている。たとえば、ＳＭＰＴＥ  ＳＴ２０８４で定義されているような知覚量子化（ＰＱ：perceptual quantizer）ＴＦ、これにしたがって、それは、圧縮に関してより適したターゲット色空間、たとえばＹ’ＣｂＣｒに転換され、その後整数表現を達成するために量子化される。これらの要素の順序は例として与えられており、現実世界のアプリケーションでは変わり得、たとえば、色転換はＴＦモジュールに先行し得、同様に、追加の処理、たとえば空間サブサンプリングが色成分に適用され得る。これらの３つの成分が、より詳細に以下で説明される。
【００５０】
[0062]  伝達関数（ＴＦ）のような図４で描かれたある特定の態様が次に、より詳細に論じられる。イメージコンテナ（image container）に現れるデジタル値を光エネルギーに、および光エネルギーからマッピングすることは、ＴＦの知識を必要とし得る。ＴＦは、データのダイナミックレンジをコンパクト化するためにデータに適用され、データを限定されたビット数で表現することを可能にする。この関数は通常、ＩＴＵ−Ｒ  ＢＴ．１８８６および勧告７０９においてＳＤＲについて規定されているようなエンドユーザのディスプレイの電気光学伝達関数（ＥＯＴＦ：electro-optical transfer function）の逆数（inverse）を反映するか、またはＨＤＲについてＳＭＰＴＥ  ＳＴ２０８４において規定されているＰＱ  ＴＦに関する輝度変化にＨＶＳ知覚を近似するかのどちらかである一次元の（１Ｄ）の非線形関数である。ＯＥＴＦの逆プロセスがＥＯＴＦ（電気光学伝達関数）であり、これは、符号レベルをルミナンスに戻すようにマッピングする。図６は、ＴＦのいくつかの例を示す。これらのマッピングもまた、各Ｒ、Ｇ、およびＢ成分に別個に適用され得る。これらのマッピングをＲ、Ｇ、およびＢ成分に適用することは、それらをＲ’、Ｇ’、およびＢ’にそれぞれ転換し得る。
【００５１】
[0063]  ＩＴＵ−Ｒ勧告ＢＴ．１８８６で規定されている参照ＥＯＴＦは、以下の数式によって規定される。
【００５２】
【数１】
2019528017.tif 000004
【００５３】
ここで、
Ｌ：ｃｄ／ｍ２でのスクリーンルミナンス
ＬＷ：白色についてのスクリーンルミナンス
ＬＢ：黒色についてのスクリーンルミナンス
Ｖ：入力されたビデオ信号レベル（黒はＶ＝０、白はＶ＝１で正規化されている）。勧告ＩＴＵ−Ｒ  ＢＴ．７０９毎にマスタリングされるコンテンツについて、１０ビットのデジタル符号値「Ｄ」が、以下の数式によって（per）Ｖの値にマッピングする：V=(D-64)/876
γ：べき関数の指数であり、γ=2.404
ａ：ユーザ利得についての変数（レガシの「コントラスト（contrast）」制御）
【００５４】
【数２】
2019528017.tif 000005
【００５５】
ｂ：ユーザの黒レベルリフト（black level lift）についての変数（レガシの「輝度（brightness）」制御）
【００５６】
【数３】
2019528017.tif 000006
【００５７】
上記変数ａおよびｂは、Ｖ＝１ではＬ＝ＬＷになり、Ｖ＝０ではＬ＝ＬＢになるように、以下の数式を解くことによって導出される：
【００５８】
【数４】
2019528017.tif 000007
【００５９】
より高いダイナミックレンジデータをより効率的にサポートするために、ＳＭＰＴＥは近年、ＳＭＰＴＥ  ＳＴ−２０８４と呼ばれる新たな伝達関数を標準化している。ＳＴ２０８４の仕様が、以下の通り説明されるようなＥＯＴＦアプリケーションを定義した。ＴＦは、正規化された線形Ｒ、Ｇ、Ｂ値に適用され、その結果、非線形表現であるＲ’、Ｇ’、Ｂ’をもたらす。ＳＴ２０８４は、１００００ｎｉｔｓ（ｃｄ／ｍ２）のピーク輝度に関連付けられているＮＯＲＭ＝１００００による規格化を定義する。
【００６０】
【数５】
2019528017.tif 000008
【００６１】
通常ＥＯＴＦは、浮動小数点の精度をもつ関数として定義される。したがって、逆ＴＦ（いわゆるＯＥＴＦ）が適用される場合、この非線形をもつ信号には何れの誤りももたらされない。ＳＴ２０８４で規定されているような逆ＴＦ（ＯＥＴＦ）は、以下のような逆ＰＱ関数を使用して定義される。
【００６２】
【数６】
2019528017.tif 000009
【００６３】
[0064]  ＥＯＴＦおよびＯＥＴＦは、活発な研究および標準化の主題であり、いくつかのビデオコーディングシステムで利用されるＴＦは、ＳＴ２０８４で規定されているようなＴＦとは異なり得る。
【００６４】
[0065]  色変換が次に論じられる。ＲＧＢデータは画像キャプチャリングセンサによってしばしば作り出されるので、ＲＧＢデータは通常入力として使用される。しかしながら、この色空間は、その成分間に高い冗長性を有し、コンパクトな表現には最適でない。よりコンパクトでよりロバストな表現を達成するために、ＲＧＢ成分は通常、圧縮に関してより適している、より相関関係のない色空間、たとえばＹＣｂＣｒに転換される（即ち、色変換が実行される）。この色空間は、異なる相関関係のない成分において、ルミナンスおよび色情報の形態で輝度を分離する（separate）。
【００６５】
[0066]  最新のビデオコーディングシステムでは、共通して使用されるか、または通常使用される色空間は、ＩＴＵ−Ｒ  ＢＴ．７０９で規定されているようなＹＣｂＣｒである。ＢＴ．７０９規格におけるＹＣｂＣｒ色空間は、Ｒ´Ｇ´Ｂ´からＹ´ＣｂＣｒ（非定ルミナンス表現）への以下の転換プロセスを規定する。
【００６６】
【数７】
2019528017.tif 000010
【００６７】
上記もまた、ＣｂおよびＣｒ成分についての除算を避ける以下の近似転換（approximate conversion）を使用して実施され得る。
【００６８】
・Y´ = 0.212600 * R´ + 0.715200 * G´ + 0.072200 * B´
・Cb = -0.114572 * R´ - 0.385428 * G´ + 0.500000 * B´              (4)
・Cr = 0.500000 * R´ - 0.454153 * G´ - 0.045847 * B´
【００６９】
[0067]  ＩＴＵ−Ｒ  ＢＴ．２０２０規格は、ＲＧＢからＹ´ＣｂＣｒへの２つの異なる転換プロセス：定ルミナンス（ＣＬ：Constant-luminance）および非定ルミナンス（ＮＣＬ：Non-constant luminance）、勧告ＩＴＵ−Ｒ  ＢＴ．２０２０を規定する。「Parameter values for ultra-high definition television systems for production and international programme exchange」（２０１２）を参照。ＲＧＢデータは、線形光（linear light）であり得、Ｙ´ＣｂＣｒデータは非線形（non-linear）である。図７は、非定ルミナンス（non-constant luminance）についての例を例示するブロック図である。特に、図７は、プロセス１３１によってＮＣＬ手法の例を図示する。図７のＮＣＬ手法は、ＯＥＴＦ（１３４）後に、Ｒ´Ｇ´Ｂ´からＹ´ＣｂＣｒへの転換（１３６）を適用する。ＩＴＵ−Ｒ  ＢＴ．２０２０規格は、Ｒ’Ｇ’Ｂ’からＹ’ＣｂＣｒ（非定ルミナンス表現）への以下の転換プロセスを規定する。
【００７０】
【数８】
2019528017.tif 000011
【００７１】
[0068]  上記もまた、以下の数式（複数を含む）で説明されているように、ＣｂおよびＣｒ成分についての除算を避ける以下の近似転換を使用して実施され得る。
【００７２】
・Y´ = 0.262700 * R´ + 0.678000 * G + 0.059300 * B´
・Cb = -0.139630 * R´ - 0.360370 * G´ + 0.500000 * B´              (6)
・Cr =  0.500000 * R´ - 0.459786 * G´ - 0.040214 * B´
【００７３】
[0069]  量子化／固定小数点転換（Quantization/Fix point conversion）が次に論じられる。色変換に続き、依然として高ビット深度（たとえば浮動小数点の精度）で表現されているターゲット色空間で入力されたデータが、ターゲットビット深度に転換される。ある特定の研究は、ＰＱ  ＴＦと組み合わせた十から十二（１０〜１２）ビットの精度が、丁度可知差異（ＪＮＤ：Just-Noticeable Difference）未満の歪みのある１６個のｆストップのＨＤＲデータを提供するのに十分であることを示している。１０ビットの精度で表現されたデータはさらに、最新式のビデオコーディングソリューションのほとんどでコーディングされ得る。この量子化（１３８）は不可逆コーディングの一要素であり、転換されたデータにもたらされる不精確さの原因であり得る。
【００７４】
[0070]  様々な例において、そのような量子化が、ターゲット色空間においてワード（words）をコーディングするために適用され得る。ＹＣｂＣｒが適用される例が以下で示される。浮動小数点の精度で表現される入力値ＹＣｂＣｒは、ルーマ（Ｙ）値では固定ビット深度ＢｉｔＤｅｐｔｈＹ、およびクロマ値（Ｃｂ，Ｃｒ）では固定ビット深度ＢｉｔＤｅｐｔｈＣの信号に転換される。
【００７５】
○ DY’ = Clip1Y (Round ((1 ≪ (BitDepthY - 8)) * (219*Y’ + 16)))
○ DCb = Clip1C (Round ((1 ≪ (BitDepthC - 8)) * (224*Cb + 128)))        (7)
○ DCr = Clip1C (Round ((1 ≪ (BitDepthC - 8)) * (224*Cr + 128)))
ここで
Round(x) = Sign(x) * Floor (Abs(x) + 0.5)
Sign(x) = x < 0の場合-1, x = 0の場合0, x > 0の場合1
Floor(x)
x以下の最大整数
Abs(x) = x>=0の場合x, x<0の場合-x
Clip1Y(x) = Clip3(0,(1<< BitDepthY) -1, x)
Clip1C(x) = Clip3(0,(1<< BitDepthC) -1, x)
Clip3(x,y,z) = z<xの場合x, z>yの場合y, その他の場合x
【００７６】
[0071]  伝達関数および色変換のいくつかは結果として、信号表現のダイナミックレンジにわたった著しい（significant）バリエーションの丁度可知差異（ＪＮＤ）しきい値を特徴とするビデオ表現をもたらし得る。そのような表現では、ルーマ値のダイナミックレンジにわたって均一である量子化スキームが、（ダイナミックレンジの区分を表現する）信号フラグメントにわたって異なる知覚のメリットを伴いながら、量子化誤差をもたらすだろう。信号に対するそのような影響は、結果的に処理されたデータレンジ内に不均等な信号対雑音比をもたらす不均一量子化もつ処理システムとして解釈され得る。図７のプロセス１３１はまた、４：４：４から４：２：０への転換（１４０）およびＨＥＶＣ４：２：０  １０ｂ符号化（１４２）を含む。
【００７７】
[0072]  そのような表現の例は、非定ルミナンス（ＮＣＬ）ＹＣｂＣｒ色空間で表現されるビデオ信号であり、その空間について原色は、ＩＴＵ−Ｒ勧告ＢＴ．２０２０において、およびＳＴ２０８４伝達関数で定義されている。以下の表２で例示されるように、この表現（たとえば、ＮＣＬ  ＹＣｂＣｒ色空間で表現されているビデオ信号）は、信号の低強度値に対して著しくより多い量のコードワードを割り当てる。たとえば、コードワードのうちの３０％は、１０ｎｉｔｓ未満（＜１０ｎｉｔｓ）の線形光サンプル（linear light sample）を表現する。反対に、高強度サンプル（高輝度）は、感知できる程により小さい量のコードワードで表現される。たとえば、コードワードのうちの２５％は、レンジ１０００〜１０，０００ｎｉｔｓの線形光に対して割り当てられる。結果として、データのすべてのレンジに対して均一の量子化を特徴とする、Ｈ．２６５／ＨＥＶＣビデオコーディングシステムのようなビデオコーディングシステムは、高強度サンプル（信号の明るい領域）に対してよりずっと厳しいコーディングアーティファクト（coding artifact）をもたらす一方で、低強度サンプル（同じ信号の暗い領域）にもたらされる歪みは、可知差異よりもずっと下回るだろう。
【００７８】
[0073]  事実上、上で説明された事実は、ビデオコーディングシステム設計、または符号化アルゴリズムが、全ての選択されたビデオデータ表現に対して、即ち全ての選択された伝達関数および色空間に対して調整される必要があり得ることを意味し得る。コードワードの差異により、ＳＤＲコーディングデバイスは、ＨＤＲコンテンツのために最適化されないことがある。また、著しい量のビデオコンテンツが、（勧告７０９によって提供されている）ＳＤＲダイナミックレンジおよびＳＣＧ色でキャプチャされている。ＨＤＲおよびＷＣＧと比較すると、ＳＤＲ−ＳＣＧビデオキャプチャは、狭いレンジを提供する。このように、ＳＤＲ−ＳＣＧでキャプチャされたビデオデータは、ＨＤＲ−ＷＣＧビデオデータに対してコードワードスキームの比較的小さなフットプリント（footprint）を占有し得る。例示すると、勧告７０９のＳＣＧがＣＩＥ１９３１色空間のうちの３５．９％をカバーする一方で、勧告２０２０のＷＣＧは７５．８％をカバーする。
【００７９】
【表２】
2019528017.tif 000012
【００８０】
[0074]  上記表２で示されているように、（「全レンジ」列で示されている）コードワードの高密度は、低輝度レンジにおいて集中している。即ち、（コードワードのうちのおおよそ３０％を構成する）全３０７コードワードは、線形光強度の０〜１０ｎｉｔｓレンジ内にクラスタ化される。低輝度のシナリオでは、色情報が容易に知覚可能でないことがあり、低レベルの視覚的感度で見ることができる。集中したコードワードのクラスタ化が低輝度レンジに位置するので、ビデオ符号化デバイスは、高品質でまたは非常に高品質で、低輝度レンジで、著しい量を符号化し得る。さらにビットストリームは、符号化された雑音を搬送するために、より多量の帯域幅を消費し得る。ビデオ復号デバイスは、ビットストリームを再構築するとき、符号化された雑音がビットストリームに含まれることに起因して、より多数のアーティファクト（artifact）を作り出し得る。
【００８１】
[0075]  非最適知覚品質コードワード分配（non-optimal perceptual quality codeword distribution）を改善するための既存の提案が以下で論じられる。１つのそのような提案は、“Dynamic Range Adjustment SEI to enable High Dynamic Range video coding with Backward-Compatible Capability,” by D. Rusanovskyy, A. K. Ramasubramonian, D. Bugdayci, S. Lee, J. Sole, M. Karczewicz, VCEG document COM16-C 1027-E, Sep.2015（以下「Ｒｕｓａｎｏｖｓｋｙｙ  Ｉ」）である。Ｒｕｓａｎｏｖｓｋｙｙ  Ｉは、ビデオコーディングより前にビデオデータにコードワード再分配（codewords re-distribution）を適用する提案を含んだ。この提案にしたがうと、ＳＴ２０８４／ＢＴ．２０２０表現のビデオデータは、ビデオ圧縮より前にコードワード再分配を経験する。この提案によりもたらされた再分配は、ダイナミックレンジ調整を通じてデータのダイナミックレンジ内に知覚される歪み（信号対雑音比）の線形化をもたらす。この再分配は、ビットレート制約下での視覚的品質を改善することが分った（was found）。再分配を補償し、元のＳＴ２０８４／ＢＴ．２０２０表現にデータを転換するために、逆のプロセスがビデオ復号後にデータに対して適用される。Ｒｕｓａｎｏｖｓｋｙｙ  Ｉによって提案された技法はさらに、米国特許出願第１５／０９９，２５６号（仮特許出願第６２／１４９，４４６号に優先権を主張する）および米国特許出願第１５／１７６，０３４号（仮特許出願第６２／１８４，２１６号に優先権を主張する）においてさらに説明されており、それらの各々の全内容が、全体として本明細書に組み込まれている。
【００８２】
[0076]  しかしながら、Ｒｕｓａｎｏｖｓｋｙｙ  Ｉにおいて説明されている技法にしたがうと、事前処理および後処理のプロセスは一般に、ブロックベースの基準で最新式のエンコーダによって用いられるレート歪最適化処理（rate distortion optimization processing）から切り離されている。したがって、説明されている技法は事前処理および後処理の観点からのものであり、ビデオコーデックのコーディングループ（coding loop）外（または外部）にある。
【００８３】
[0077]  別のそのような提案は、“Performance investigation of high dynamic range and wide color gamut video coding techniques,” by J. Zhao, S.-H. Kim, A. Segall, K. Misra, VCEG document COM16-C 1030-E, Sep.2015（以下「Ｚｈａｏ  Ｉ」）である。Ｚｈａｏは、ビットレート割り振り、およびＹ２０２０（ＳＴ２０８４／ＢＴ２０２０に対して適用されたビットコーディングとＹ７０９（ＢＴ１８８６／ＢＴ  ２０２０）表現との間の視覚的に知覚される歪みをアラインするための強度依存の空間的に変動する（ブロックベースの）量子化スキームを提案した。ルーマで同じレベルの量子化を維持するために、Ｙ２０２０およびＹ７０９における信号の量子化は、
QP_Y2020=QP_Y709-f(Y2020)
になるように、ルーマに依存する値分だけ異ならなければならない。
【００８４】
[0078]  関数ｆ（Ｙ２０２０）は、Ｙ２０２０においてビデオの強度値（輝度レベル）について線形であることが分っており、
f(Y2020)=max(0.03*Y2020-3,0)
として概算され得る。
【００８５】
[0079]  Ｚｈａｏ  Ｉは、空間的に変動する量子化スキームが符号化段階でもたらされることが、ＳＴ  ２０８４／ＢＴ．２０２０表現のコーディングされたビデオ信号についての視覚的に知覚された信号対量子化雑音比を改善できることが分かったことを提案した。
【００８６】
[0080]  Ｚｈａｏ  Ｉで提案された技法の潜在的な欠点は、ＱＰ適合のブロックベースの粒度（block-based granularity）である。通常、圧縮のためにエンコーダ側で選択された利用されるブロックサイズは、レート歪最適化プロセス（rate distortion optimization process）を通じて導出され、ビデオ信号のダイナミックレンジ特性（dynamical range properties）を表現しないことがある。したがって、選択されたＱＰ設定は、ブロック内部の信号に対して準最適（sub-optimal）であり得る。この潜在的な問題は、より大きい次元の予測および変換ブロックサイズを用いる傾向にある次世代のビデオコーディングシステムにさらにより重要になり得る。この設計の別の態様は、ＱＰ適合パラメータのシグナリングの必要性である。ＱＰ適合パラメータは、逆非量子化（inverse dequantization）のためにデコーダにシグナリングされる。加えて、エンコーダ側における量子化パラメータの空間適合は、符号化最適化の複雑性を増大させ得、レート制御アルゴリズムに干渉し得る。
【００８７】
[0081]  別のそのような提案は、“Intensity dependent spatial quantization with application in HEVC,” by Matteo Naccari and Marta Mrak, In Proc. of IEEE ICME 2013, July 2013（以下「Ｎａｃｃａｒｉ」）である。Ｎａｃｃａｒｉは、人間視覚系の強度マスキングを利用し、ブロックレベルで信号の量子化を知覚的に調整する強度依存型空間量子化（ＩＤＳＱ：Intensity Dependent Spatial Quantization）知覚機構を提案した。この文書は、インループのピクセルドメインスケーリング（in-loop pixel domain scaling）を用いることを提案した。この提案にしたがうと、現在処理されているブロックについてのインループスケーリング（in-loop scaling）のパラメータが、予測されたブロックにおけるルーマ成分の平均値から導出される。デコーダ側では、逆スケ−リング（inverse scaling）が実行され、デコーダは、デコーダ側で利用可能な予測されたブロックからスケーリングのパラメータを導出する。
【００８８】
[0082]  上で論じられたＺｈａｏ  Ｉにおける研究と同様に、この手法のブロックベースの粒度は、処理されたブロックの全てのサンプルに適用されるスケーリングパラメータの準最適性に起因して本方法のパフォーマンスを制限する。本文書の提案されたソリューションの別の態様は、スケール値が予測されたブロックから導出され、現在コーデックブロックと予測されたブロックとの間に生じ得る信号ゆらぎ（signal fluctuation）を反映しない。
【００８９】
[0083]  別のこのような提案は、“De-quantization and scaling for next generation containers,” by J. Zhao, A. Segall, S.-H. Kim, K. Misra, JVET document B0054, Jan 2016（以下Ｚｈａｏ  ＩＩ」）である。ＳＴ２０８４／ＢＴ２０２０表現における不均一な知覚された歪みを改善するために、本文書は、インループ強度型依存ブロックベースの変換ドメインスケーリングを用いることを提案した。本提案にしたがうと、現在処理されているブロックの選択された変換係数（ＡＣ係数）についてのインループスケーリングのパラメータが、予測されたブロックにおけるルーマ成分の平均値および現在ブロックについて導出されたＤＣ値の関数として導出される。デコーダ側では、逆スケ−リングが実行され、デコーダは、デコーダ側で利用可能な予測されたブロックからおよびデコーダにシグナリングされる量子化されたＤＣ値から、ＡＣ係数スケーリングのパラメータを導出する。
【００９０】
[0084]  上で論じられたＺｈａｏ  ＩおよびＮａｃｃａｒｉにおける研究と同様に、この手法のブロックベースの粒度は、処理されたブロックの全てのサンプルに適用されるスケーリングパラメータの準最適性に起因して本方法のパフォーマンスを制限する。この文書で提案されているスキームの別の態様は、スケール値がＡＣ変換係数のみに適用され、したがって信号対雑音比改善がＤＣ値に影響を与えないことであり、これはスキームのパフォーマンスを低減する。上で論じられた態様に加えて、いくつかのビデオコーディングシステム設計では、量子化されたＤＣ値は、ＡＣ値スケーリングの時、たとえば量子化プロセスが変換オペレーションのカスケード（cascade）に続くケースにおいて、利用可能でないことがある。本提案の別の制限は、エンコーダが現在ブロックについて変換スキップまたは変換／量子化バイパスモードを選択するとき、スケーリングが適用されず（ひいては、デコーダ側では、スケーリングが変換スキップおよび変換／量子化バイパスモードについて定義されない）ことであり、これは、これらの２つのモードについての潜在的なコーディング利得の排除に起因して準最適である。
【００９１】
[0085]  Ｄｍｙｔｒｏ  Ｒｕｓａｎｏｖｓｋｙｙ他による米国特許出願第１５／５９５，７９３号（仮特許出願第６２／３３７，３０３号に優先権を主張する）（以下「Ｒｕｓａｎｏｖｓｋｙｙ  ＩＩ」）では、不均一に分配された丁度可知差異（ＪＮＤ）を伴うビデオ信号についてのインループサンプル処理（in-loop sample processing for video signals with non-uniformly distributed Just Noticeable Difference (JND)）。Ｒｕｓａｎｏｖｓｋｙｙ  ＩＩの技法にしたがうと、不均一に分配された丁度可知差異を伴う信号のより効率的なコーディングのためのいくつかのインループコーディング手法。Ｒｕｓａｎｏｖｓｋｙｙ  ＩＩは、ピクセル、残差、または変換ドメインの何れかで表現された信号サンプルのスケールおよびオフセットのアプリケーションを説明する。スケールおよびオフセットの導出のためのいくつかのアルゴリズムが提案されてきた。Ｒｕｓａｎｏｖｓｋｙｙ  ＩＩの内容は、全体として本明細書に参照によって組み込まれている。
【００９２】
[0086]  本開示は、ビデオコーディングシステムのループにおいて適用され得る処理のためのいくつかのデバイス、コンポーネント、装置、および方法について論じる。本開示の技法は、処理されたデータについての信号対量子化雑音比（signal-to-quantization noise ratio）を改善するために、ピクセルドメインまたは変換ドメインでのビデオ信号の量子化および／またはスケーリングのプロセスを含み得る。たとえば、本開示のシステムおよび技法は、ＨＤＲ−ＷＣＧフォーマットに転換されるときにＳＤＲ−ＳＣＧフォーマットでキャプチャされたビデオデータの転換によって生じるアーティファクトを低減し得る。本明細書で説明されている技法は、ルミナンスおよび／または色差データ（chrominance data）のうちの１つまたはその両方を使用して精細度に対処し得る。開示されているシステムおよび技法はまた、信号の時空間的近隣からの量子化またはスケーリングパラメータの導出のためのいくつかのアルゴリズムを組み込むか、または含む。即ち、本開示の例となるシステムおよび技法は、コーディングプロセスにおいて現在ブロックに関連付けられた残差データを修正するために使用される１つまたは複数のパラメータ値を取得することを対象としている。本明細書で使用される場合、残差データを修正するために使用されるパラメータ値は、（符号化プロセスまたは復号プロセスそれぞれで残差データを量子化（quantizing）または非量子化する（dequantizing）ことによって残差データを修正するために使用される）量子化パラメータ、または（符号化プロセスまたは復号プロセスそれぞれで残差データをスケーリングまたは逆スケーリングすること（inverse scaling）によって残差データを修正するために使用される）スケーリングパラメータを含む。
【００９３】
[0087]  図８は、現在コーディングされているブロック１５２の時空間的近隣の態様を例示する概略図である。本開示の１つまたは複数の技法にしたがうと、ビデオエンコーダ２０は、現在コーディングされているブロック１５２の時空間的近隣からの情報を使用して、（現在コーディングされているブロック１５２のサンプルの量子化で使用されるべき）量子化パラメータを導出し得る。たとえば、ビデオエンコーダ２０は、近隣ブロック１５４、１５６、および１５８のうちの１つまたは複数に使用されるＱＰ値を使用して、現在コーディングされているブロック１５２で使用される参照ＱＰまたはデフォルトＱＰを導出し得る。たとえば、ビデオエンコーダ２０は、現在コーディングされているブロック１５２に関するデルタＱＰ導出プロセスにおける基準またはオペランドとして近隣ブロック１５４〜１５８のうちの１つまたは複数についてのＱＰ値を使用し得る。このように、ビデオエンコーダ２０は、左隣のブロック１５６のサンプル、上隣のブロック１５８のサンプル、および視差ベクトル「ＤＶ」によって指されている時間的に（temporal）隣のブロック１５４のサンプルを考慮する本開示の１つまたは複数の技法を実装し得る。
【００９４】
[0088]  このように、ビデオエンコーダ２０が時空間的近隣ブロックのサンプルが現在コーディングされているブロック１５２のサンプルについて良く適合する（a good match）と決定する場合、ビデオエンコーダ２０は、少なくとも部分的に時空間的近隣の様々な近隣ブロックに現在コーディングされているブロック１５２についてのデルタＱＰ導出プロセスを基づかせるように、該デルタＱＰ導出プロセスを拡張する本開示の技法を実装し得る。参照サンプルのブロックがブロック分割の複数のＣＵと重複し、それにより異なるＱＰを有し得る事例では、ビデオエンコーダ２０は、複数の利用可能なＱＰから該ＱＰを導出し得る。たとえば、ビデオエンコーダ２０は、現在コーディングされているブロック１５２のサンプルについてのＱＰ値を導出するために、複数のＱＰ値に関する平均化のプロセスを実施し得る。様々な例において、ビデオエンコーダ２０は、ＱＰ値および／またはデルタＱＰパラメータのうちの１つまたはその両方を導出するために上で説明された導出技法を実装し得る。
【００９５】
[0089]  様々な使用ケースのシナリオにおいて、ビデオエンコーダ２０はまた、現在コーディングされているブロック１５２の時空間的近隣からの情報を使用して、現在コーディングされているブロック１５２のサンプルについてのスケーリングパラメータを導出し得る。たとえば、スケーリングオペレーションが均一の量子化と取って代わる設計にしたがうと、ビデオエンコーダ２０は、現在コーディングされているブロック１５２についての参照スケーリングパラメータまたはデフォルトのスケーリングパラメータを導出するために、上で説明された時空間的近隣ベースの導出プロセスを適用し得る。
【００９６】
[0090]  いくつかの既存のＨＥＶＣ／ＪＥＭ技法にしたがうと、ビデオコーディングデバイスは、現在処理されているブロックのすべての変換係数にスケーリングオペレーションを適用し得る。たとえば、いくつかのＨＥＶＣ／ＪＥＭ設計では、ビデオコーディングデバイスは、変換係数のサブセットに１つまたは複数のスケーリングパラメータを適用し得る一方で、スケーリングパラメータ（複数を含む）の導出のために残りの変換係数を利用する。たとえば、ＪＶＥＴ  Ｂ００５４にしたがうと、ビデオコーディングデバイスは、予測されたブロックにおけるルーマ成分の平均値の関数として現在処理されているブロックの選択された変換係数（即ちＡＣ係数）についてのインループスケーリングパラメータを導出し得、現在ブロックについてのＤＣ値を導出し得る。
【００９７】
[0091]  本開示の１つまたは複数の技法にしたがうと、ビデオエンコーダ２０は、現在コーディングされているブロック１５２についてのスケーリングプロセスに１つまたは複数のＤＣ変換係数（DC transform coefficient）を含み得る。いくつかの例では、ビデオエンコーダ２０は、予測されたサンプルから導出されたパラメータおよびＤＣ値の関数として、現在コーディングされているブロック１５２についてのスケーリングパラメータを導出し得る。ビデオエンコーダ２０は、ＡＣスケーリングについてのルックアップテーブル（ＬＵＴ：look-up table）、それに加えてＤＣ値（複数を含む）についての独立したＬＵＴを含むスケーリングパラメータ導出プロセス（scaling parameter derivation process）を実施し得る。ＤＣおよびＡＣ変換係数のフォワードスケーリングは結果として、ＤＣ’およびＡＣ’と表されたスケーリングされた値をもたらす。ビデオエンコーダ２０は、スケーリングされた値ＤＣ’およびＡＣ’を取得するために以下で説明されるようなスケーリングオペレーションを実施し得る。
【００９８】
AC’ = scale (fun1(DC, avgPred)) * AC;および
DC’ = scale (fun2(DC, avgPred)) * DC
【００９９】
[0092]  本開示のスケーリングパラメータベースの技法にしたがうと、ビデオデコーダ３０は、ビデオエンコーダ２０に関して上で説明されたものと概して相互関係にあるオペレーションを実施し得る。たとえばビデオデコーダ３０は、スケーリングされた値ＤＣ’およびＡＣ’をオペランドとして使用する逆スケーリングプロセスを実施し得る。逆スケーリングプロセスの結果は、以下の数式におけるＤＣ’’およびＡＣ’’と表される。ビデオデコーダ３０は、以下の数式において例示されているような逆スケーリングオペレーションを実施し得る：
DC’’ = DC’/scale (fun1(DC’, avgPred));および
AC’’ = AC’/scale (fun2(DC’’, avgPred))
【０１００】
[0093]  スケーリングオペレーションと逆スケーリングオペレーションとの両方に関して、「ｆｕｎ１」および「ｆｕｎ２」という用語は、引数（arguments）として参照サンプルの平均値（average）およびＤＣベースの値を使用するスケール導出関数／プロセスを定義する。ビデオエンコーダ２０およびビデオデコーダ３０によって実装されるスケーリング技法と逆スケーリング技法の両方に関して例示されているように、本開示の技法は、スケーリングされたおよび逆スケーリングされたＤＣおよびＡＣ変換係数値の両方の導出においてＤＣ変換係数値の使用を可能にする。このように、本開示の技法は、スケーリング／逆スケーリングされたオペレーションが変換係数の量子化および非量子化の代わりに実行される場合、ビデオエンコーダ２０およびビデオデコーダ３０が、スケーリングおよび逆スケーリングオペレーションにおいてＤＣ変換係数値を活用することを可能にする。
【０１０１】
[0094]  本開示はまた、ビデオエンコーダ２０が何れの非ゼロ変換係数もシグナリングしない事例における量子化パラメータまたはスケーリングパラメータの導出のための技法を提供する。ＨＥＶＣの現在の仕様、ＪＶＥＴ開発の初期テストモデル、ＪＶＥＴ  Ｂ００５４で説明されている設計は、ＱＰ値（または、場合によってはスケーリングパラメータ）の、存在する符号化された非ゼロ変換係数としての導出を規定する。全ての変換係数がゼロに量子化されるケースでは、ＱＰ調整も局所的に適用されたスケールも、ＨＥＶＣの現在の仕様、ＪＶＥＴの初期テストモデル、ＪＶＥＴ  Ｂ００５４の設計にしたがってシグナリングされない。代わりに、復号デバイスは、変換係数に、グローバル（たとえばスライスレベル）ＱＰ／スケーリングパラメータ、または空間的近隣ＣＵから導出されるＱＰのどちらかを適用する。
【０１０２】
[0095]  本開示の技法は、（イントラかインターかに関わらず）予測の相対的な精度を活用し、これは結果として非ゼロ変換係数の不在をもたらす。たとえば、ビデオデコーダ３０は、ＱＰ値またはスケーリングパラメータを導出するために予測されたサンプルからのパラメータを使用する本開示の技法を実装し得る。代わりに、ビデオデコーダ３０は、現在ブロックのサンプルを非量子化するために、または現在ブロックの変換係数を逆スケーリングするために、導出されたＱＰ値またはスケーリングパラメータを利用し得る。このように、ビデオデコーダ３０は、ビデオデコーダ３０があるブロックについてどの非ゼロ変換係数も受信せず、それによりＨＥＶＣ／ＪＥＭ慣例の１つまたは複数のデフォルトベースの非量子化および逆スケーリング態様と取って代わるシナリオでは予測精度を活用する本開示の技法を実装し得る。
【０１０３】
[0096]  開示されている技法の様々な例となる実装が以下で説明される。以下で説明される実装が非限定的な例であり、開示されている技法の他の実装もまた本開示の態様にしたがって可能であることが理解されるだろう。
【０１０４】
[0097]  いくつかの実装にしたがうと、ビデオエンコーダ２０は、接している（attached）（上および左の）ブロック（ＣＵ）から参照ＱＰ値（reference QP value）を導出し得る。図８に関して説明されて、ビデオエンコーダ２０は、上隣のブロック１５８および左隣のブロック１５６に関連付けられたデータから、現在コーディングされているブロック１５２についての参照ＱＰを導出し得る。この例となる実装の例は、以下の擬似コードによって説明される：
Char TComDataCU::getRefQP( UInt uiCurrAbsIdxInCtu )
{
TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
return (((cULeft? cULeft->getQP( lPartIdx ): m_QuLastCodedQP) + (cUAbove? cUAbove->getQP( aPartIdx ): m_QuLastCodedQP) + 1) >> 1);
｝
上記の擬似コードでは、接しているブロックがシンボル「ｃＵＡｂｏｖｅ」および「ｃＵＬｅｆｔ」で表現されている。
【０１０５】
[0098]  本開示の技法のいくつかの実装にしたがうと、ビデオエンコーダ２０は、参照サンプル（複数を含む）の１つまたは複数のＱＰ値をＱＰ導出プロセスにおいて考慮し得る。このような実装の例は、以下の擬似コードによって説明される：
Char TComDataCU::getRefQP2( UInt uiCurrAbsIdxInCtu )
{
TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cURefer = getQpMinCuReference( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
return value = function (cULeft->getLastQP(), cUAbove->getLastQP(), cURefer ->getLastQP());
｝
上記の擬似コードでは、シンボル「ｃＵＲｅｆｅｒ」は、参照サンプルを含むブロックを表現する。
【０１０６】
[0099]  説明されている技法のいくつかの実装にしたがうと、ビデオエンコーダ２０および／またはビデオデコーダ３０は、参照ブロック（複数を含む）のサンプルに適用されたＱＰおよび／または参照ピクチャとして利用される全てのピクチャについてのグローバルＱＰ（たとえばスライスレベルＱＰ）を記憶し得る。いくつかの実装にしたがうと、ビデオエンコーダ２０および／またはビデオデコーダ３０は、参照ブロック（複数を含む）のサンプルに適用されたスケーリングパラメータおよび／または参照ピクチャとして利用される全てのピクチャについてのグローバルスケーリング（たとえばスライスレベルスケーリング）パラメータを記憶し得る。参照サンプルのブロックが分割されたブロックの複数のＣＵと重複する（それにより区分にわたって異なるＱＰの可能性をもたらす）場合、ビデオエンコーダ２０は、複数の利用可能なＱＰから該ＱＰを導出し得る。例として、ビデオエンコーダ２０は、複数のＣＵからの複数のＱＰに対する平均化プロセスを実施し得る。このような実施の例は、以下の擬似コードによって説明される：
Int sum= 0;
for (Int i=0; i < numMinPart; i++)
{
sum += m_phInferQP[COMPONENT_Y][uiAbsPartIdxInCTU + i];
}
avgQP = (sum)/numMinPart; 
上記擬似コードにしたがうと、ビデオエンコーダ２０は、ブロック区分にわたったＱＰの平均値を算出することによって平均化処理を実行する。平均ＱＰ算出は、上記擬似コードにおける最後のオペレーションで示されている。つまりビデオエンコーダ２０は、区分のカウント（オペランド「ｎｕｍＭｉｎＰａｒｔ」で表現されている）によって除算されている集合（最終値の整数「ｓｕｍ」で表現されている）を除算する。
【０１０７】
[0100]  本明細書で説明されている技法のまた別の実装では、ビデオエンコーダ２０は、ルーマ成分の平均輝度の関数としてＱＰを導出し得る。たとえばビデオエンコーダ２０は、ルックアップテーブル（ＬＵＴ）からルーマ成分の平均輝度を取得し得る。この実装は、シンボル「ａｖｇＰｒｅｄ」が参照サンプルの平均輝度値を表現する、以下の擬似コードによって説明される：
QP = PQ_LUT[avgPred];
【０１０８】
[0101]  いくつかの実装では、ビデオエンコーダ２０は、１つまたは複数のグローバルＱＰ値から現在ブロックについての参照ＱＰ値を導出し得る。ビデオエンコーダ２０が使用し得るグローバルＱＰ値の例は、スライスレベルで規定されるＱＰである。つまりビデオエンコーダ２０は、現在ブロックを含むスライスの全体に対して規定されているＱＰ値を使用して現在ブロックについてのＱＰ値を導出し得る。この実装は、以下の擬似コードによって説明される：
qp = (((Int) pcCU->getSlice()->getSliceQp() + iDQp + 52 + 2*qpBdOffsetY )%(52+ qpBdOffsetY)) - qpBdOffsetY;
上記の擬似コードでは、ビデオエンコーダ２０は、（「ｑｐ」によって表されている）現在ブロックについてのＱＰを取得するためのオペレーションにおけるオペランドとしてgetSliceQp()関数によって返される値を使用する。
【０１０９】
[0102]  本明細書で説明されている技法のいくつかの実装では、ビデオエンコーダ２０は、ＱＰを導出する際に１つまたは複数の参照サンプル値を利用し得る。この実装は、以下の擬似コードによって説明される。
【０１１０】
QP = PQ_LUT[avgPred];
【０１１１】
[0103]  上記擬似コードでは、「ＰＱ＿ＬＵＴ」は、ビデオエンコーダ２０が（「ａｖｇＰｒｅｄ」で表現されている）予測されたブロックの平均輝度の値を、関連付けられた知覚量子化（ＰＱ）値にマッピングするために利用し得るルックアップテーブルである。ビデオエンコーダ２０は、参照サンプルの関数としてａｖｇＰｒｅｄの値、たとえば参照サンプルの平均値を計算し得る。本開示の算出にしたがって使用され得る平均値の例は、平均（mean）、メジアン（median）、およびモード（mode）値のうちの１つまたは複数を含む。
【０１１２】
[0104]  いくつかの実装では、ビデオエンコーダ２０は、ＱＰの代わりに現在ブロックについてのスケーリングパラメータであり得る。いくつかの実装では、ビデオエンコーダ２０は、導出されたＱＰ（複数を含む）からスケールパラメータ（複数を含む）への、またはその逆の転換プロセスを実行し得る。いくつかの実装では、ビデオエンコーダ２０は、参照サンプルからＱＰを導出するために解析表現（analytical expression）を利用し得る。ビデオエンコーダ２０がＱＰ導出のために使用し得る解析表現の一例は、パラメータに関する導出モデル（parametric derivation model）である。
【０１１３】
[0105]  ビデオエンコーダ２０が現在ブロックについてのＱＰを導出するという上で説明された技法のうちのどれかに関わらず、ビデオエンコーダ２０は、ビデオデコーダ３０に、導出されたＱＰに基づいて、データをシグナリングし得る。たとえば、ビデオエンコーダ２０は、そのビデオエンコーダ２０がサンプル現在ブロックを量子化するために使用したＱＰ値から導出されたデルタＱＰ値をシグナリングし得る。代わりに、ビデオデコーダ３０は、ブロックについてのＱＰ値を取得するために符号化されたビデオビットストリーム（encoded video bitstream）で受信されたデルタＱＰ値を使用し得、ＱＰ値を使用してブロックのサンプルを非量子化し得る。
【０１１４】
[0106]  ビデオエンコーダ２０が現在ブロックについてのＱＰ値の代わりに、またはそれに加えてスケーリングパラメータを取得する例では、ビデオエンコーダ２０は、ビデオデコーダ３０にスケーリングパラメータ（またはそこから導出されたデータ）をシグナリングし得る。代わりに、ビデオデコーダ３０は、直接的にまたはシグナリングされたデータからパラメータを導出すること（deriving）によってのどちらかで、符号化されたビデオビットストリームからスケーリングパラメータを再構築し得る。ビデオデコーダ３０は、スケーリングされた変換係数の逆スケーリングを実行し得る。たとえばビデオデコーダ３０は、本開示の態様にしたがって、ＤＣ変換係数およびＡＣ変換係数の両方のスケーリングされたバージョンの逆スケーリングを実行し得る。
【０１１５】
[0107]  様々な例（たとえば、実装）が上で説明されてきた。本開示の例は、他の例のうちの１つまたは複数とは別個に、またはそれらとの様々な組合せで使用され得る。
【０１１６】
[0108]  図９は、本開示の技法を実装し得るビデオエンコーダ２０の例を例示するブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラおよびインターコーディングを実行し得る。イントラコーディング（Intra-coding）は、所与のビデオフレームまたはピクチャ内のビデオ中の空間的冗長性を低減または取り除くために空間予測に依存する。インターコーディング（Inter-coding）は、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオ中の時間的冗長性を低減または取り除くために時間予測に依存する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのうちの何れも指し得る。単一方向予測（Ｐモード）または双予測（Ｂモード）のようなインターモードは、いくつかの時間ベースのコーディングモードの何れも指し得る。
【０１１７】
[0109]  図９で示されているように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図９の例では、ビデオエンコーダ２０は、モード選択ユニット４０、ビデオデータメモリ４１、復号ピクチャバッファ６４、加算器５０、変換処理ユニット５２、量子化ユニット５４、およびエントロピー符号化ユニット５６を含む。モード選択ユニット４０が今度は、動き補償ユニット４４、動き推定ユニット４２、イントラ予測処理ユニット４６、および分割ユニット（partition unit）４８を含む。ビデオブロック再構築では、ビデオエンコーダ２０はまた、逆量子化ユニット５８、逆変換処理ユニット６０、および加算器６２を含む。デブロッキングフィルタ（deblocking filter）（図９には図示せず）もまた、再構成されたビデオからブロッキネスアーティファクト（blockiness artifact）を取り除くようにブロック境界をフィルタリングするために含まれ得る。望ましい場合、デブロッキングフィルタは通常、加算器６２の出力をフィルタするだろう。（たとえば、ループ中またはループ後の）追加のフィルタもまた、デブロッキングフィルタに加えて使用されうる。そのようなフィルタは、簡潔さのために示されていないが、望ましい場合、（インループフィルタとして）加算器５０の出力をフィルタし得る。
【０１１８】
[0110]  ビデオデータメモリ４１は、ビデオエンコーダ２０のコンポーネントによって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ４１に記憶されたビデオデータは、たとえばビデオソース１８から取得され得る。復号ピクチャバッファ６４は、たとえば、イントラまたはインターコーディングモードでビデオエンコーダ２０によってビデオデータを符号化する際に使用される参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ４１および復号ピクチャバッファ６４は、同期動的ランダムアクセスメモリ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイス（memory device）を含む動的ランダムアクセスメモリ（ＤＲＡＭ）のような、様々なメモリデバイスのうちの何れによっても形成され得る。ビデオデータメモリ４１および復号ピクチャバッファ６４は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例において、ビデオデータメモリ４１は、ビデオエンコーダ２０の他のコンポーネントとオンチップであり得るか、それらのコンポーネントに対してオフチップであり得る。
【０１１９】
[0111]  符号化プロセス中、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間予測を提供するために、１つまたは複数の参照フレームにおける１つまたは複数のブロックに関連する受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測処理ユニット４６は代わりとして、空間予測を提供するために、コーディングされるべきブロックと同じフレームまたはスライスにおける１つまたは複数の近隣ブロックに関連する受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ２０は、たとえば、ビデオデータのブロック毎に適切なコーディングモードを選択するために複数のコーディングパスを実行し得る。
【０１２０】
[0112]  さらに、分割ユニット４８は、前のコーディングパスにおける前の分割スキームの評価に基づいて、ビデオデータのブロックをサブブロックに分割し得る。たとえば、分割ユニット４８は、レート−歪分析（たとえば、レート−歪最適化）に基づいて、最初にフレームまたはスライスをＬＣＵに分割し、ＬＣＵの各々をサブＣＵに分割し得る。モード選択ユニット４０はさらに、ＬＣＵのサブＣＵへの分割を示す四分木データ構造を作り出し得る。四分木のリーフノードＣＵは、１つまたは複数のＰＵおよび１つまたは複数のＴＵを含み得る。
【０１２１】
[0113]  モード選択ユニット４０は、たとえば、誤差結果に基づいて、コーディングモードを、イントラかまたはインターのうちの１つ選択し、残差ブロックデータを生成するために加算器５０に、および参照フレームとして使用される符号化されたブロックを再構築するために加算器６２に、結果として生じたイントラまたはインターコーディングされたブロックを提供し得る。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、分割情報、および他のそのようなシンタックス情報のようなシンタックス要素を、エントロピー符号化ユニット５６に提供する。
【０１２２】
[0114]  動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念的目的で別個に例示されている。動き推定ユニット４２によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの、該現在のピクチャ（または他のコーディングされた単位）内でコーディングされている該現在ブロックに関連する参照ピクチャ（または他のコーディングされた単位）内の予測ブロックに対する変位を示し得る。予測ブロックは、絶対値誤差和（ＳＡＤ：sum of absolute difference）、二乗誤差和（ＳＳＤ：sum of square difference）、または他の誤差メトリックによって決定され得るピクセル差分の観点でコーディングされるべきブロックに密接に一致するとみられるブロックである。いくつかの例では、ビデオエンコーダ２０は、復号ピクチャバッファ６４に記憶された参照ピクチャのサブ整数ピクセル位置についての値を算出し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの４分の１ピクセル位置、８分の１ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置および分数のピクセル位置に関連する動き探索を実行し、分数ピクセル精細度を有する動きベクトルを出力し得る。
【０１２３】
[0115]  動き推定ユニット４２は、インターコーディングされたスライスにおけるビデオブロックのＰＵについて、該ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、動きベクトルを算出する。参照ピクチャは、各々が復号ピクチャバッファ６４に記憶された１つまたは複数の参照ピクチャを識別する第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得る。動き推定ユニット４２は、エントロピー符号化ユニット５６および動き補償ユニット４４に算出された動きベクトルを送る。
【０１２４】
[0116]  動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて、予測ブロックを取り込むことまたは生成することを伴い得る。また、いくつかの例では、動き推定ユニット４２および動き補償ユニット４４は機能的に統合され得る。現在ビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つに、動きベクトルが指す予測ブロックを位置付け得る。加算器５０は、以下で論じられるように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット４２は、ルーマ成分に関して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分との両方について、ルーマ成分に基づいて算出された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際に、ビデオデコーダ３０によって使用されるビデオブロックおよびビデオスライスに関連付けられるシンタックス要素を生成し得る。
【０１２５】
[0117]  イントラ予測処理ユニット４６は、上で説明されたように、動き推定ユニット４２および動き補償ユニット４４によって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在ブロックを符号化するために使用するイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し、イントラ予測処理ユニット４６（または、いくつかの例ではモード選択ユニット４０）は、テストされたモードから、使用するのに適切なイントラ予測モードを選択し得る。
【０１２６】
[0118]  たとえば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードについてレート歪み分析（rate-distortion analysis）を使用してレート歪み値（rate-distortion value）を算出し、テストされたモードのうちで最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は一般に、符号化されたブロックと符号化されたブロックを作り出すために符号化された元の非符号化ブロックとの間の歪み（または誤差）の量、ならびに符号化されたブロックを作り出すために使用されるビットレート（bit rate）（即ちビット数）を決定する。イントラ予測処理ユニット４６は、ブロックについてどのイントラ予測モードが最良のレート歪み値を示すかを決定するために、様々な符号化されたブロックについての歪みおよびレートから比を算出し得る。
【０１２７】
[0119]  ブロックについてイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックについて選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックス表および複数の修正されたイントラ予測モードインデックス表（コードワードマッピング表とも称される）を含み得る送信されたビットストリーム構成データに、様々なブロックについての符号化コンテキストの定義、ならびにコンテキストの各々に使用すべき最も可能性の高いイントラ予測モード、イントラ予測モードインデックス表、および変更されたイントラ予測モードインデックス表のインジケーションを含み得る。
【０１２８】
[0120]  ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算すること（subtracting）によって残差ビデオブロックを形成する。加算器５０は、この減算を実行する１つまたは複数のコンポーネントを表現する。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念上同様の変換のような変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを作り出す。変換処理ユニット５２は、ＤＣＴと概念上同様の他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換もまた使用されることができるだろう。どのケースでも、変換処理ユニット５２は、該変換を残差ブロックに適用し、残差変換係数のブロックを作り出す。変換は、残差情報を、ピクセル値ドメインから周波数ドメインのような変換ドメインに転換し得る。変換処理ユニット５２は、結果として生じた変換係数を量子化ユニット５４に送り得る。
【０１２９】
[0121]  量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数のいくつかまたは全てに関連付けられたビット深度を低減し得る。量子化の程度は量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４はその後、量子化された変換係数を含む行列の走査を実行し得る。代わりとして、エントロピー符号化ユニット５６が該走査を実行し得る。
【０１３０】
[0122]  量子化に続いて、エントロピー符号化ユニット５６は量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースのコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔分割エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コーディング、または別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングのケースでは、コンテキストは近隣ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコーディングに続いて、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信され得るか、または後の送信または検索のためにアーカイブされ得る。
【０１３１】
[0123]  逆量子化ユニット５８および逆変換処理ユニット６０は、たとえば、参照ブロックとしての後の使用のためにピクセルドメインにおける残差ブロックを再構築するように、逆量子化および逆変換をそれぞれ適用する。動き補償ユニット４４は、復号ピクチャバッファ６４のフレームのうちの１つの予測ブロックに残差ブロックを加えることによって、参照ブロックを算出し得る。動き補償ユニット４４はまた、動き推定において使用されるサブ整数ピクセル値を算出するために、再構築された残差ブロックに１つまたは複数の補間フィルタを適用もし得る。加算器６２は、復号ピクチャバッファ６４への記憶用に再構築されたビデオブロックを作り出すために、動き補償ユニット４４によって作り出された動き補償された予想ブロックに再構築された残差ブロックを加える。再構築されたビデオブロックは、後続のビデオフレームにおけるブロックをインターコーディングするための参照ブロックとして動き推定ユニット４２および動き補償ユニット４４によって使用され得る。
【０１３２】
[0124]  ビデオエンコーダ２０は、ブロックの時空間的近隣ブロックから現在符号化されているブロックについての量子化パラメータ（ＱＰ）値（quantization parameter (QP) value）を導出するための、および／または現在符号化されているブロックの全ての（たとえば、ＤＣおよびＡＣ）変換係数にスケーリングを適用するための本開示の様々な技法を実装し得る。
【０１３３】
[0125]  以下の説明では、図８に対して参照が行われる。いくつかの実装においてビデオエンコーダ２０は、時空間的近隣の接しているブロック（ＣＵ）から現在コーディングされているブロック１５２についての参照ＱＰ値を導出し得る。つまりビデオエンコーダ２０は、上隣のブロック１５８および左隣のブロック１５６を使用して、現在コーディングされているブロック１５２についてのＱＰ値を導出し得る。ビデオエンコーダ２０が上隣のブロック１５８および左隣のブロック１５６を使用して現在コーディングされているブロック１５２についてのＱＰ値を導出するような実装の例が以下の擬似コードによって説明される：
Char TComDataCU::getRefQP( UInt uiCurrAbsIdxInCtu )
{
TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
return (((cULeft? cULeft->getQP( lPartIdx ): m_QuLastCodedQP) + (cUAbove? cUAbove->getQP( aPartIdx ): m_QuLastCodedQP) + 1) >> 1);
}
【０１３４】
[0126]  いくつかの実装では、ビデオエンコーダ２０は、参照サンプルの１つまたは複数のＱＰ値を考慮することによって、現在コーディングされているブロック１５２についてのＱＰ値を導出し得る。ビデオエンコーダ２０が現在コーディングされているブロック１５２についてのＱＰ値を導出するために参照サンプルのＱＰ値（複数を含む）を使用するような実装の例が以下の擬似コードによって説明される：
Char TComDataCU::getRefQP2( UInt uiCurrAbsIdxInCtu )
{
TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cURefer = getQpMinCuReference( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
return value = function (cULeft->getLastQP(), cUAbove->getLastQP(), cURefer ->getLastQP());
}
【０１３５】
[0127]  本明細書で説明されている技法のいくつかの実装にしたがうと、ビデオエンコーダ２０は、参照ブロック（複数を含む）のサンプルに適用されるＱＰおよび／または参照ピクチャとして利用される全てのピクチャについてのグローバルＱＰ（たとえばスライスレベルＱＰ）を記憶し得る。本明細書で説明されている技法のいくつかの実装にしたがうと、ビデオエンコーダ２０は、参照ブロック（複数を含む）のサンプルに適用されたスケーリングパラメータおよび／または参照ピクチャとして利用される全てのピクチャについてのグローバルスケーリングパラメータ（global scaling parameter）（たとえばスライスレベルスケーリング）を記憶し得る。参照サンプルのブロックがブロック分割の複数のＣＵと重複する（それにより、場合によっては区分にわたって異なるＱＰを有する）場合、ビデオエンコーダ２０は、複数の利用可能なＱＰから該ＱＰを導出し得る。たとえばビデオエンコーダ２０は、複数の利用可能なＱＰに対して平均化のプロセスを実施することによって、現在コーディングされているブロック１５２についてのＱＰを導出し得る。ビデオエンコーダ２０が、参照サンプルからの複数の利用可能なＱＰを平均化すること（averaging）によって、現在コーディングされているブロック１５２についてのＱＰ値を導出するのにしたがう実装の例が、以下の擬似コードによって説明される。
【０１３６】
Int sum= 0;
for (Int i=0; i < numMinPart; i++)
{
sum += m_phInferQP[COMPONENT_Y][uiAbsPartIdxInCTU + i];
}
avgQP = (sum)/numMinPart;
【０１３７】
[0128]  本明細書で説明されているＱＰ導出技法のまた別の実装では、ビデオエンコーダ２０は、たとえばルックアップテーブル（ＬＵＴ）から、ルーマ成分の平均輝度の関数としてＱＰを導出し得る。この実装は以下の擬似コードによって説明され、ここで「ａｖｇＰｒｅｄ」が参照サンプルの平均輝度である：
QP = PQ_LUT[avgPred];
【０１３８】
[0129]  本明細書で説明されているＱＰ導出技法のいくつかの実装にしたがうと、ビデオエンコーダ２０は、１つまたは複数のグローバルＱＰ値から参照ＱＰ値を導出し得る。グローバルＱＰ値の例は、スライスレベルで規定されるＱＰ値である。この実装は、以下の擬似コードによって説明される：
qp = (((Int) pcCU->getSlice()->getSliceQp() + iDQp + 52 + 2*qpBdOffsetY )%(52+ qpBdOffsetY)) - qpBdOffsetY;
【０１３９】
[0130]  本明細書で説明されているＱＰ導出技法のいくつかの実装にしたがうと、ビデオエンコーダ２０は、１つまたは複数の参照サンプル値を利用することによってＱＰ値を導出し得る。この実装は、以下の擬似コードによって説明される：
QP = PQ_LUT[avgPred];
【０１４０】
[0131]  上記擬似コードでは、「ＰＱ＿ＬＵＴ」は、ビデオエンコーダ２０が予測されたブロックの平均輝度（「ａｖｇＰｒｅｄ」）の値を、関連付けられたＰＱ値にマッピングするために利用し得るルックアップテーブルを表現する。ビデオエンコーダ２０は、参照サンプルの関数としてａｖｇＰｒｅｄの値を、たとえば参照サンプルの平均値を計算することによって、計算し得る。ビデオエンコーダ２０が本開示の算出にしたがって使用し得る平均値の例は、平均、メジアン、およびモード値のうちの１つまたは複数を含む。
【０１４１】
[0132]  いくつかの実装では、ビデオエンコーダ２０は、ＱＰ値の代わりにスケーリングパラメータを導出し得る。他の実装では、ビデオエンコーダ２０は、導出されたＱＰ値（複数を含む）をスケールパラメータ（複数を含む）に、またはその逆に転換する転換プロセスを使用し得る。いくつかの実装では、ビデオエンコーダ２０は、１つまたは複数の参照サンプルからＱＰ値を導出するために解析表現を利用し得る。たとえば、解析表現を利用するために、ビデオエンコーダ２０は、パラメータに関する導出モデルを使用し得る。
【０１４２】
[0133]  図１０は、本開示の技法を実装し得るビデオデコーダ３０の例を例示するブロック図である。図１０の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０、ビデオデータメモリ７１、動き補償ユニット７２、イントラ予測処理ユニット７４、逆量子化ユニット７６、逆変換処理ユニット７８、復号ピクチャバッファ８２、および加算器８０を含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図９）に関して説明された符号化パスと概して相互関係にある復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得る一方で、イントラ予測処理ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【０１４３】
[0134]  ビデオデータメモリ７１は、ビデオデコーダ３０のコンポーネントによって復号されるべき、符号化されたビデオビットストリームのようなビデオデータを記憶し得る。ビデオデータメモリ７１に記憶されたビデオデータは、たとえば、ビデオデータの有線またはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、コンピュータ可読媒体１６、たとえば、カメラのようなローカルビデオソースから取得され得る。ビデオデータメモリ７１は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコーディングされたピクチャバッファ（ＣＰＢ）を形成し得る。復号ピクチャバッファ８２は、たとえばイントラまたはインターコーディングモードで、ビデオデコーダ３０によってビデオデータを復号する際に使用される参照ビデオデータを記憶する復号ピクチャバッファであり得る。ビデオデータメモリ７１および復号ピクチャバッファ８２は、同期動的ランダムアクセスメモリ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスを含む動的ランダムアクセスメモリ（ＤＲＡＭ）のような、様々なメモリデバイスのうちの何れによっても形成され得る。ビデオデータメモリ７１および復号ピクチャバッファ８２は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例において、ビデオデータメモリ７１は、ビデオデコーダ３０の他のコンポーネントとオンチップであり得るか、それらのコンポーネントに対してオフチップであり得る。
【０１４４】
[0135]  復号プロセス中、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックおよび関連付けられたシンタックス要素を表現する符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化された係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動き補償ユニット７２に、動きベクトルおよび他のシンタックス要素を転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１４５】
[0136]  ビデオスライスがイントラコーディング（Ｉ）スライスとしてコーディングされるとき、イントラ予測処理ユニット７４は、現在のフレームまたはピクチャの前に復号されたブロックからのシグナリングされたイントラ予測モードおよびデータに基づいて、現在のビデオスライスのビデオブロックに関する予測データを生成し得る。ビデオフレームがインターコーディングされた（即ち、ＢまたはＰ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックについて予測ブロックを作り出す。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから作り出され得る。ビデオデコーダ３０は、復号ピクチャバッファ８２に記憶された参照ピクチャに基づきデフォルトの構築技法を使用して、参照ピクチャリスト、リスト０およびリスト１、を構築し得る。動き補償ユニット７２は、動きベクトルおよび他のシンタックス要素を解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在ビデオブロックについての予測ブロックを作り出すために該予測情報を使用する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）を決定するために受信されたシンタックス要素、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）、スライスのための参照ピクチャリストのうちの１つまたは複数についての構築情報、スライスの各インター符号化されたビデオブロックについての動きベクトル、スライスの各インターコーディングされたビデオブロックについてのインター予測ステータス、および現在のビデオスライス内のビデオブロックを復号するための他の情報のうちのいくつかを使用する。
【０１４６】
[0137]  動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、参照ブロックのサブ整数ピクセルについて補間される値を算出するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用されたような補間フィルタを使用し得る。このケースでは、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用される補間フィルタを決定し、予測ブロックを作り出すために補間フィルタを使用し得る。
【０１４７】
[0138]  逆量子化ユニット７６は、ビットストリームにおいて提供され、かつエントロピー復号ユニット７０によって復号された量子化された変換係数を、逆量子化する、即ち非量子化する。逆量子化プロセスは、量子化の程度と、また同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライスにおけるビデオブロック毎にビデオデコーダ３０によって算出される量子化パラメータＱＰＹの使用を含み得る。逆変換処理ユニット７８は、ピクセルドメインにおいて残差ブロックを作り出すために、変換係数に逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念上同様の逆変換プロセスを適用する。
【０１４８】
[0139]  動き補償ユニット７２が動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックについての予測ブロックを生成した後に、ビデオデコーダ３０は、動き補償ユニット７２によって生成された対応する予測ブロックで逆変換処理ユニット７８から残差ブロックを加算することによって復号されたビデオブロックを形成する。加算器８０は、この加算オペレーションを実行する１つまたは複数のコンポーネントを表現する。望ましい場合、デブロッキングフィルタもまた、ブロッキネスアーティファクトを取り除くために復号されたブロックをフィルタするように適用され得る。（コーディングループ内またはコーディングループ後のどちらかの）他のループフィルタもまた、ピクセル遷移を円滑にするために使用され得るか、または別の形でビデオ品質を改善し得る。所与のフレームまたはピクチャにおける復号されたビデオブロックはその後、後続の動き補償のために使用される参照ピクチャを記憶する復号ピクチャバッファ８２に記憶される。復号ピクチャバッファ８２はまた、図１のディスプレイデバイス３２のようなディスプレイデバイス上における後の表示のために復号されたビデオを記憶する。
【０１４９】
[0140]  ビデオデコーダ３０は、符号化されたビデオビットストリームにおいて、上で説明された技法のうちの１つまたは複数にしたがってビデオエンコーダ２０によって取得されたＱＰ値から導出されるデルタＱＰ値を受信し得る。デルタＱＰ値を使用して、ビデオデコーダ３０は、現在復号されているブロック、たとえば図８で例示されている現在コーディングされているブロック１５２に関するＱＰ値を取得し得る。代わりに、ビデオデコーダ３０は、ＱＰ値を使用して現在コーディングされているブロック１５２を非量子化し得る。
【０１５０】
[0141]  ビデオデコーダ３０が現在コーディングされているブロック１５２についてのスケーリングパラメータを受信する事例では、ビデオデコーダ３０は、オペランドとしてスケーリングされた値ＤＣ’およびＡＣ’を使用する様々と概して相互関係にある逆スケーリングプロセスを実施するためにスケーリングパラメータを使用し得る。つまりビデオデコーダ３０は、以下の数式によって表されているように逆スケーリングされたＤＣ係数ＤＣ’’および逆スケーリングされたＡＣ変換係数（inverse-scaled AC transform coefficient）ＡＣ’’を取得するために、スケーリングされたＤＣ変換係数（scaled DC transform coefficient）ＤＣ’およびスケーリングされたＡＣ変換係数（scaled AC transform coefficient）ＡＣ’を逆スケーリングするようにスケーリングパラメータを適用し得る。ビデオデコーダ３０は、以下の数式において例示されているような逆スケーリングオペレーションを実施し得る：
DC’’ = DC’/scale (fun1(DC’, avgPred));および
AC’’ = AC’/scale (fun2(DC’’, avgPred))
【０１５１】
[0142]  「ｆｕｎ１」および「ｆｕｎ２」という用語は、引数として参照サンプルの平均値およびＤＣベースの値を使用するスケール導出関数／プロセスを定義する。ビデオデコーダ３０によって実施される逆スケーリング技法に関して例示されているように、本開示の技法は、ＤＣ変換係数値とＡＣ変換係数値との両方の導出におけるＤＣ変換係数の使用を可能にする。このように、本開示の技法は、逆スケーリングオペレーションが変換係数の量子化および非量子化の代わりに実行されるかそれらと組み合わせて実行されるかに関わらず、ビデオデコーダ３０が、逆スケーリングオペレーションにおいてＤＣ変換係数値を活用することを可能にする。
【０１５２】
[0143]  図１１は、本開示の様々な態様にしたがった、ビデオデコーダ３０が実行し得る例となるプロセス１７０を例示するフローチャートである。プロセス１７０は、ビデオデコーダ３０が現在ブロック１５２の符号化表現を含む復号されたビデオビットストリームを受信するときに始まり得る（１７２）。ビデオデコーダ３０は、現在ブロック１５２についての時空間的近隣ＱＰ情報（spatio-temporal neighboring QP information）に基づくＱＰ値を再構築し得る（１７４）。たとえば、ビデオデコーダ３０は、符号化されたビデオビットストリームにおいてシグナリングされたデルタＱＰ値からＱＰを再構築し得る。再構築されたＱＰ値は、図８で例示されたブロック１５４〜１５８のうちの１つまたは複数からのＱＰ情報に基づき得る。上で論じられたように、ＱＰ値を再構築するために、ビデオデコーダ３０は、時空間的近隣ブロック１５４〜１５８のうちの２つ以上のＱＰ値を平均化して参照ＱＰ値を生み出し、その後該参照ＱＰ値にデルタＱＰ値を加えて最終的に現在ブロックについての再構築されたＱＰ値を生成し得る。次にビデオデコーダ３０（より具体的には、逆量子化ユニット７６）は、時空間的近隣ＱＰ情報に基づく再構築されたＱＰ値を使用して、現在ブロック１５２のＣＡＢＡＣ復号された変換係数を非量子化（即ち逆量子化）し得る（１７６）。いくつかの例では、ビデオデコーダ３０は、時空間的近隣のサンプルに基づいて、現在ブロック１５２のサンプルについての参照ＱＰ値を取得し得、現在ブロック１５２のサンプルを非量子化するためのＱＰ値を導出するために、参照ＱＰ値にデルタＱＰ値を加え得る。
【０１５３】
[0144]  図１２は、本開示の様々な態様にしたがった、ビデオデコーダ３０が実行し得る例となるプロセス１９０を例示するフローチャートである。プロセス１９０は、ビデオデコーダ３０が現在ブロック１５２の符号化表現を含む符号化されたビデオビットストリームを受信するときに始まり得る（１９２）。ビデオデコーダ３０は、現在ブロック１５２についての時空間的近隣スケーリング情報に基づくスケーリングパラメータを再構築し得る（１９４）。たとえば、再構築されたスケーリングパラメータは、図８で例示されたブロック１５４〜１５８のうちの１つまたは複数からのスケーリング情報に基づき得る。代わりに、ビデオデコーダ３０は、時空間的近隣ＱＰ情報に基づく再構築されたスケーリングパラメータを使用して現在ブロック１５２を逆スケーリングし得る（１９６）。いくつかの例では、ビデオデコーダ３０は、複数の逆スケーリングされたＤＣ変換係数（inverse-scaled DC transform coefficient）を取得するために、現在ブロック１５２の変換係数のうちの複数のＤＣ変換係数に第１の逆スケーリング導出プロセス（first inverse scaling derivation process）を適用し得、複数の逆スケーリングされたＡＣ変換係数を取得するために、現在ブロック１５２の変換係数のうちの複数の逆スケーリングされたＤＣ変換係数に第２の逆スケーリング導出プロセス（second inverse scaling derivation process）を適用し得る。
【０１５４】
[0145]  図１３は、本開示の様々な態様にしたがった、ビデオエンコーダ２０が実行し得る例となるプロセス２１０を例示するフローチャートである。プロセス２１０は、ビデオエンコーダ２０が現在ブロック１５２の時空間的近隣ＱＰ情報から現在ブロック１５２についてのＱＰ値を導出するときに始まり得る（２１２）。ビデオエンコーダ２０は、時空間的近隣ＱＰ情報から導出されたＱＰ値を使用して現在ブロック１５２を量子化し得る（２１４）。次に、ビデオエンコーダ２０は、符号化されたビデオビットストリームにおいて、時空間的近隣ＱＰ情報に基づくＱＰから導出されるデルタＱＰ値をシグナリングし得る（２１６）。いくつかの例では、ビデオエンコーダ２０は、空間的に近隣のブロック１５４および／または１５６、ならびに／あるいは時間的に近隣のブロック１５８のうちの２つ以上のサンプルに関連付けられた近隣ＱＰ値（neighbor QP value）を選択し得る。いくつかの例ではビデオエンコーダ２０は、平均ＱＰ値（average QP value）を取得するために選択された近隣ＱＰ値を平均化し得、平均ＱＰ値から現在ブロックについてのＱＰ値を導出し得る。いくつかの例では、ビデオエンコーダ２０は、時空間的近隣のサンプルに基づいて現在ブロック１５２のサンプルについての参照ＱＰ値を取得し得る。これらの例ではビデオエンコーダ２０は、現在ブロック１５２のサンプルについてのデルタ量子化パラメータ（ＱＰ）値（delta quantization parameter (QP) value）を導出するために、ＱＰ値から参照ＱＰ値を減算し得、符号化されたビデオビットストリームにおいてデルタＱＰ値をシグナリングし得る。
【０１５５】
[0146]  図１４は、本開示の様々な態様にしたがった、ビデオエンコーダ２０が実行し得る例となるプロセス２４０を例示するフローチャートである。プロセス２４０は、ビデオエンコーダ２０が現在ブロック１５２の時空間的近隣スケーリング情報から現在ブロック１５２についてのスケーリングパラメータを導出するときに始まり得る（２４２）。ビデオエンコーダ２０は、時空間的近隣スケーリング情報から導出されたスケーリングパラメータを使用して現在ブロック１５２をスケーリングし得る（２４４）。次に、ビデオエンコーダ２０は、符号化されたビデオビットストリームにおいて時空間的近隣スケーリング情報に基づくスケーリングパラメータをシグナリングし得る（２４６）。
【０１５６】
[0147]  上で説明されたように、開示されているシステムおよび技法はまた、信号の時空間的近隣からの量子化またはスケーリングパラメータの導出のためのいくつかのアルゴリズムを組み込むか、または含む。つまり本開示の例となるシステムおよび技法は、コーディングプロセスにおいて現在ブロックに関連付けられた残差データを修正するために使用される１つまたは複数のパラメータ値を取得することを対象としている。本明細書で使用される場合、残差データを修正するために使用されるパラメータ値は、（符号化プロセスまたは復号プロセスそれぞれで残差データを量子化または非量子化することによって残差データを修正するために使用される）量子化パラメータ、または（符号化プロセスまたは復号プロセスそれぞれで残差データをスケーリングまたは逆スケーリングすることによって残差データを修正するために使用される）スケーリングパラメータを含み得る。
【０１５７】
[0148]  本開示のある特定の態様は、例示の目的でＨＥＶＣ規格の拡張に関連して説明されてきた。しかしながら、本開示で説明されている技法は、まだ開発されていない他の規格の、または他の所有権を有するビデオコーディングプロセスを含む、他のビデオコーディングプロセスに有益であり得る。
【０１５８】
[0149]  本開示で説明されているようなビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングは、適用可能な場合、ビデオ符号化またはビデオ復号を指し得る。
【０１５９】
[0150]  例に依存して、本明細書で説明されている技法のうちの任意のものの特定の動作またはイベントが、異なるシーケンスで実行され得るか、加えられ得るか、混合され得るか、または完全に除外され得る（たとえば、全ての説明されている動作またはイベントが技法の実施のために必要であるわけではない）ことは認識されるものとする。さらにある特定の例では、動作またはイベントが、たとえば、マルチスレッド処理、割り込み処理、または複数のプロセッサを通して、シーケンシャルと言うよりむしろ同時に実行され得る。
【０１６０】
[0151]  １つまたは複数の例では、説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらのあらゆる組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上で１つまたは複数の命令またはコードとして記憶または送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルにしたがって、コンピュータプログラムの１つの場所から別の場所への転送を容易にするあらゆる媒体を含む通信媒体、またはデータ記憶媒体のような有体の媒体に対応するコンピュータ可読記憶媒体を含み得る。このように、コンピュータ可読媒体は、概して、（１）非一時的である有体のコンピュータ可読記憶媒体、または（２）信号または搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明されている技法の実装のための命令、コード、および／またはデータ構造を検索するために、１つまたは複数のコンピュータ、または１つまたは複数のプロセッサによってアクセスされ得るあらゆる利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０１６１】
[0152]  限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光学ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態で望ましいプログラムコードを記憶するために使用され、コンピュータによってアクセスされ得るあらゆる他の媒体を備え得る。また、何れの接続手段も、厳密にはコンピュータ可読媒体と称される。たとえば、命令が、ウェブサイトから、サーバから、または同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用する他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続手段、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的で有体の記憶媒体を対象としていることが理解されるべきである。ディスク（disk）およびディスク（disc）は、本明細書で使用される場合、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光学ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびブルーレイディスク（disc）を含み、ここで、ディスク（disk）は大抵、磁気的にデータを再生する一方で、ディスク（disc）は、レーザーを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１６２】
[0153]  命令は、１つまたは複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または、他の同等な集積またはディスクリート論理回路のような１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造、または本明細書で説明されている技法の実装に適したあらゆる他の構造のうちの何れも指し得る。加えていくつかの態様では、本明細書で説明されている機能は、符号化および復号のために構成された専用ハードウェアモジュールおよび／またはソフトウェアモジュール内で提供され得るか、あるいは組み合わせられたコデックに組み込まれ得る。また、技法は、１つまたは複数の回路あるいは論理要素において十分に実装され得るであろう。
【０１６３】
[0154]  本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえばチップセット）を含む、幅広い種類のデバイスまたは装置において実装され得る。様々なコンポーネント、モジュール、またはユニットが、開示されている技法を実行するように構成されたデバイスの機能的な態様を強調するために本開示で説明されているが、必ずしも異なるハードウェアユニットによる実現を要求しない。むしろ、上で説明されたように、様々なユニットがコデックハードウェアユニットで組み合わせられ得るか、あるいは適したソフトウェアおよび／またはファームウェアと連携した上で説明されたような１つまたは複数のプロセッサを含む、対話型（interoperative）ハードウェアユニットの集合によって提供され得る。
【０１６４】
[0155]  様々な例が説明されてきた。これらのおよび他の例は、次の請求項の範囲内にある。
【図１】
2019528017.tif 000013
【図２】
2019528017.tif 000014
【図３】
2019528017.tif 000015
【図４】
2019528017.tif 000016
【図５】
2019528017.tif 000017
【図６】
2019528017.tif 000018
【図７】
2019528017.tif 000019
【図８】
2019528017.tif 000020
【図９】
2019528017.tif 000021
【図１０】
2019528017.tif 000022
【図１１】
2019528017.tif 000023
【図１２】
2019528017.tif 000024
【図１３】
2019528017.tif 000025
【図１４】
2019528017.tif 000026
【手続補正書】
【提出日】平成31年4月23日(2019.4.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータの現在ブロックをコーディングする方法であって、
１つまたは複数の近隣のブロックを指す前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）に基づいて、前記現在ブロックの前記１つまたは複数の近隣のブロックを識別することと、前記近隣のブロックの各々は前記現在ブロックの時空間的近隣内に位置し、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックの時間的に近隣のブロックを含む、
前記現在ブロックに関連付けられた前記ＤＶによって指される前記１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づくパラメータ値を取得することと、
前記取得されたパラメータ値を使用して前記現在ブロックに関連付けられた残差データを修正することによって、前記ビデオデータの前記現在ブロックをコーディングすることと、
を備える方法。
【請求項２】
前記取得されたパラメータ値は量子化パラメータ（ＱＰ）値を備え、前記残差データを修正することは、前記ＱＰ値を使用して前記現在ブロックのサンプルを非量子化することを備える、請求項１に記載の方法。
【請求項３】
前記ＱＰ値を取得することは、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ（ＱＰ）値を受信することと、
前記現在ブロックに関連付けられた前記ＤＶによって指される前記近隣のブロックのサンプルに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記ＱＰ値を導出するために、前記参照ＱＰ値に前記デルタＱＰ値を加えることと、
を備える、請求項１に記載の方法。
【請求項４】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記残差データを修正することは、前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることを備える、請求項１に記載の方法。
【請求項５】
前記現在ブロックの前記変換係数を逆スケーリングすることは、
逆スケーリングされたＤＣ変換係数を取得するために、前記現在ブロックのＤＣ変換係数に第１の逆スケーリング導出プロセスを適用することと、
逆スケーリングされたＡＣ変換係数を取得するために、前記現在ブロックの前記逆スケーリングされたＤＣ変換係数に第２の逆スケーリング導出プロセスを適用することと、
を備える、請求項４に記載の方法。
【請求項６】
前記パラメータ値を取得することは量子化パラメータ（ＱＰ）値を取得することを備え、前記方法は、
前記現在ブロックに関連付けられた前記ＤＶによって指される前記識別された１つまたは複数の近隣のブロックのうちの２つ以上のサンプルに関連付けられた近隣ＱＰ値を選択することと、
平均ＱＰ値を取得するために、前記選択された近隣ＱＰ値を平均化することと、
前記平均ＱＰ値から前記現在ブロックについての前記ＱＰ値を導出することと、
を備え、
前記残差データを修正することは、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化することを備える、請求項１に記載の方法。
【請求項７】
前記現在ブロックに関連付けられた前記ＤＶによって指される識別された１つまたは複数の近隣のブロックに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ（ＱＰ）値を導出するために、前記ＱＰ値から前記参照ＱＰ値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタＱＰ値をシグナリングすることと、
をさらに備える、請求項６に記載の方法。
【請求項８】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記現在ブロックをコーディングすることは、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化することを備える、請求項１に記載の方法。
【請求項９】
前記現在ブロックの前記変換係数をスケーリングすることは、
前記現在ブロックの前記変換係数のうちの第１の複数のＤＣ変換係数に第１のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの第２の複数のＤＣ変換係数に第２のスケーリング導出プロセスを適用することと、
を備える、請求項８に記載の方法。
【請求項１０】
前記取得されたパラメータ値は、前記ビデオデータのスライスの全てのブロックに適用可能であるグローバルパラメータ値を備え、前記スライスは、前記ビデオデータの前記現在ブロックを含む、請求項１に記載の方法。
【請求項１１】
ビデオデータをコーディングするためのデバイスであって、
現在ブロックを含むビデオデータを記憶するように構成されたメモリと、
前記メモリと通信する処理回路と、
を備え、前記処理回路は、
１つまたは複数の近隣のブロックを指す前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）に基づいて、前記現在ブロックの前記１つまたは複数の近隣のブロックを識別することと、前記近隣のブロックの各々は前記現在ブロックの時空間的近隣内に位置し、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックの時間的に近隣のブロックを含む、
前記現在ブロックに関連付けられた前記ＤＶによって指される前記１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、
前記取得されたパラメータ値を使用して前記現在ブロックに関連付けられた残差データを修正することによって、前記メモリに記憶された前記ビデオデータの前記現在ブロックをコーディングすることと、
を行うように構成されるデバイス。
【請求項１２】
前記取得されたパラメータ値は量子化パラメータ（ＱＰ）値を備え、前記残差データを修正するために、前記処理回路は、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックのサンプルを非量子化することによって、前記現在ブロックを復号するように構成される、請求項１１に記載のデバイス。
【請求項１３】
前記ＱＰ値を取得するために、前記処理回路は、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ（ＱＰ）値を受信することと、
前記現在ブロックに関連付けられた前記ＤＶによって指される前記近隣のブロックのサンプルに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記ＱＰ値を導出するために、前記参照ＱＰ値に前記デルタＱＰ値を加えることと、
を行うように構成される、請求項１１に記載のデバイス。
【請求項１４】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記残差データを修正するために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることによって、前記現在ブロックを復号するように構成される、請求項１１に記載のデバイス。
【請求項１５】
前記現在ブロックの前記変換係数を逆スケーリングするために、前記処理回路は、
逆スケーリングされたＤＣ変換係数を取得するために、前記現在ブロックのＤＣ変換係数に第１の逆スケーリング導出プロセスを適用することと、
逆スケーリングされたＡＣ変換係数を取得するために、前記現在ブロックの前記逆スケーリングされたＤＣ係数に第２の逆スケーリング導出プロセスを適用することと、
を行うように構成される、請求項１４に記載のデバイス。
【請求項１６】
前記パラメータ値は量子化パラメータ（ＱＰ）値を備え、
前記ＱＰ値を取得するために、前記処理回路は、
前記現在ブロックに関連付けられた前記ＤＶによって指される識別された１つまたは複数の近隣のブロックのうちの２つ以上のサンプルに関連付けられた近隣ＱＰ値を選択することと、
平均ＱＰ値を取得するために、前記選択された近隣ＱＰ値を平均化することと、
前記平均ＱＰ値から前記現在ブロックについての前記ＱＰ値を導出することと、
を行うように構成され、
前記残差データを修正するために、前記処理回路は、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化するように構成される、請求項１１に記載のデバイス。
【請求項１７】
前記処理回路は、
前記現在ブロックに関連付けられた前記ＤＶによって指される識別された１つまたは複数の近隣のブロックに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ（ＱＰ）値を導出するために、前記ＱＰ値から前記参照ＱＰ値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタＱＰ値をシグナリングすることと、
を行うようにさらに構成される、請求項１６に記載のデバイス。
【請求項１８】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化するように構成される、請求項１１に記載のデバイス。
【請求項１９】
前記現在ブロックの前記変換係数をスケーリングするために、前記処理回路は、
前記現在ブロックの前記変換係数のうちの第１の複数のＤＣ変換係数に第１のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの第２の複数のＤＣ変換係数に第２のスケーリング導出プロセスを適用することと、
を行うように構成される、請求項１８に記載のデバイス。
【請求項２０】
前記取得されたパラメータ値は、前記ビデオデータのスライスの全てのブロックに適用可能であるグローバルパラメータ値を備え、前記スライスは、前記ビデオデータの前記現在ブロックを含む、請求項１１に記載のデバイス。
【請求項２１】
ビデオデータをコーディングするための装置であって、
１つまたは複数の近隣のブロックを指す現在ブロックに関連付けられた視差ベクトル（ＤＶ）に基づいて、前記ビデオデータの前記現在ブロックの前記１つまたは複数の近隣のブロックを識別するための手段と、前記近隣のブロックの各々は前記現在ブロックの時空間的近隣内に位置し、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックの時間的に近隣のブロックを含む、
前記ビデオデータの前記現在ブロックに関連付けられた前記ＤＶによって指される前記１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得するための手段と、
前記取得されたパラメータ値を使用して前記現在ブロックに関連付けられた残差データを修正することによって、前記ビデオデータの前記現在ブロックをコーディングするための手段と、
を備える装置。
【請求項２２】
命令で符号化された非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオコーディングデバイスの処理回路に、
１つまたは複数の近隣のブロックを指す現在ブロックに関連付けられた視差ベクトル（ＤＶ）に基づいて、ビデオデータの前記現在ブロックの前記１つまたは複数の近隣のブロックを識別することと、前記近隣のブロックの各々は前記現在ブロックの時空間的近隣内に位置し、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックの時間的に近隣のブロックを含む、
前記現在ブロックに関連付けられた前記ＤＶによって指される１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、
前記取得されたパラメータ値を使用して前記現在ブロックに関連付けられた残差データを修正することによって、前記ビデオデータの前記現在ブロックをコーディングすることと、
を行わせる、非一時的コンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１６４
【補正方法】変更
【補正の内容】
【０１６４】
[0155]  様々な例が説明されてきた。これらのおよび他の例は、次の請求項の範囲内にある。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータの現在ブロックをコーディングする方法であって、
前記現在ブロックの時空間的近隣内に位置する前記ビデオデータの１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づくパラメータ値を取得することと、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングすることと、
を備える方法。
［Ｃ２］
前記取得されたパラメータ値は量子化パラメータ（ＱＰ）値を備え、前記取得されたパラメータ値に基づく前記現在ブロックをコーディングすることは、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックのサンプルを非量子化することによって、前記現在ブロックを復号することを備える、Ｃ１に記載の方法。
［Ｃ３］
前記ＱＰ値を取得することは、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ（ＱＰ）値を受信することと、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記ＱＰ値を導出するために、前記参照ＱＰ値に前記デルタＱＰ値を加えることと、
を備える、Ｃ２に記載の方法。
［Ｃ４］
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることによって、前記現在ブロックを復号することを備える、Ｃ１に記載の方法。
［Ｃ５］
前記現在ブロックの前記変換係数を逆スケーリングすることは、
複数の逆スケーリングされたＤＣ変換係数を取得するために、前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第１の逆スケーリング導出プロセスを適用することと、
複数の逆スケーリングされたＡＣ変換係数を取得するために、前記現在ブロックの前記変換係数のうちの前記複数の逆スケーリングされたＤＣ変換係数に第２の逆スケーリング導出プロセスを適用することと、
を備える、Ｃ４に記載の方法。
［Ｃ６］
前記パラメータ値を取得することは量子化パラメータ（ＱＰ）値を取得することを備え、前記方法は、
前記空間的に近隣のブロックまたは前記時間的に近隣のブロックのうちの２つ以上のサンプルに関連付けられた近隣ＱＰ値を選択することと、
平均ＱＰ値を取得するために、前記選択された近隣ＱＰ値を平均化することと、
前記平均ＱＰ値から前記現在ブロックについての前記ＱＰ値を導出することと、
を備え、
前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化することを備える、Ｃ１に記載の方法。
［Ｃ７］
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ（ＱＰ）値を導出するために、前記ＱＰ値から前記参照ＱＰ値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタＱＰ値をシグナリングすることと、
をさらに備える、Ｃ６に記載の方法。
［Ｃ８］
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化することを備える、Ｃ１に記載の方法。
［Ｃ９］
前記現在ブロックの前記変換係数をスケーリングすることは、
前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第１のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第２のスケーリング導出プロセスを適用することと、
を備える、Ｃ８に記載の方法。
［Ｃ１０］
前記取得されたパラメータ値は、前記現在ブロックを含むスライスの全てのブロックに適用可能であるグローバルパラメータ値を備える、Ｃ１に記載の方法。
［Ｃ１１］
ビデオデータをコーディングするためのデバイスであって、
現在ブロックを含むビデオデータを記憶するように構成されたメモリと、
前記メモリと通信する処理回路と、
を備え、前記処理回路は、
前記メモリに記憶された前記ビデオデータの１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、前記１つまたは複数の近隣のブロックは、前記現在ブロックの時空間的近隣内に位置し、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記メモリに記憶された前記ビデオデータの前記現在ブロックをコーディングすることと、
を行うように構成されるデバイス。
［Ｃ１２］
前記取得されたパラメータ値は量子化パラメータ（ＱＰ）値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックのサンプルを非量子化することによって、前記現在ブロックを復号するように構成される、Ｃ１１に記載のデバイス。
［Ｃ１３］
前記ＱＰ値を取得するために、前記処理回路は、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ（ＱＰ）値を受信することと、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記ＱＰ値を導出するために、前記参照ＱＰ値に前記デルタＱＰ値を加えることと、
を行うように構成される、Ｃ１２に記載のデバイス。
［Ｃ１４］
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることによって、前記現在ブロックを復号するように構成される、Ｃ１１に記載のデバイス。
［Ｃ１５］
前記現在ブロックの前記変換係数を逆スケーリングするために、前記処理回路は、
複数の逆スケーリングされたＤＣ変換係数を取得するために、前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第１の逆スケーリング導出プロセスを適用することと、
複数の逆スケーリングされたＡＣ変換係数を取得するために、前記現在ブロックの前記変換係数のうちの前記複数の逆スケーリングされたＤＣ変換係数に第２の逆スケーリング導出プロセスを適用することと、
を行うように構成される、Ｃ１４に記載のデバイス。
［Ｃ１６］
前記パラメータ値は量子化パラメータ（ＱＰ）値を備え、
前記ＱＰ値を取得するために、前記処理回路は、
前記空間的に近隣のブロックまたは前記時間的に近隣のブロックのうちの２つ以上のサンプルに関連付けられた近隣ＱＰ値を選択することと、
平均ＱＰ値を取得するために、前記選択された近隣ＱＰ値を平均化することと、
前記平均ＱＰ値から前記現在ブロックについての前記ＱＰ値を導出することと、
を行うように構成され、
前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記ＱＰ値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化するように構成される、Ｃ１１に記載のデバイス。
［Ｃ１７］
前記処理回路は、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照ＱＰ値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ（ＱＰ）値を導出するために、前記ＱＰ値から前記参照ＱＰ値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタＱＰ値をシグナリングすることと、
を行うようにさらに構成される、Ｃ１６に記載のデバイス。
［Ｃ１８］
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化するように構成される、Ｃ１１に記載のデバイス。
［Ｃ１９］
前記現在ブロックの前記変換係数をスケーリングするために、前記処理回路は、
前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第１のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの複数のＤＣ変換係数に第２のスケーリング導出プロセスを適用することと、
を行うように構成される、Ｃ１８に記載のデバイス。
［Ｃ２０］
前記取得されたパラメータ値は、前記現在ブロックを含むスライスの全てのブロックに適用可能であるグローバルパラメータ値を備える、Ｃ１１に記載のデバイス。
［Ｃ２１］
ビデオデータをコーディングするための装置であって、
前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得するための手段と、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングするための手段と、
を備える装置。
［Ｃ２２］
命令で符号化された非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオコーディングデバイスの処理回路に、
前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの１つまたは複数の近隣のブロックに関連付けられた１つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する１つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル（ＤＶ）によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングすることと、
を行わせる、非一時的コンピュータ可読記憶媒体。
【国際調査報告】
2019528017.tif 000027
2019528017.tif 000028
2019528017.tif 000029