(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
前記ビデオデータのためのクロマサンプリングフォーマットを決定することと、
前記クロマサンプリングフォーマットが４：４：４であることに応答して、ピクチャパラメータセット（ＰＰＳ）中で、前記ＰＰＳを参照する前記ビデオデータのピクチャについて適応色変換が有効にされるかどうかを示すシンタックス要素を受信することと、ここにおいて、前記適応色変換が有効にされているとき、前記クロマサンプリングフォーマットは、必ず４：４：４である、
適応色変換が有効にされていることに応答して、前記ＰＰＳ中で、１つまたは複数のＰＰＳレベルのオフセット値を受信することと、
適応色変換が有効にされていることに応答して、前記ＰＰＳを参照するスライスのスライスヘッダ中で、１つまたは複数のスライスレベルのオフセット値を受信することと、
前記１つまたは複数のＰＰＳレベルのオフセット値および前記１つまたは複数のスライスレベルのオフセット値に基づいて、前記スライスの１つまたは複数のブロックについての量子化パラメータを決定することと、
前記決定された量子化パラメータに基づいて変換係数を量子化解除することと
を備える、方法。
【請求項２】
前記ビデオデータの１つまたは複数の第２のブロックについて、前記ビデオデータのためのクロマサンプリングフォーマットが４：４：４以外のクロマサンプリングフォーマットであると決定することと、
前記クロマサンプリングフォーマットが４：４：４以外であることに基づいて、前記１つまたは複数の第２のブロックについて適応色変換が無効にされると決定することと
をさらに備える、請求項１に記載の方法。
【請求項３】
前記１つまたは複数の第２のブロックについて適応色変換が無効にされると決定することは、前記クロマサンプリングフォーマットの指示以外に、適応色変換が無効にされるかどうかを示すシンタックス要素を受信することなしに、前記１つまたは複数の第２のブロックについて適応色変換が無効にされると決定することを備える、請求項２に記載の方法。
【請求項４】
前記１つまたは複数のオフセット値が、第１の色成分についてのオフセット値と、第２の色成分についてのオフセット値と、第３の色成分についてのオフセット値とを備える、請求項１に記載の方法。
【請求項５】
前記量子化パラメータは、第１の色空間の第１の色成分についての量子化パラメータを備え、前記第１の色空間の前記第１の色成分についての前記量子化パラメータを決定することは、
第２の色空間の第１の色成分についての量子化パラメータに前記１つまたは複数のＰＰＳレベルのオフセット値のうちの１つ、および前記１つまたは複数のスライスレベルのオフセット値のうちの１つを加算することによって、前記第２の色空間の前記第１の色成分についての前記量子化パラメータを、前記第１の色空間の前記第１の色成分についての前記量子化パラメータにコンバートすることを備える、
請求項１に記載の方法。
【請求項６】
前記第１の色空間がＲＧＢ色空間を備え、前記第２の色空間がＹＣｂＣｒ色空間を備える、請求項５に記載の方法。
【請求項７】
ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータメモリ、
１つまたは複数のプロセッサ
を備え、前記１つまたは複数のプロセッサは、
前記ビデオデータのためのクロマサンプリングフォーマットを決定することと、
前記クロマサンプリングフォーマットが４：４：４であることに応答して、ピクチャパラメータセット（ＰＰＳ）中で、前記ＰＰＳを参照する前記ビデオデータのピクチャについて適応色変換が有効にされるかどうかを示すシンタックス要素を受信することと、ここにおいて、前記適応色変換が有効にされているとき、前記クロマサンプリングフォーマットは、必ず４：４：４である、
適応色変換が有効にされていることに応答して、前記ＰＰＳ中で、１つまたは複数のＰＰＳレベルのオフセット値を受信することと、
適応色変換が有効にされていることに応答して、前記ＰＰＳを参照するスライスのスライスヘッダ中で、１つまたは複数のスライスレベルのオフセット値を受信することと、
前記１つまたは複数のＰＰＳレベルのオフセット値および前記１つまたは複数のスライスレベルのオフセット値に基づいて、前記スライスの１つまたは複数のブロックについての量子化パラメータを決定することと、
前記決定された量子化パラメータに基づいて変換係数を量子化解除することと
を行うように構成された、デバイス。
【請求項８】
前記１つまたは複数のプロセッサは、
前記ビデオデータの１つまたは複数の第２のブロックについて、前記ビデオデータのためのクロマサンプリングフォーマットが４：４：４以外のクロマサンプリングフォーマットであると決定することと、
前記クロマサンプリングフォーマットが４：４：４以外であることに基づいて、前記１つまたは複数の第２のブロックについて適応色変換が無効にされると決定することと
を行うようにさらに構成された、請求項７に記載のデバイス。
【請求項９】
前記１つまたは複数の第２のブロックについて適応色変換が無効にされると決定するために、前記１つまたは複数のプロセッサは、前記クロマサンプリングフォーマットの指示以外に、適応色変換が無効にされるかどうかを示すシンタックス要素を受信することなしに、前記１つまたは複数の第２のブロックについて適応色変換が無効にされると決定するようにさらに構成された、請求項８に記載のデバイス。
【請求項１０】
前記デバイスが、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項７に記載のデバイス。
【請求項１１】
前記デバイスがワイヤレス通信デバイスを備え、
符号化ビデオデータを受信するように構成された受信機
をさらに備える、請求項７に記載のデバイス。
【請求項１２】
前記ワイヤレス通信デバイスが電話を備え、ここにおいて、前記受信機が、ワイヤレス電気通信規格に従って変調された信号中で前記符号化ビデオデータを受信するように構成された、請求項１１に記載のデバイス。
【請求項１３】
前記１つまたは複数のオフセット値が、第１の色成分についてのオフセット値と、第２の色成分についてのオフセット値と、第３の色成分についてのオフセット値とを備える、請求項７に記載のデバイス。
【請求項１４】
前記量子化パラメータは、第１の色空間の第１の色成分についての量子化パラメータを備え、前記１つまたは複数のプロセッサは、
第２の色空間の第１の色成分についての量子化パラメータに前記１つまたは複数のＰＰＳレベルのオフセット値のうちの１つ、および前記１つまたは複数のスライスレベルのオフセット値のうちの１つを加算することによって、前記第２の色空間の前記第１の色成分についての前記量子化パラメータを、前記第１の色空間の前記第１の色成分についての前記量子化パラメータにコンバートすることによって、前記第１の色空間の前記第１の色成分についての前記量子化パラメータを決定すること、
を行うようにさらに構成された、請求項７に記載のデバイス。
【請求項１５】
前記第１の色空間がＲＧＢ色空間を備え、前記第２の色空間がＹＣｂＣｒ色空間を備える、請求項１４に記載のデバイス。
【請求項１６】
ビデオデータを復号するための装置であって、前記装置は、
前記ビデオデータのためのクロマサンプリングフォーマットを決定するための手段と、
前記クロマサンプリングフォーマットが４：４：４であることに応答して、ピクチャパラメータセット（ＰＰＳ）中で、前記ＰＰＳを参照する前記ビデオデータのピクチャについて適応色変換が有効にされるかどうかを示すシンタックス要素を受信するための手段と、ここにおいて、前記適応色変換が有効にされているとき、前記クロマサンプリングフォーマットは、必ず４：４：４である、
適応色変換が有効にされていることに応答して、前記ＰＰＳ中で、１つまたは複数のＰＰＳレベルのオフセット値を受信するための手段と、
適応色変換が有効にされていることに応答して、前記ＰＰＳを参照するスライスのスライスヘッダ中で、１つまたは複数のスライスレベルのオフセット値を受信するための手段と、
前記１つまたは複数のＰＰＳレベルのオフセット値および前記１つまたは複数のスライスレベルのオフセット値に基づいて、前記スライスの１つまたは複数のブロックについての量子化パラメータを決定するための手段と、
前記決定された量子化パラメータに基づいて変換係数を量子化解除するための手段と
を備える、装置。
【請求項１７】
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
ビデオデータのためのクロマサンプリングフォーマットを決定することと、
前記クロマサンプリングフォーマットが４：４：４であることに応答して、ピクチャパラメータセット（ＰＰＳ）中で、前記ＰＰＳを参照する前記ビデオデータのピクチャについて適応色変換が有効にされるかどうかを示すシンタックス要素を受信することと、ここにおいて、前記適応色変換が有効にされているとき、前記クロマサンプリングフォーマットは、必ず４：４：４である、
適応色変換が有効にされていることに応答して、前記ＰＰＳ中で、１つまたは複数のＰＰＳレベルのオフセット値を受信することと、
適応色変換が有効にされていることに応答して、前記ＰＰＳを参照するスライスのスライスヘッダ中で、１つまたは複数のスライスレベルのオフセット値を受信することと、
前記１つまたは複数のＰＰＳレベルのオフセット値および前記１つまたは複数のスライスレベルのオフセット値に基づいて、前記スライスの１つまたは複数のブロックについての量子化パラメータを決定することと、
前記決定された量子化パラメータに基づいて変換係数を量子化解除することと
を行わせる命令を記憶するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その内容全体が本明細書に組み込まれる、２０１４年１０月７日に出願された米国仮特許出願第６２／０６１，０９９号、および２０１４年１０月１５日に出願された米国仮特許出願第６２／０６４，３４７号の利益を主張する。
【０００２】
[0002]本開示は、ビデオ符号化またはビデオ復号など、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間（ピクチャ内）予測および／または時間（ピクチャ間）予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもある、ビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間予測または時間予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]本開示は、色空間コンバージョンコーディング（color-space conversion coding）が使用されるときに量子化パラメータを決定することに関する技法について説明し、さらに、本開示は、色空間コンバージョンコーディングが使用されるときに量子化パラメータをシグナリングするために使用される、ビデオデータの符号化ビットストリーム中の様々なシンタックス要素を生成およびパースするための技法について説明する。
【０００７】
[0007]一例では、ビデオデータを復号する方法は、ビデオデータのためのクロマサンプリングフォーマットに基づいて、ビデオデータの１つまたは複数のブロックについて、適応色変換（adaptive color transform）が有効にされる（enabled）と決定することと、適応色変換が有効にされると決定したことに基づいて、１つまたは複数のブロックについての量子化パラメータを決定することと、決定された量子化パラメータに基づいて変換係数を量子化解除（dequantize）することとを含む。
【０００８】
[0008]別の例では、ビデオデータを復号するためのデバイスは、ビデオデータメモリと、１つまたは複数のプロセッサとを含み、１つまたは複数のプロセッサは、ビデオデータのためのクロマサンプリングフォーマットに基づいて、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、適応色変換が有効にされると決定したことに基づいて、１つまたは複数のブロックについての量子化パラメータを決定することと、決定された量子化パラメータに基づいて変換係数を量子化解除することとを行うように構成される。
【０００９】
[0009]別の例では、ビデオデータを復号するための装置は、ビデオデータのためのクロマサンプリングフォーマットに基づいて、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定するための手段と、適応色変換が有効にされると決定したことに基づいて、１つまたは複数のブロックについての量子化パラメータを決定するための手段と、決定された量子化パラメータに基づいて変換係数を量子化解除するための手段とを含む。
【００１０】
[0010]別の例では、コンピュータ可読媒体は、１つまたは複数のプロセッサによって実行されたとき、１つまたは複数のプロセッサに、ビデオデータのためのクロマサンプリングフォーマットに基づいて、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、適応色変換が有効にされると決定したことに基づいて、１つまたは複数のブロックについての量子化パラメータを決定することと、決定された量子化パラメータに基づいて変換係数を量子化解除することとを行わせる命令を記憶する。
【００１１】
[0011]別の例では、ビデオデータを復号する方法は、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、適応色変換が有効にされていることに応答して、ピクチャパラメータセット中で１つまたは複数のオフセット値を受信することと、１つまたは複数のオフセット値のうちの第１のオフセット値に基づいて第１の色空間の第１の色成分についての量子化パラメータを決定することと、量子化パラメータに基づいて変換係数を量子化解除することとを含む。
【００１２】
[0012]別の例では、ビデオデータを復号するためのデバイスは、ビデオデータメモリ、１つまたは複数のプロセッサを含み、１つまたは複数のプロセッサは、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、適応色変換が有効にされていることに応答して、ピクチャパラメータセット中で１つまたは複数のオフセット値を受信することと、１つまたは複数のオフセット値のうちの第１のオフセット値に基づいて第１の色空間の第１の色成分についての量子化パラメータを決定することと、量子化パラメータに基づいて変換係数を量子化解除することとを行うように構成される。
【００１３】
[0013]ビデオデータを復号するための装置は、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定するための手段と、適応色変換が有効にされていることに応答して、ピクチャパラメータセット中で１つまたは複数のオフセット値を受信するための手段と、１つまたは複数のオフセット値のうちの第１のオフセット値に基づいて第１の色空間の第１の色成分についての量子化パラメータを決定するための手段と、量子化パラメータに基づいて変換係数を量子化解除するための手段とを含む。
【００１４】
[0014]別の例では、コンピュータ可読媒体は、１つまたは複数のプロセッサによって実行されたとき、１つまたは複数のプロセッサに、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、適応色変換が有効にされていることに応答して、ピクチャパラメータセット中で１つまたは複数のオフセット値を受信することと、１つまたは複数のオフセット値のうちの第１のオフセット値に基づいて第１の色空間の第１の色成分についての量子化パラメータを決定することと、量子化パラメータに基づいて変換係数を量子化解除することとを行わせる命令を記憶する。
【００１５】
本開示の１つまたは複数の例の詳細が添付の図面および以下の説明に記載されている。本開示の他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１６】
【図１】本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２Ａ】ビデオデータのためのサンプルフォーマットを示す概念図。
【図２Ｂ】ビデオデータのための異なるサンプルフォーマットを示す概念図。
【図２Ｃ】ビデオデータのための異なるサンプルフォーマットを示す概念図。
【図３】４：２：０サンプルフォーマットに従ってフォーマットされた１６×１６コーディングユニットを示す概念図。
【図４】４：２：２サンプルフォーマットに従ってフォーマットされた１６×１６コーディングユニットを示す概念図。
【図５】本開示の１つまたは複数の技法による、イントラ８×８ブロックのためのターゲットブロックと参照サンプルとの一例を示す概念図。
【図６】本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図７】本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図８】本開示の１つまたは複数の態様による、色変換を使用して、ＲＧＢ色空間を有するビデオデータを、第２の色空間を有するビデオデータに変換するための技法を利用し得るビデオエンコーダの別の例を示すブロック図。
【図９】本開示の１つまたは複数の態様による、逆色変換を使用して、第１の色空間を有するビデオデータのブロックを、第２のＲＧＢ色空間を有するビデオデータビデオデータのブロックに逆変換するための技法を利用し得るビデオデコーダの別の例を示すブロック図。
【図１０】本開示の技法による例示的なビデオ復号方法を示すフローチャート。
【図１１】本開示の技法による例示的なビデオ符号化方法を示すフローチャート。
【図１２】本開示の技法による例示的なビデオ復号方法を示すフローチャート。
【図１３】本開示の技法による例示的なビデオ符号化方法を示すフローチャート。
【図１４】本開示の技法による例示的なビデオ復号方法を示すフローチャート。
【発明を実施するための形態】
【００１７】
本開示は、適応色変換量子化パラメータ導出に関する技法について説明する。本開示は、適応色変換が使用されるときにどのように量子化パラメータ導出するかに関する様々な問題を識別し、これらの問題に対処するための解決策を提案する。本開示は、最近確定された高効率ビデオコーディング（ＨＥＶＣ）規格の新生のスクリーンコンテンツコーディング（ＳＣＣ：screen content coding）拡張および範囲拡張（ＲＥｘｔ：range extension）に関する技法を含むビデオコーディング技法について説明する。ＳＣＣおよび範囲拡張は、高ビット深度（たとえば８ビット超）、および／または４：４：４、４：２：２、４：２：０、４：０：０などの異なるクロマサンプリングフォーマットを潜在的にサポートするように設計されており、したがって、ベースＨＥＶＣ規格中に含まれない新しいコーディングツールを含むように設計されている。
【００１８】
１つのそのようなコーディングツールは色空間コンバージョンコーディングである。色空間コンバージョンコーディングでは、ビデオエンコーダは、より良いコーディング品質（たとえば、より良いレートひずみトレードオフ）を達成するために第１の色空間（たとえば、ＹＣｂＣｒ）から、第２の色空間（たとえば、ＲＧＢ）に残差データをコンバートし得る。残差データの色空間にかかわらず、ビデオエンコーダは、一般に、残差データを変換係数に変換し、変換係数を量子化する。ビデオデコーダは残差データを再構成するために、変換係数を量子化解除し、変換係数を逆変換する逆プロセスを実行する。ビデオエンコーダは、ビデオデータの符号化ビットストリーム中に含めるために、変換係数レベルを量子化する際に使用されるスケーリングの量を示す量子化パラメータを生成する。ビデオデコーダは、ビデオエンコーダによって使用される量子化パラメータを決定するためにビットストリームをパースする。量子化パラメータはまた、デブロックフィルタ処理など、他のビデオコーディングプロセスによって使用され得る。
【００１９】
本開示は、色空間コンバージョンコーディングが使用されるときに量子化パラメータを決定することに関する技法について説明し、さらに、本開示は、色空間コンバージョンコーディングが使用されるときにビデオデータの符号化ビットストリームの一部としてエンコーダからデコーダに量子化パラメータをシグナリングするための技法について説明する。
【００２０】
図１は、ＩＢＣモードでブロックをコーディングするための技法と並列処理のための技法とを含む、本開示で説明する技法を利用し得る、例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されているように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信のために装備され得る。
【００２１】
宛先デバイス１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク１６は、ソースデバイス１２が、符号化ビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２２】
代替的に、符号化データは出力インターフェース２２からストレージデバイス１７に出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイス１７からアクセスされ得る。ストレージデバイス１７は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス１７は、ソースデバイス１２によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイス１７から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、（たとえば、Ｗｉ−Ｆｉ（登録商標）などのワイヤレスローカルエリアネットワーク規格、またはＬＴＥ（登録商標）などのワイヤレス電気通信規格、または別のセルラー通信規格を含む、そのようなワイヤレス規格に従って変調される）ワイヤレスチャネル、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。ストレージデバイス１７からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００２３】
本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２４】
図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００２５】
キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に直接送信され得る。符号化ビデオデータは、さらに（または代替的に）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのためにストレージデバイス１７上に記憶され得る。
【００２６】
宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信され、またはストレージデバイス１７上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される符号化ビデオデータに含まれ得る。
【００２７】
ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、さらに外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００２８】
ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣなどのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）に準拠し得る。「ＨＥＶＣワーキングドラフト１０」または「ＨＥＶＣ  ＷＤ１０」と呼ばれるＨＥＶＣ規格のワーキングドラフトは、Ｂｒｏｓｓら、「Editors’ proposed corrections to HEVC version 1」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaborative Team on Video Coding）、第１３回会議、仁川、韓国、２０１３年４月に記載されている。別のＨＥＶＣドラフト仕様は、http://phenix.int-evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC-O1003-v2.zipから入手可能である。本開示で説明する技法はまた、現在開発中であるＨＥＶＣ規格の拡張に従って動作し得る。
【００２９】
代替または追加として、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としては、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびそれのスケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４がある。
【００３０】
ＨＥＶＣの設計は、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのＪＣＴ−ＶＣによって最近確定された。ＨＥＶＣ  ＲＥｘｔと呼ばれるＨＥＶＣへの範囲拡張も、ＪＣＴ−ＶＣによって開発されている。以下でＲＥｘｔ  ＷＤ７と呼ばれる、範囲拡張の最近のワーキングドラフト（ＷＤ）が、http://phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1005-v4.zipから入手可能である。
【００３１】
本開示は、概して、最近確定されたＨＥＶＣ仕様テキストをＨＥＶＣバージョン１またはベースＨＥＶＣと呼ぶ。範囲拡張仕様は、ＨＥＶＣのバージョン２になり得る。動きベクトル予測など、多くのコーディングツールに関して、ＨＥＶＣバージョン１と範囲拡張仕様とは、技術的に同様である。したがって、本開示がＨＥＶＣバージョン１に対する変更について説明するときはいつでも、概して、ベースＨＥＶＣ仕様＋いくつかの追加のコーディングツールを含む範囲拡張仕様にも、同じ変更が適用され得る。さらに、概して、ＨＥＶＣ範囲拡張を実装するデコーダにもＨＥＶＣバージョン１モジュールが組み込まれ得ると仮定され得る。
【００３２】
動きがあるテキストおよびグラフィックスなど、スクリーンコンテンツ材料のための新しいコーディングツールが、現在開発中であり、ＨＥＶＣの将来のバージョンを含む将来のビデオコーディング規格中に含めることが企図されている。これらの新しいコーディングツールは、スクリーンコンテンツのためのコーディング効率を潜在的に改善する。新規の専用コーディングツールを用いてスクリーンコンテンツの特性を活用することによってコーディング効率の有意な改善が得られ得るという証拠があるので、ＳＣＣ）のための特定のツールを含む、ＨＥＶＣ規格の場合によっては将来の拡張を開発することを目標とした提案の募集（ＣｆＰ）が発行されている。企業および団体は、この募集に応答して提案を提出するように勧誘されている。このＣｆＰの使用事例および要件が、ＭＰＥＧドキュメントＮ１４１７４に記載されている。第１７回ＪＣＴ−ＶＣ会議中に、ＳＣＣテストモデル（ＳＣＭ：SCC test model）が確立された。最近のＳＣＣワーキングドラフト（ＷＤ）はＪＣＴＶＣ−Ｕ１００５であり、http://phenix.int-evry.fr/jct/doc_end_user/documents/21_Warsaw/wg11/JCTVC-U1005-v1.zipにおいて入手可能である。
【００３３】
本開示は、ソースデバイス１２のビデオエンコーダ２０が、これらの現在または将来の規格のいずれかに従ってビデオデータを符号化するように構成され得ることを企図する。同様に、本開示はまた、宛先デバイス１４のビデオデコーダ３０が、これらの現在または将来の規格のいずれかに従ってビデオデータを復号するように構成され得ることを企図する。
【００３４】
図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれ、オーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３５】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００３６】
上記で紹介したように、ＪＣＴ−ＶＣはＨＥＶＣ規格の開発を最近確定した。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づいていた。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを与えるが、ＨＭは３５個ものイントラ予測符号化モードを与え得る。
【００３７】
ＨＥＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、ＳL、ＳCb、およびＳCrと示される３つのサンプルアレイを含み得る。ＳLはルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbはＣｂクロミナンスサンプルの２次元アレイである。ＳCrはＣｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【００３８】
ピクチャの符号化表現を生成するために、ビデオエンコーダ２０はコーディングツリーユニット（ＣＴＵ：coding tree unit）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックはサンプルのＮ×Ｎブロックであり得る。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ：largest coding unit）と呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなど、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のＣＴＵを含み得る。
【００３９】
コード化ＣＴＵを生成するために、ビデオエンコーダ２０は、コーディングツリーブロックをコーディングブロックに分割するためにＣＴＵのコーディングツリーブロックに対して４分木区分を再帰的に実行し得、したがって「コーディングツリーユニット」という名称がある。コーディングブロックはサンプルのＮ×Ｎブロックであり得る。ＣＵは、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００４０】
ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックである。ＣＵの予測ユニット（ＰＵ：prediction unit）は、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロックとＣｂ予測ブロックとＣｒ予測ブロックとのための予測ルーマブロックと予測Ｃｂブロックと予測Ｃｒブロックとを生成し得る。
【００４１】
ビデオエンコーダ２０は、ＰＵのための予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいてＰＵの予測ブロックを生成し得る。ビデオエンコーダ２０が、ＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【００４２】
ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックを生成した後、ビデオエンコーダ２０は、ＣＵのためのルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つ中のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差を示す。さらに、ビデオエンコーダ２０はＣＵのためのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つ中のＣｂサンプルとＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差を示し得る。ビデオエンコーダ２０は、ＣＵのためのＣｒ残差ブロックをも生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つ中のＣｒサンプルとＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差を示し得る。
【００４３】
さらに、ビデオエンコーダ２０は、ＣＵのルーマ残差ブロックとＣｂ残差ブロックとＣｒ残差ブロックとを１つまたは複数のルーマ変換ブロックとＣｂ変換ブロックとＣｒ変換ブロックとに分解するために４分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形（たとえば、正方形または非正方形）ブロックである。ＣＵの変換ユニット（ＴＵ：transform unit）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連付けられ得る。ＴＵに関連付けられたルーマ変換ブロックはＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックはＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックはＣＵのＣｒ残差ブロックのサブブロックであり得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００４４】
ビデオエンコーダ２０は、ＴＵのためのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用し得る。係数ブロックは変換係数の２次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ２０は、ＴＵのためのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵのためのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用し得る。
【００４５】
係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後に、ビデオエンコーダ２０は、係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。ビデオエンコーダ２０が係数ブロックを量子化した後に、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）を実行し得る。
【００４６】
ビデオエンコーダ２０は、コード化ピクチャと関連データとの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、ＮＡＬユニットのシーケンスを備え得る。ＮＡＬユニットは、ＮＡＬユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが点在させられたＲＢＳＰの形態でそのデータを含んでいるバイトとを含んでいる、シンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ＲＢＳＰをカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの事例では、ＲＢＳＰは０ビットを含む。
【００４７】
異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、第１のタイプのＮＡＬユニットはＰＰＳのためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットはコード化スライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットはＳＥＩメッセージのためのＲＢＳＰをカプセル化し得、以下同様である。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰとは対照的に）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ＶＣＬ  ＮＡＬユニットと呼ばれることがある。
【００４８】
ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。さらに、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得するために、ビットストリームをパースし得る。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ２０によって実行されるプロセスの逆であり得る。さらに、ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた係数ブロックを逆量子化（inverse quantize）し得る。ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた変換ブロックを再構成するために係数ブロックに対して逆変換を実行し得る。ビデオデコーダ３０は、現在ＣＵのＰＵのための予測ブロックのサンプルを現在ＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在ＣＵのコーディングブロックを再構成し得る。ピクチャの各ＣＵのためのコーディングブロックを再構成することによって、ビデオデコーダ３０はピクチャを再構成し得る。
【００４９】
クロマフォーマットと呼ばれることもあるビデオサンプリングフォーマットは、ＣＵ中に含まれるルーマサンプルの数に対して、ＣＵ中に含まれるクロマサンプルの数を定義し得る。クロマ成分のためのビデオサンプリングフォーマットに応じて、Ｕ成分およびＶ成分の、サンプルの数に関するサイズは、Ｙ成分のサイズと同じであるかまたはそれとは異なり得る。ＨＥＶＣ規格では、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃと呼ばれる値が、ルーマ成分に対して、クロマ成分の異なるサンプリングフォーマットを示すように定義される。ＨＥＶＣでは、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃはＳＰＳ中でシグナリングされる。表１は、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃの値と、関連するクロマフォーマットとの間の関係を示す。
【表１】
0006549223.tif 000002
【００５０】
表１では、変数ＳｕｂＷｉｄｔｈＣおよびＳｕｂＨｅｉｇｈｔＣが、ルーマ成分のためのサンプルの数と各クロマ成分のためのサンプルの数との間の、水平および垂直のサンプリングレートの比を示すために使用され得る。表１に記載されているクロマフォーマットでは、２つのクロマ成分は同じサンプリングレートを有する。したがって、４：２：０サンプリングでは、２つのクロマアレイの各々はルーマアレイの半分の高さと半分の幅とを有するが、４：２：２サンプリングでは、２つのクロマアレイの各々はルーマアレイの同じ高さと半分の幅とを有する。４：４：４サンプリングでは、２つのクロマアレイの各々はルーマアレイと同じ高さと幅とを有し得、または場合によっては、３つの色平面はすべて、モノクロームサンプリングされたピクチャとして別個に処理され得る。
【００５１】
表１の例では、４：２：０フォーマットの場合、水平方向と垂直方向の両方について、ルーマ成分のためのサンプリングレートは、クロマ成分のサンプリングレートの２倍である。結果として、４：２：０フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分のためのサンプルのアレイの幅および高さは、クロマ成分のためのサンプルの各アレイの幅および高さの２倍である。同様に、４：２：２フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分のためのサンプルのアレイの幅は、各クロマ成分のためのサンプルのアレイの幅の２倍であるが、ルーマ成分のためのサンプルのアレイの高さは、各クロマ成分のためのサンプルのアレイの高さに等しい。４：４：４フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分のためのサンプルのアレイは、各クロマ成分のためのサンプルのアレイと同じ幅と高さとを有する。ＹＵＶ色空間に加えて、ビデオデータはＲＧＢ空間色に従って定義され得ることに留意されたい。このようにして、本明細書で説明するクロマフォーマットはＹＵＶ色空間またはＲＧＢ色空間のいずれかに適用され得る。ＲＧＢクロマフォーマットは、一般に、赤サンプルの数と、緑サンプルの数と、青サンプルの数とが等しくなるようにサンプリングされる。したがって、本明細書で使用する「４：４：４クロマフォーマット」という用語は、ＹＵＶ色空間またはＲＧＢ色空間のいずれかを指すことがあり、ここにおいて、サンプルの数はすべての色成分について等しい。
【００５２】
図２Ａ〜図２Ｃは、ビデオデータのための異なるサンプルフォーマットを示す概念図である。図２Ａは、４：２：０サンプルフォーマットを示す概念図である。図２Ａに示されているように、４：２：０サンプルフォーマットの場合、クロマ成分はルーマ成分の４分の１のサイズである。したがって、４：２：０サンプルフォーマットに従ってフォーマットされたＣＵの場合、クロマ成分のサンプルごとに４つのルーマサンプルがある。図２Ｂは、４：２：２サンプルフォーマットを示す概念図である。図２Ｂに示されているように、４：２：２サンプルフォーマットの場合、クロマ成分はルーマ成分の２分の１のサイズである。したがって、４：２：２サンプルフォーマットに従ってフォーマットされたＣＵの場合、クロマ成分のサンプルごとに２つのルーマサンプルがある。図２Ｃは、４：４：４サンプルフォーマットを示す概念図である。図２Ｃに示されているように、４：４：４サンプルフォーマットの場合、クロマ成分はルーマ成分と同じサイズである。したがって、４：４：４サンプルフォーマットに従ってフォーマットされたＣＵの場合、クロマ成分のサンプルごとに１つのルーマサンプルがある。
【００５３】
図３は、４：２：０サンプルフォーマットに従ってフォーマットされた１６×１６コーディングユニットの一例を示す概念図である。図３は、ＣＵ内のルーマサンプルに対するクロマサンプルの相対位置を示す。上記で説明したように、ＣＵは、一般に、水平方向および垂直方向のルーマサンプルの数に従って定義される。したがって、図３に示されているように、４：２：０サンプルフォーマットに従ってフォーマットされた１６×１６ＣＵは、ルーマ成分の１６×１６サンプルと、各クロマ成分のための８×８サンプルとを含む。さらに、上記で説明したように、ＣＵはより小さいＣＵに区分され得る。たとえば、図３に示されているＣＵは、４つの８×８ＣＵに区分され得、ここで、各８×８ＣＵは、ルーマ成分のための８×８サンプルと、各クロマ成分のための４×４サンプルとを含む。
【００５４】
図４は、４：２：２サンプルフォーマットに従ってフォーマットされた１６×１６コーディングユニットの一例を示す概念図である。図４は、ＣＵ内のルーマサンプルに対するクロマサンプルの相対位置を示す。上記で説明したように、ＣＵは、一般に、水平方向および垂直方向のルーマサンプルの数に従って定義される。したがって、図４に示されているように、４：２：２サンプルフォーマットに従ってフォーマットされた１６×１６ＣＵは、ルーマ成分のための１６×１６サンプルと、各クロマ成分のための８×１６サンプルとを含む。さらに、上記で説明したように、ＣＵはより小さいＣＵに区分され得る。たとえば、図４に示されているＣＵは、４つの８×８ＣＵに区分され得、ここで、各ＣＵは、ルーマ成分のための８×８サンプルと、各クロマ成分のための４×８サンプルとを含む。
【００５５】
本開示で説明する技法によれば、残差信号（すなわち、残差ブロック）のためのループ内色空間変換が、４：４：４クロマフォーマットにおけるシーケンスのために提案されるが、本技法は、４：４：４フォーマットに限定されない。ループ内色空間変換プロセスは、ＲＧＢ／ＹＵＶクロマフォーマットにおける予測誤差信号（すなわち、残差信号）を準最適色空間における予測誤差信号に変換する。ループ内色空間変換は、色成分の間の相関をさらに低減することができる。変換行列は、特異値分解（ＳＶＤ）によって各ＣＵのためのピクセルサンプル値から導出され得る。色空間変換はイントラモードとインターモードの両方の予測誤差に適用され得る。
【００５６】
色空間変換がインターモードに適用されるとき、残差は、最初に、導出された変換行列を用いて異なる領域にコンバートされる。色空間コンバージョンの後に、ＤＣＴ／ＤＳＴ、量子化、およびエントロピーコーディングなど、コーディングステップが順に実行される。
【００５７】
色空間変換が、イントラモードを使用してコーディングされたＣＵに適用されるとき、予測ブロックおよび現在ブロックは、最初に、それぞれ、導出された変換行列を用いて異なる領域にコンバートされる。色空間コンバージョンの後に、現在ブロックと現在ブロックのための予測子との間の残差は、ＤＣＴ／ＤＳＴを用いてさらに変換され、量子化され、エントロピーコーディングされる。
【００５８】
ビデオエンコーダ２０などのビデオ符号化デバイスが順方向動作を実行し、ただし、色成分Ｐ、Ｑ、およびＳについての値を導出するために、コンバージョン値ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ、およびｉを備える色空間変換行列が、以下のように３つの平面Ｇ、Ｂ、およびＲに適用される。
【数１】
0006549223.tif 000003
【００５９】
得られた値は、値が、ワーストケースにおいて
【数２】
0006549223.tif 000004
倍まで拡大され得るので、ＨＥＶＣ仕様の範囲内でクリッピングされ得る。ビデオデコーダ３０などのビデオ復号デバイスが逆方向動作を実行し、ただし、コンバージョン値ａt、ｂt、ｃt、ｄt、ｅt、ｆt、ｇt、ｈt、およびｉtを備える色空間変換行列が、３つの平面Ｇ’、Ｂ’およびＲ’を導出するために、以下のように３つの色成分Ｐ’、Ｑ’、およびＲ’に適用される。
【数３】
0006549223.tif 000005
【００６０】
図５は、本開示の１つまたは複数の技法による、イントラ８×８ブロックのためのターゲットブロックと参照サンプルとの一例を示す概念図である。参照サンプル値からの特異値分解（ＳＶＤ）を使用して変換行列が導出され得る。ビデオコーディングデバイス（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、イントラケースおよびインターケースについて異なる参照サンプルを使用し得る。イントラコード化ブロックの場合、ターゲットブロックおよび参照サンプルは、図５に示されているようになり得る。図５では、ターゲットブロックは８×８の網目模様のサンプル９４からなり、上の参照サンプル９６は縞模様で示されており、左の参照サンプル９８は点模様で示されている。
【００６１】
インターコード化ブロックの場合、行列導出のための参照サンプルは、動き補償のための参照サンプルと同じであり得る。高度動き予測（ＡＭＰ：advanced motion prediction）ブロック中の参照サンプルは、参照サンプルの数が低減されるようにサブサンプリングされ得る。たとえば、１２×１６ブロック中の参照サンプルの数は２／３だけ低減される。
【００６２】
上記の例のうちのいくつかでは、色空間変換プロセスは、常に適用され得る。したがって、色空間変換プロセスが呼び出されるか否かをシグナリングする必要はないことがある。さらに、ビデオエンコーダ２０とビデオデコーダ３０の両方は、変換行列をシグナリングするためのオーバーヘッドを回避するために、変換行列を導出するための同じ方法を使用し得る。
【００６３】
ビデオエンコーダ２０およびビデオデコーダ３０は、様々な色空間変換行列を使用し得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、異なる色空間について異なる色空間変換行列を適用し得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、サンプル値をＲＧＢ色空間からＹＣｂＣｒ色空間に、およびその逆にコンバートするために、ＹＣｂＣｒ変換行列のペアを使用し得る。以下の式は、ＹＣｂＣｒ変換行列の１つの例示的セットを示している。
【数４】
0006549223.tif 000006
【数５】
0006549223.tif 000007
【００６４】
別の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、サンプル値をＲＧＢ色空間からＹＣｏＣｇ色空間に、およびその逆にコンバートするために、ＹＣｏＣｇ変換行列のペアを使用し得る。以下の式は、ＹＣｏＣｇ変換行列の１つの例示的セットを示している。
【数６】
0006549223.tif 000008
【数７】
0006549223.tif 000009
【００６５】
別のそのような行列は、Ｃｏ成分とＣｇ成分とを１／２にスケーリングするＹＣｏＣｇ行列の修正可能バージョンであるＹＣｏＣｇ−Ｒ行列であり得る。リフティング技法を使用することによって、ビデオエンコーダ２０およびビデオデコーダ３０は、以下の式によって順変換および逆変換を達成し得る。
【数８】
0006549223.tif 000010
【数９】
0006549223.tif 000011
【００６６】
上記の式および行列では、順変換は、（たとえば、ビデオエンコーダによる）符号化プロセスの前に実行され得る。逆に、逆変換は、（たとえば、ビデオデコーダによる）復号プロセスの後に実行され得る。また、ビデオエンコーダ２０が、他のビデオデータを予測する際に使用するための符号化されたデートを再構成するための復号ループを含むことに留意されたい。したがって、ビデオデコーダ３０と同様に、ビデオエンコーダ２０の復号ループも、逆変換を実行し得る。
【００６７】
本開示の技法は、１つまたは複数の問題、およびより詳細には、ｃｕ＿ｒｅｓｉｄｕａｌ＿ａｃｔ＿ｆｌａｇが有効にされたときのＱＰ導出に関する潜在的問題に潜在的に対処する。たとえば、既存の解決策によれば、適応色変換が有効にされたとき、スケーリングおよび変換プロセス中に、−５のＱＰオフセットがルーマ成分およびＣｂクロマ成分について加算され、−３がＣｒクロマ成分について加算される。しかしながら、Ｑｐの得られた値は、許容されるＱｐ範囲をアンダーフローし得る。たとえば、現在のテストモデルでは、ＨＥＶＣによって許容される範囲が０から５１の間にあるとき、得られたＱｐが−５にアンダーフローし得る。本開示はまた、適応色変換が有効にされたとき、適応ＱＰオフセットをシグナリングするための技法について説明する。
【００６８】
スケーリングおよび変換プロセスの一部分を以下に記載する。
８．６．２  スケーリングおよび変換プロセス
−−−−−
量子化パラメータｑＰは、現在のテストモデルにおいて以下のように導出される。ｃＩｄｘが０に等しい場合、
【数１０】
0006549223.tif 000012
−  そうではなく、ｃＩｄｘが１に等しい場合、
【数１１】
0006549223.tif 000013
−  他の場合（ｃＩｄｘが２に等しい）、
【数１２】
0006549223.tif 000014
ただし、ｃＩｄｘは、現在ブロックの色成分を指定し、ｃｕ＿ｒｅｓｉｄｕａｌ＿ａｃｔ＿ｆｌａｇは、適応色変換が現在コーディングユニットの残差サンプルに適用されるかどうかを指定する。
【００６９】
本開示は、上記で紹介した問題に対処し得る様々な技法について説明する。以下の技法の各々は別個に実装されるか、または他の技法のうちの１つまたは複数と一緒に実装され得る。本開示の一技法によれば、ビデオデコーダ３０は、（適応色変換が有効にされたときにオフセットが加算された後）セクション８．６．２の式８−２６１、８−２６２、８−２６３、スケーリングおよび変換プロセスからの得られたＱｐを、０，５１＋ＱｐＢｄＯｆｆｓｅｔYであるＨＥＶＣ  Ｑｐ範囲にクリッピングし得る。本開示の別の技法によれば、ビデオエンコーダ２０は、適応色変換が有効にされたとき、セクション８．６．２（スケーリングおよび変換プロセス）において適用されるべきＱｐオフセットをビデオデコーダ３０にシグナリングし得る。Ｑｐオフセットのこのシグナリングは、ＶＰＳ、ＳＰＳ、ＰＰＳ、スライスヘッダまたはそれの拡張のような様々なグラニュラリティレベルにおいて行われ得る。Ｑｐオフセットは、すべての成分（ルーマ＋クロマ）、または成分の一部のみ（たとえばクロマ）についてシグナリングされ得る。
【００７０】
本開示の別の技法によれば、ビデオエンコーダ２０は、適応色変換が有効にされたとき、ＱＰオフセットがセクション８．６．２（スケーリングおよび変換プロセス）において適用されるべきか否かを示すフラグをビデオデコーダ３０にシグナリングし得る。フラグのこのシグナリングは、ＶＰＳ、ＳＰＳ、ＰＰＳ、スライスヘッダまたはそれの拡張のような様々なグラニュラリティレベルにおいて行われ得る。フラグのシグナリングは、すべての成分（ルーマ＋クロマ）、または成分の一部のみ（たとえばクロマ）についてシグナリングされ得る。
【００７１】
次に、上記で紹介する技法の例示的な実装形態について、より詳細に説明する。本開示の一技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、ＱｐをＨＥＶＣ  Ｑｐの範囲内にクリッピングするように構成され得る。許容Ｑｐ範囲を、適応色変換が使用されるときにＨＥＶＣにおいて使用されるのと同じものとして保つために、本開示は、Ｑｐ値の範囲をＨＥＶＣ  Ｑｐ範囲の範囲にクリッピングするための技法について説明する。テストモデルへの提案される変更は、以下でイタリック体にされている。
８．６．２  スケーリングおよび変換プロセス
−−−−−
−  ｃＩｄｘが０に等しい場合、
【数１３】
0006549223.tif 000015
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、
−  ｃＩｄｘが１に等しい場合、
【数１４】
0006549223.tif 000016
−  他の場合（ｃＩｄｘが２に等しい）、
【数１５】
0006549223.tif 000017
【表２】
0006549223.tif 000018
【表３】
0006549223.tif 000019
【００７２】
ルーマ成分とクロマ成分とのためのＱＰ値の範囲をクリッピングすることが提案される。
ｃＩｄｘが０に等しい場合、
【数１６】
0006549223.tif 000020
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、
ｃＩｄｘが１に等しい場合、
【数１７】
0006549223.tif 000021
他の場合（ｃＩｄｘが２に等しい）、
【数１８】
0006549223.tif 000022
pps_act_y_qp_offset、pps_act_cb_qp_offset、およびpps_act_cr_qp_offsetは、それぞれ、セクション８．６．２において導出されるルーマ、ｃｂ、およびｃｒ量子化パラメータｑＰに対するオフセットを指定する。pps_act_y_qp_offset、pps_cb_qp_offset、およびpps_cr_qp_offsetの値は、両端値を含む、−１２〜＋１２の範囲内にあるものとする。ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しいとき、pps_act_cb_qp_offsetおよびpps_act_cr_qp_offsetは復号プロセスにおいて使用されず、デコーダはそれらの値を無視するものとする。
１に等しいpps_slice_act_qp_offsets_present_flagは、slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offsetがスライスヘッダ中に存在することを指定する。０に等しいpps_slice_act_qp_offsets_present_flagは、slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offsetがスライスヘッダ中に存在しないことを指定する。存在しないとき、cu_chroma_qp_offset_enabled_flagの値は０に等しいと推論される。
slice_act_y_qp_offset、slice_cb_qp_offset、およびslice_cr_qp_offsetは、それぞれ、セクション８．６．２において導出されるルーマ、ｃｂ、およびｃｒ量子化パラメータｑＰに対するオフセットを指定する。slice_act_y_qp_offset、slice_cb_qp_offset、およびslice_cr_qp_offsetの値は、両端値を含む、−１２〜＋１２の範囲内にあるものとする。ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しいとき、slice_act_cb_qp_offsetおよびslice_act_cr_qp_offsetは復号プロセスにおいて使用されず、デコーダはそれらの値を無視するものとする。
【００７３】
次に、適応色変換のためのＱＰオフセットの存在をシグナリングするための技法について説明する。上記の技法（１）において説明したように、適応色変換が有効にされるときの、固定された負のＱＰオフセットは、より高いＱｐにおいてＱｐ範囲を狭くする。たとえば、現在の定義では、適応色変換が有効にされるとき、いくつかのシナリオでは、ターゲットビットレートを満たすのに必要である４６＋ＱｐＢｄＯｆｆｓｅｔY超のＱＰに達することが不可能である。以下の解決策では、Ｑｐオフセットが加算されるものとするか否かを示すためのフラグをシグナリングすることが提案される。テストモデルへの提案される変更は、黄色のテキストでハイライトされる。
【表４】
0006549223.tif 000023
【表５】
0006549223.tif 000024
ｃＩｄｘが０に等しい場合、
【数１９】
0006549223.tif 000025
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、
ｃＩｄｘが１に等しい場合、
【数２０】
0006549223.tif 000026
他の場合（ｃＩｄｘが２に等しい）、
【数２１】
0006549223.tif 000027
【００７４】
次に、適応色変換のためのＱＰオフセットの別の例示的な実装形態について説明する。本開示は、以下を提案する。
ａ）  シーケンスパラメータセットではなくピクチャパラメータセット中で適応色変換有効化フラグをシグナリングする。これは、適応色変換の使用をピクチャレベルにおいて適応させることが可能であることから、潜在的に恩恵を受ける。
ｂ）  クロマフォーマットが４：４：４でないとき、適応色変換を無効にする（disable）ためのビットストリーム制限が提案される。一例では、この制限は、適応色変換有効フラグ（residual_adaptive_colour_transform_enabled_flag）に対して適用されることが提案される。
【００７５】
以下で、例示的なシンタックスおよびセマンティクスが詳述される。
【表６】
0006549223.tif 000028
【表７】
0006549223.tif 000029
１に等しいresidual_adaptive_colour_transform_enabled_flagは、適応色変換が、ＰＰＳを参照するピクチャについて、復号プロセスにおいて残差に適用され得ることを指定する。０に等しいresidual_adaptive_colour_transform_enabled_flagは、適応色変換が、ＰＰＳを参照するピクチャについて、残差に適用されないことを指定する。存在しないとき、residual_adaptive_colour_transform_enabled_flagの値は０に等しいと推論される。
ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃが３に等しくないとき、residual_adaptive_colour_transform_enabled_flagは０に等しいものとする。
pps_act_y_qp_offset、pps_act_cb_qp_offset、およびpps_act_cr_qp_offsetは、それぞれ、セクション８．６．２において導出されるルーマ、ｃｂ、およびｃｒ量子化パラメータｑＰに対するオフセットを指定する。pps_act_y_qp_offset、pps_cb_qp_offset、およびpps_cr_qp_offsetの値は、両端値を含む、−１２〜＋１２の範囲内にあるものとする。ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しいとき、pps_act_cb_qp_offsetおよびpps_act_cr_qp_offsetは復号プロセスにおいて使用されず、デコーダはそれらの値を無視するものとする。
１に等しいpps_slice_act_qp_offsets_present_flagは、slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offsetがスライスヘッダ中に存在することを指定する。０に等しいpps_slice_act_qp_offsets_present_flagは、slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offsetがスライスヘッダ中に存在しないことを指定する。存在しないとき、cu_chroma_qp_offset_enabled_flagの値は０に等しいと推論される。
slice_act_y_qp_offset、slice_cb_qp_offset、およびslice_cr_qp_offsetは、それぞれ、セクション８．６．２において導出されるルーマ、ｃｂ、およびｃｒ量子化パラメータｑＰに対するオフセットを指定する。slice_act_y_qp_offset、slice_cb_qp_offset、およびslice_cr_qp_offsetの値は、両端値を含む、−１２〜＋１２の範囲内にあるものとする。ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しいとき、slice_act_cb_qp_offsetおよびslice_act_cr_qp_offsetは復号プロセスにおいて使用されず、デコーダはそれらの値を無視するものとする。
【００７６】
図６は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオを後処理エンティティ２７に出力するように構成され得る。後処理エンティティ２７は、ビデオエンコーダ２０からの符号化ビデオデータを処理し得る、メディアアウェアネットワーク要素（ＭＡＮＥ：media aware network element）またはスプライシング／編集デバイスなど、ビデオエンティティの一例を表すものとする。いくつかの事例では、後処理エンティティ２７は、ＭＡＮＥなどのネットワークエンティティの一例であり得るが、他の事例では、後処理エンティティ２７はエンコーダ２０の一部と見なされ得る。たとえば、いくつかのビデオ符号化システムでは、後処理エンティティ２７およびビデオエンコーダ２０は別個のデバイスの部分であり得るが、他の事例では、後処理エンティティ２７に関して説明する機能は、ビデオエンコーダ２０を備える同じデバイスによって実行され得る。いくつかの例では、後処理エンティティ２７は図１のストレージデバイス１７の一部として実装され得る。
【００７７】
ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディング、インターコーディング、およびＩＭＣコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。ＩＭＣコーディングモードは、上記で説明したように、ビデオデータのフレームから空間冗長性を除去し得るが、従来のイントラモードとは異なり、ＩＭＣコーディングコードは、イントラ予測コーディングモードに依拠するのではなく、フレーム内のより大きい探索エリア中の予測ブロックの位置を特定し、オフセットベクトルを用いて予測ブロックを指すために使用され得る。
【００７８】
図６の例では、ビデオエンコーダ２０は、ビデオデータメモリ３３と、区分ユニット３５と、予測処理ユニット４１と、フィルタユニット６３と、復号ピクチャバッファ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測処理ユニット４６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。フィルタユニット６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表すものとする。図６ではフィルタユニット６３はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット６３はループ後フィルタとして実装され得る。
【００７９】
ビデオデータメモリ３３は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ３３に記憶されるビデオデータは、たとえば、ビデオソース１８から取得され得る。復号ピクチャバッファ６４は、たとえば、イントラコーディングモード、インターコーディングモード、またはＩＭＣコーディングモードでビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ３３および復号ピクチャバッファ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ３３および復号ピクチャバッファ６４は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ３３は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【００８０】
図６に示されているように、ビデオエンコーダ２０はビデオデータを受信し、ビデオデータをビデオデータメモリ３３に記憶する。区分ユニット３５はデータをビデオブロックに区分する。この区分はまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従って、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分を含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤差結果（たとえば、コーディングレートおよびひずみレベル）に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの１つ、複数のインターコーディングモードのうちの１つ、または複数のＩＭＣコーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、得られたイントラコード化ブロック、インターコード化ブロック、またはＩＭＣコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【００８１】
予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して現在ビデオブロックのインター予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４はまた、空間圧縮を行うために、同じピクチャ中の１つまたは複数の予測ブロックに対して現在ビデオブロックのＩＭＣコーディングを実行し得る。
【００８２】
動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードまたはＩＭＣモードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライス、ＢスライスまたはＧＰＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する、現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。ＩＭＣコーディングの場合、ＩＭＣにおいてオフセットベクトルと呼ばれることがある動きベクトルは、現在ビデオフレーム内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００８３】
予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、復号ピクチャバッファ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【００８４】
動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの各々が、復号ピクチャバッファ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００８５】
本開示のいくつかの技法によれば、ＩＭＣモードを使用してビデオブロックをコーディングするとき、動き推定ユニット４２は、ビデオブロックのルーマ成分のための動きベクトル、またはオフセットベクトルを決定し、ルーマ成分のためのオフセットベクトルに基づいて、ビデオブロックのクロマ成分のためのオフセットベクトルを決定し得る。別の例では、ＩＭＣモードを使用してビデオブロックをコーディングするとき、動き推定ユニット４２は、ビデオブロックのクロマ成分のための動きベクトル、またはオフセットベクトルを決定し、クロマ成分のためのオフセットベクトルに基づいて、ビデオブロックのルーマ成分のためのオフセットベクトルを決定し得る。したがって、ビデオエンコーダ２０はビットストリーム中で１つのオフセットベクトルのみをシグナリングし得、そのオフセットベクトルから、ビデオブロックのクロマ成分とルーマ成分の両方のためのオフセットベクトルが決定され得る。
【００８６】
動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。補間フィルタ処理は、既知のピクセルサンプルから追加のピクセルサンプルを生成し、したがって、ビデオブロックをコーディングするために使用され得る候補予測ブロックの数を潜在的に増加させ得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す、またはＩＭＣコーディングの場合、コーディングされているピクチャ内の、予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００８７】
イントラ予測処理ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測およびＩＭＣの代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測処理ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
【００８８】
いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
【００８９】
予測処理ユニット４１が（たとえば、インター予測、イントラ予測、またはＩＭＣを介して）現在ビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ：discrete cosine transform）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【００９０】
変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【００９１】
量子化に続いて、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングあるいは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化に続いて、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、あるいはビデオデコーダ３０が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【００９２】
逆量子化ユニット５８および逆変換処理ユニット６０は、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用し得る。補間フィルタ処理は、既知のピクセルサンプルから追加のピクセルサンプルを生成し、したがって、ビデオブロックをコーディングするために使用され得る候補予測ブロックの数を潜在的に増加させ得る。加算器６２は、復号ピクチャバッファ６４に記憶するための参照ブロックを生成するために、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２と動き補償ユニット４４とによって参照ブロックとして使用され得る。
【００９３】
図７は、本開示で説明する技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図７の例では、ビデオデコーダ３０は、ビデオデータメモリ７８と、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、フィルタユニット９１と、復号ピクチャバッファ９２とを含む。予測処理ユニット８１は、動き補償ユニット８２と、イントラ予測処理ユニット８４とを含む。ビデオデコーダ３０は、いくつかの例では、図６のビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【００９４】
復号プロセス中に、ビデオデコーダ３０は、ビデオデータ、たとえば、符号化ビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化ビデオビットストリームを、ビデオエンコーダ２０から受信する。ビデオデコーダ３０は、ビデオデータをネットワークエンティティ２９から受信し、ビデオデータをビデオデータメモリ７８に記憶し得る。ビデオデータメモリ７８は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ７８に記憶されたビデオデータは、たとえば、ストレージデバイス１７から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ７８は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファを形成し得る。したがって、図７では別々に示されているが、ビデオデータメモリ７８および復号ピクチャバッファ９２は、同じメモリデバイスまたは別々のメモリデバイスによって与えられ得る。ビデオデータメモリ７８および復号ピクチャバッファ９２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。様々な例では、ビデオデータメモリ７８は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそのような構成要素に対してオフチップであり得る。
【００９５】
ネットワークエンティティ２９は、たとえば、上記で説明した技法のうちの１つまたは複数を実装するように構成されたサーバ、ＭＡＮＥ、ビデオエディタ／スプライサ、または他のそのようなデバイスを備え得る。ネットワークエンティティ２９は、ビデオエンコーダ２０などのビデオエンコーダを含むことも、含まないこともある。本開示で説明する技法のうちのいくつかは、ネットワークエンティティ２９が符号化ビデオビットストリームをビデオデコーダ３０に送信するより前にネットワークエンティティ２９によって実装され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ２９およびビデオデコーダ３０は別個のデバイスの部分であり得るが、他の事例では、ネットワークエンティティ２９に関して説明する機能は、ビデオデコーダ３０を備える同じデバイスによって実行され得る。ネットワークエンティティ２９は、場合によっては、図１のストレージデバイス１７の一例であり得る。
【００９６】
ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと他のシンタックス要素とを予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【００９７】
ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされたとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされたとき、またはブロックがＩＭＣコーディングされたとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。インター予測の場合、予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、復号ピクチャバッファ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。ＩＭＣコーディングの場合、予測ブロックは、予測されているブロックと同じピクチャから生成され得る。
【００９８】
動き補償ユニット８２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために、その予測情報を使用する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスのための参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
【００９９】
動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、参照ブロックのサブ整数ピクセルの補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するためにその補間フィルタを使用し得る。
【０１００】
本開示のいくつかの技法によれば、ＩＭＣモードを使用してビデオブロックをコーディングするとき、動き補償ユニット８２は、ビデオブロックのルーマ成分のための動きベクトル、またはオフセットベクトルを決定し、ルーマ成分のための動きベクトルに基づいて、ビデオブロックのクロマ成分のための動きベクトルを決定し得る。別の例では、ＩＭＣモードを使用してビデオブロックをコーディングするとき、動き補償ユニット８２は、ビデオブロックのクロマ成分のための動きベクトル、またはオフセットベクトルを決定し、クロマ成分のための動きベクトルに基づいて、ビデオブロックのルーマ成分のための動きベクトルを決定し得る。したがって、ビデオデコーダ３０はビットストリーム中で１つのオフセットベクトルのみを受信し得、そのオフセットベクトルから、ビデオブロックのクロマ成分とルーマ成分の両方のためのオフセットベクトルが決定され得る。
【０１０１】
ＩＭＣモードを使用してビデオブロックを復号するとき、動き補償ユニット８２は、たとえば、クロマ成分のためのオフセットベクトルを決定するために、ルーマ成分のための、ＩＭＣモードのためのオフセットベクトルと呼ばれる、動きベクトルを変更し得る。動き補償ユニット８２は、たとえば、ビデオブロックのためのサンプリングフォーマットに基づいて、およびオフセットベクトルが指すサブピクセル位置の精度に基づいて、ルーマブロックのオフセットベクトルのｘ成分とｙ成分の一方または両方を変更し得る。たとえば、ビデオブロックが４：２：２サンプリングフォーマットを使用してコーディングされる場合、動き補償ユニット８２は、クロマ成分のためのオフセットベクトルを決定するために、ルーマオフセットベクトルのｙ成分ではなく、ｘ成分のみを変更し得る。図４からわかるように、４：２：２サンプリングフォーマットでは、クロマブロックおよびルーマブロックは垂直方向において同じ数のサンプルを有し、したがって、ｙ成分の変更を潜在的に不要にする。クロマ予測ブロックの位置を特定するために使用されるときに、ルーマオフセットベクトルが、クロマサンプルなしの（たとえば、現在ブロックを含む現在ピクチャのクロマサンプル中のサブピクセル位置における）位置を指す場合、動き補償ユニット８２は、ルーマオフセットベクトルのみを変更し得る。ルーマオフセットベクトルが、クロマ予測ブロックの位置を特定するために使用されるときに、クロマサンプルが存在する位置を指す場合、動き補償ユニット８２はルーマオフセットベクトルを変更しないことがある。
【０１０２】
他の例では、ビデオブロックが４：２：０サンプリングフォーマットを使用してコーディングされた場合、動き補償ユニット８２は、クロマ成分のためのオフセットベクトルを決定するために、ルーマオフセットベクトルのｘ成分およびｙ成分のいずれかまたは両方を変更し得る。図３からわかるように、４：２：０サンプリングフォーマットでは、クロマブロックおよびルーマブロックは、垂直方向と水平方向の両方において異なる数のサンプルを有する。クロマ予測ブロックの位置を特定するために使用されるときに、ルーマオフセットベクトルが、クロマサンプルなしの（たとえば、現在ブロックを含む現在ピクチャのクロマサンプル中のサブピクセル位置における）位置を指す場合、動き補償ユニット８２は、ルーマオフセットベクトルのみを変更し得る。ルーマオフセットベクトルが、クロマ予測ブロックの位置を特定するために使用されるときに、クロマサンプルが存在する位置を指す場合、動き補償ユニット８２はルーマオフセットベクトルを変更しないことがある。
【０１０３】
動き補償ユニット８２は、変更されたオフセットベクトルとも呼ばれる変更された動きベクトルを生成するためにルーマオフセットベクトルを変更し得る。動き補償ユニット８２は、クロマ予測ブロックの位置を特定するために使用されるときに、クロマブロックのために使用される変更されたオフセットベクトルが、より解像度が低いサブピクセル位置または整数ピクセル位置を指すように、サブピクセル位置を指すルーマオフセットベクトルを変更し得る。一例として、１／８ピクセル位置を指すルーマオフセットベクトルは１／４ピクセル位置を指すように変更され得、１／４ピクセル位置を指すルーマオフセットベクトルは１／２ピクセル位置を指すように変更され得る、などである。他の例では、動き補償ユニット８２は、変更されたオフセットベクトルがクロマ参照ブロックの位置を特定するための整数ピクセル位置を常に指すように、ルーマオフセットベクトルを変更し得る。より解像度が低いサブピクセル位置または整数ピクセル位置を指すようにルーマオフセットベクトルを変更することは、何らかの補間フィルタ処理の必要をなくすか、および／または任意の必要とされる補間フィルタ処理の複雑性を低減し得る。
【０１０４】
図３および図４を参照し、左上のサンプルが位置（０，０）にあると仮定すると、ビデオブロックは、奇数のｘ位置と偶数のｘ位置の両方、および奇数のｙ位置と偶数のｙ位置の両方においてルーマサンプルを有する。４：４：４サンプリングフォーマットでは、ビデオブロックはまた、奇数のｘ位置と偶数のｘ位置の両方、および奇数のｙ位置と偶数のｙ位置の両方においてクロマサンプルを有する。したがって、４：４：４サンプリングフォーマットの場合、動き補償ユニットは、ルーマ予測ブロックとクロマ予測ブロックの両方の位置を特定するために同じオフセットベクトルを使用し得る。４：２：２サンプリングフォーマットの場合、図４に示されているように、ビデオブロックは奇数のｙ位置と偶数のｙ位置の両方において、ただし偶数のｘ位置のみにおいてクロマサンプルを有する。したがって、４：２：２サンプリングフォーマットの場合、ルーマオフセットベクトルが奇数のｘ位置を指す場合、動き補償ユニット８２は、補間を必要とすることなしに、変更されたオフセットベクトルが現在ブロックのクロマブロックのための参照クロマブロックの位置を特定するために使用され得るように、偶数のｘ位置を指す変更されたオフセットベクトルを生成するためにルーマオフセットベクトルのｘ成分を変更し得る。動き補償ユニット８２は、たとえば、最も近い偶数のｘ位置に切り上げるかまたは切り捨てるかのいずれか、すなわち、ｘ成分が最も近い左側のｘ位置または最も近い右側のｘ位置のいずれかを指すようにｘ成分を変えることによって、ｘ成分を変更し得る。ルーマオフセットベクトルが偶数のｘ位置をすでに指す場合、変更は必要ではないことがある。
【０１０５】
４：２：０サンプリングフォーマットの場合、図３に示されているように、ビデオブロックは偶数のｙ位置のみにおいて、および偶数のｘ位置のみにおいてクロマサンプルを有する。したがって、４：２：０サンプリングフォーマットの場合、ルーマオフセットベクトルが奇数のｘ位置または奇数のｙ位置を指す場合、動き補償ユニット８２は、補間を必要とすることなしに、変更されたオフセットベクトルが現在ブロックのクロマブロックのための参照クロマブロックの位置を特定するために使用され得るように、偶数のｘ位置を指す変更されたオフセットベクトルを生成するためにルーマオフセットベクトルのｘ成分またはｙ成分を変更し得る。動き補償ユニット８２は、たとえば、最も近い偶数のｘ位置に切り上げるかまたは切り捨てるかのいずれか、すなわち、ｘ成分が最も近い左側のｘ位置または最も近い右側のｘ位置のいずれかを指すようにｘ成分を変えることによって、ｘ成分を変更し得る。動き補償ユニット８２は、たとえば、最も近い偶数のｙ位置に切り上げるかまたは切り捨てるかのいずれか、すなわち、ｙ成分が最も近い上側のｙ位置または最も近い下側のｙ位置のいずれかを指すようにｙ成分を変えることによって、ｙ成分を変更し得る。ルーマオフセットベクトルが偶数のｘ位置と偶数のｙ位置とをすでに指す場合、変更は必要でないことがある。
【０１０６】
逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、量子化解除（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１０７】
動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、（コーディングループ内またはコーディングループ後のいずれかの）ループフィルタも、ピクセル遷移を平滑化するか、またはさもなければビデオ品質を改善するために使用され得る。フィルタユニット９１は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表すものとする。図７では、フィルタユニット９１はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット９１はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する復号ピクチャバッファ９２に記憶される。復号ピクチャバッファ９２は、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の提示のための復号ビデオも記憶するメモリの一部であり得るか、またはそのようなメモリとは別個であり得る。
【０１０８】
図８は、本開示の１つまたは複数の態様による、色変換を使用して、ＲＧＢ色空間を有するビデオデータを、第２の色空間を有するビデオデータのブロックに変換するための技法を利用し得る別の例示的なビデオエンコーダ２１を示すブロック図である。
【０１０９】
図８は、ビデオエンコーダ２０のより詳細なバージョンを示す。ビデオエンコーダ２１は、ビデオエンコーダ２０（図２）またはビデオエンコーダ２０（図１）の一例であり得る。図８の例は、本開示の技法を実装するための２つの可能な例を示している。第１の実装形態では、ビデオエンコーダ２１は、１つまたは複数の色変換のうちの色変換を使用して、第１の色空間を有する入力ビデオ信号の第１のブロックを、第２の色空間を有する第２のブロックに適応的に変換する。第２の図示された例は、同じ技法を実行するが、入力信号に対してではなく、残差ビデオデータのブロックに対して色変換を実行する。
【０１１０】
図８の例では、ビデオエンコーダ２１は、スイッチ１０１、１０５、１１３、１２１の状態に基づいてビデオデータの予測ブロックおよび残差ブロックに対して色変換を実行するものとして示されている。スイッチ１０１、１０５、１１３、および１２１が代替位置切り替えられた場合、ビデオエンコーダ２１は、予測および／または残差ビデオデータのブロックを変換するのではなく、動き推定と、動き予測とを実行する前に、ＲＧＢ色空間を有する元の信号のビデオデータのブロックに対して、第２の色空間を有するビデオデータのブロックへの色変換を実行するように構成される。
【０１１１】
次に、図８に示されているように残差ビデオデータのブロックに対して色変換を実行する１つの例示的なプロセスについてより詳細に説明する。図８の例では、元の信号１００は、（スイッチ１０１の経路に従って）予測処理ユニット１０４に受け渡される。予測処理ユニット１０４は、参照ピクチャメモリ１２２から１つまたは複数の参照ピクチャからのデータを受信し得る。予測処理ユニット１０４は、ビデオデータの予測ブロックを生成し、残差信号１２４を生成するために元の信号１００からのビデオデータの予測ブロックを合成する。この例では、適応色変換器１０６は、ＲＧＢ色空間からのビデオデータの予測ブロックと残差ブロックとを、第２の色空間を有するビデオの第２の予測ブロックと第２の残差ブロックとに変換する。いくつかの例では、ビデオエンコーダ２１は、コスト関数に基づいて第２の色空間および色変換を選択し得る。
【０１１２】
変換／量子化ユニット１０８は、第２の色空間を有する第２のビデオブロックに対して変換（たとえば、離散コサイン変換（ＤＣＴ）または別のタイプの変換）を実行し得る。さらに、変換／量子化ユニット１０８は、第２のビデオブロック（すなわち、変換された残差ビデオブロック）を量子化し得る。エントロピーエンコーダ１１０は、量子化された残差ビデオブロックをエントロピー符号化し得る。エントロピーエンコーダ１１０は、ビデオデコーダ、たとえばビデオデコーダ３０による復号のために、量子化された残差ビデオブロックを含むビットストリームを出力し得る。
【０１１３】
また、量子化解除／逆変換ユニット１１２は、量子化され変換された係数および／または残差ビデオブロックを受信し得、変換された係数および残差ビデオブロックを逆変換し量子化解除し得る。量子化解除され逆変換されたビデオブロックは、この時点において第２の色空間を依然として有し得る。量子化解除／逆変換の結果は、再構成された残差信号１２６である。逆適応色変換器１１４は、適応色変換器１０６によって実行される変換に関連する逆色変換に基づいて、再構成された残差信号を逆色変換し得る。得られた逆適応色変換された係数および／または残差ビデオブロックは、この時点においてＲＧＢ色空間を有し得る。
【０１１４】
残差ビデオブロックへの逆色変換の適用に続いて、予測補償器１１６は、予測ブロックを残差ビデオブロックに再加算し得る。デブロックフィルタ１１８は、得られたブロックをデブロックし得る。ＳＡＯフィルタ１２０はＳＡＯフィルタ処理を実行し得る。参照ピクチャメモリ１２２は、次いで、得られた再構成された信号１２８を将来の使用のために記憶し得る。
【０１１５】
残差ビデオデータのブロックではなく、入力信号（すなわち、符号化されていないビデオデータ）のビデオブロックを色変換するために、スイッチ１０１は代替位置に反転され、適応変換器１０２は、１つまたは複数の色変換のうちの色変換を使用して、ＲＧＢ色空間を有するビデオブロックからの入力ビデオブロックを第２の色空間に色変換する。予測処理ユニット１０４を用いた予測は、上記で説明したように進むが、その結果は、スイッチ１０５が（図８に示されている位置と比較して）代替位置にあるので、適応色変換器１０６によって色変換されるのではなく、変換／量子化ユニット１０８に直接供給され得る。
【０１１６】
変換／量子化ユニット１０８、エントロピーエンコーダ１１０、および量子化解除／逆変換ユニット１１２は、残差ビデオブロックを色変換することに関して上記で説明したようにそれぞれ動作し得、再構成された信号１２６が生成され、また第２の色空間にある。再構成された信号１２６は、スイッチ１１３を介して予測補償器１１６に供給される。スイッチ１１３は、図８に示されている位置に対して代替位置にあり、逆適応色変換器１１４はバイパスされる。予測補償器１１６、デブロックフィルタ１１８、およびＳＡＯフィルタ１２０は、再構成された信号１２８を生成するために残差ビデオブロックを色変換することに関して上記で説明したように動作し得る。しかしながら、上記で説明した、再構成された信号１２８とは異なり、この例では、再構成された信号１２８のブロックは、ＲＧＢ色空間ではなく、第２の色空間を依然として有し得る。
【０１１７】
再構成された信号１２８は、図８に示されている位置に対して代替位置にあるスイッチ１２１を介して逆適応色変換器１３０に供給され得る。逆適応色変換器１３０は、再構成された信号１２８のブロックをＲＧＢ色空間を有するブロックに逆色変換し得、参照ピクチャメモリ１２２は、それらのブロックを将来の参照のために参照ピクチャのブロックとして記憶し得る。
【０１１８】
上記で説明したように、ビデオエンコーダ２１は、ＲＧＢ色空間を有するビデオデータの第１のブロックを、第２の色空間に変換するために、１つまたは複数の色空間の変換を選択し得る。いくつかの例では、ビデオエンコーダ２１は、色変換の各々に関連するレートひずみコストを計算することによって適応的に色変換を選択する。たとえば、ビデオエンコーダ２１は、ＣＵのＣＵまたはブロックについて最も低い関連するひずみコストを有する複数の色変換のうちの色変換を選択し得る。ビデオエンコーダ２１は、最も低い関連するひずみコストを有する選択された色変換を示すインデックスシンタックス要素または他のシンタックスデータをシグナリングし得る。
【０１１９】
いくつかの例では、ビデオエンコーダ２１は、色変換によるビットレート（たとえば達成される圧縮）、ならびに色変換に関連するひずみ（たとえば、忠実度の損失）の間のトレードオフを考慮するラグランジュコスト関数を利用し得る。いくつかの例では、ラグランジュコストはＬ＝Ｄ＋λＲに対応し、ここで、Ｌはラグランジュコストであり、Ｄはひずみであり、λはラグランジュ乗数であり、Ｒはビットレートである。いくつかの例では、ビデオエンコーダ２１は、ラグランジュコストを最小限に抑える複数の色変換のうちの色変換を示すインデックスシンタックス要素をシグナリングし得る。
【０１２０】
いくつかの高性能または高忠実度ビデオコーディング適用例または構成では、ひずみは、最小限ビットレートを上回って最小限に抑えられなければならない。そのような場合、ＲＧＢ色空間からのビデオデータを第２の色空間に変換するとき、ビデオエンコーダ２１は、最小のひずみを生じる色変換と色空間とを選択し得る。ビデオエンコーダ２１は、最小のひずみを生じる選択された色変換または色空間を示すインデックスシンタックス要素をシグナリングし得る。
【０１２１】
いくつかの他の場合では、ビデオエンコーダ２１は、ＲＧＢビデオデータのブロックの色成分の各々と、第２の色空間のブロックの色成分との間の相関に基づいて、ＲＧＢ色空間のブロックを第２の色空間に変換するコストを計算し得る。最も低い関連するコストを有する色変換は、入力信号のＲＧＢ色成分と最も密接に相関する色成分を有する色変換であり得る。ビデオエンコーダ２１は、それの色成分とＲＧＢ色成分との間の最も高い相関を有する選択された色変換を示すインデックスシンタックス要素をシグナリングし得る。
【０１２２】
場合によっては、ビデオエンコーダ２１は、異なるＣＵ、ＬＣＵ、ＣＴＵ、またはビデオデータの他のユニットのために異なる色変換を選択し得ることを認識されたい。すなわち、単一のピクチャについて、ビデオエンコーダ２１は、異なる色空間に関連する異なる色変換を選択し得る。複数の異なる色変換を選択することにより、より良好にコーディング効率が最適化され、レートひずみが低減され得る。ビデオエンコーダ２１が複数の変換のうちのどの変換を現在ブロックのために選択しているかを示すために、ビデオエンコーダ２１は、選択された色変換に対応するインデックス値をシグナリングし得る。ビデオエンコーダ２１は、ビデオの第１のブロックと、ＣＴＵと、ＣＵと、ＰＵと、ＴＵとのうちの１つまたは複数においてインデックス値をシグナリングし得る。
【０１２３】
しかしながら、場合によっては、ビデオエンコーダ２１は、１つまたは複数のブロック、あるいはＣＶＳと呼ばれるコード化ピクチャのシーケンスに適用されるべきである単一の色変換を決定し得る。各ブロックについて、ただ１つの色変換が選択される場合、ビデオエンコーダ２１はフラグシンタックス要素をシグナリングし得る。フラグシンタックス要素の１つの値は、ビデオエンコーダ２１が、現在ブロックにまたはＣＶＳ中のピクチャのすべてに単一の変換を適用していることを示し得る。フラグシンタックス要素の他の値は、現在ブロックに変換が適用されていないことを示す。ビデオエンコーダ２１は、たとえば、上記で説明したコストベースの基準を使用して、ピクチャのブロックの各々に色変換を適用すべきか否かを個々に決定し得る。
【０１２４】
いくつかの例では、ビデオエンコーダ２１は、複数のブロックの各々に複数の逆色変換のうちのあらかじめ定義された色変換を適用すべきかどうかを決定する。たとえば、ビデオエンコーダ２１およびビデオデコーダ３１は、デフォルトのあらかじめ定義された色変換／逆色変換を利用し得る。複数のブロックの各々にあらかじめ定義された色変換を適用することを決定したことに応答して、ビデオエンコーダ２１は、あらかじめ定義された色変換がビデオデータの複数ブロックの各々に適用されていることを示すデータを復号することなしに、あらかじめ定義された色変換を使用して複数のブロックの各々を変換し得る。
【０１２５】
逆の様式で、ビデオデコーダ３１は、複数のブロックの各々に複数の逆色変換のうちのあらかじめ定義された逆色変換を適用すべきかどうかを決定するように構成され得る。複数のブロックの各々にあらかじめ定義された逆色変換を適用することを決定したことに応答して、ビデオデコーダ３１は、あらかじめ定義された色変換がビデオデータの複数ブロックの各々に適用されていることを示すデータを復号することなしに、あらかじめ定義された色変換を使用して複数のブロックの各々を逆変換し得る。
【０１２６】
本開示の色変換は、必ずしも限定されるとは限らないが、ビデオデータのブロックへの恒等変換、差分変換、重み付き差分変換、ＤＣＴ、ＹＣｂＣｒ変換、ＹＣｇＣｏ変換、およびＹＣｇＣｏ−Ｒ変換を含み得る。ビデオエンコーダ２１など、本開示の技法に従って構成されたビデオコーダは、これらの変換および／またはそれらの逆、ならびにＡｄｏｂｅ  ＲＧＢ、ｓＲＧＢ、ｓｃＲＧＢ、Ｒｅｃ．７０９、Ｒｅｃ．２０２０、Ａｄｏｂｅ  Ｗｉｄｅ  Ｇａｍｕｔ  ＲＧＢ、ＰｒｏＰｈｏｔｏ  ＲＧＢ、ＣＭＹＫ、Ｐａｎｔｏｎｅ、ＹＩＱ、ＹＤｂＤｒ、ＹＰｂＰｒ、ｘｖＹＣＣ、ＩＴＵ  ＢＴ．６０１、ＩＴＵ  ＢＴ．７０９、ＨＳＶ、ならびに本明細書で特に説明しない他の色空間、色空間、および／またはクロマサブサンプリングフォーマットへの／からの変換など、他の変換のうちの１つまたは複数を適用し得る。
【０１２７】
ＲＧＢ色空間を有するビデオデータのブロックに色変換を適用するために、ビデオエンコーダ２１は、ＲＧＢピクセルの赤色成分と緑色成分と青色成分とを備える３×１行列に色変換行列を乗算し得る。乗算の結果は、第２の色空間を有するピクセルである。ビデオコーダは、第２の色空間中にピクセルの第２のブロックを生成するために、ビデオブロックの各ピクセルに色変換行列を適用し得る。次に、様々な色変換についてより詳細に説明する。
【０１２８】
いくつかの例では、ビデオエンコーダ２１は、恒等変換行列または逆恒等変換行列を適用し得る。恒等変換行列は、
【数２２】
0006549223.tif 000030
を備え、ビデオデコーダ３０が適用し得る逆変換行列は、
【数２３】
0006549223.tif 000031
を備える。ビデオコーダが恒等変換を適用するとき、得られたピクセル値は入力ピクセル値に等しく、すなわち、恒等変換を適用することは、まったく色変換を適用しないことと等価である。ビデオエンコーダ２１は、ビデオブロックのＲＧＢ色空間を維持することが必要とされるとき、恒等変換を選択し得る。
【０１２９】
別の例では、ビデオエンコーダ２１は、差分変換行列を適用し得る。差分変換行列は、
【数２４】
0006549223.tif 000032
を備える。ビデオデコーダ３０は、相反する逆差分行列を適用し得、この行列は、
【数２５】
0006549223.tif 000033
を備える。
【０１３０】
別の例では、ビデオエンコーダ２１は、重み付き差分変換または逆重み付き差分変換を適用する構成され得る。重み付き差分変換行列は、
【数２６】
0006549223.tif 000034
を備え、ビデオデコーダ３１が適用し得る逆重み付き差分行列は、
【数２７】
0006549223.tif 000035
を備える。
【０１３１】
重み付き差分変換では、α1およびα2は、ビデオコーダが調整し得るパラメータである。いくつかの例では、ビデオエンコーダ２０は、以下の式に従ってパラメータα1およびα2を計算し得る。
【数２８】
0006549223.tif 000036
【数２９】
0006549223.tif 000037
ビデオエンコーダ２１は、様々な例ではα1とα2との値をコード化ビデオビットストリーム中でシグナリングし得る。
【０１３２】
これらの式において、ＲはＲＧＢ色空間の赤色チャネルに対応し、Ｇは縁色チャネルに対応し、Ｂは青色チャネルに対応する。差分変換式において、「ｃｏｖ（）」は共分散関数であり、「ｖａｒ（）」は分散関数である。
【０１３３】
Ｒ、Ｇ、およびＢの値を決定するために、エンコーダまたはデコーダは、共分散関数と分散関数が、エンコーダによってまたはデコーダによって計算されるときに同じ結果または重みを有することを保証するために、参照ピクセルのセットを利用し得る。いくつかの例では、特定の参照ピクセルは、コード化ビデオビットストリーム中で（たとえば、コード化ビデオビットストリーム中のシンタックス要素として）シグナリングされ得る。他の例では、エンコーダおよびデコーダは、いくつかの参照ピクセルを使用するようにプリプログラムされ得る。
【０１３４】
いくつかの例では、ビデオエンコーダ２１は、差分変換を使用してブロックを変換するとき、α1とα2との値を制限または制約し得る。ビデオコーダは、α1とα2との値を整数または２進数のセット、たとえば１／２、１／４、１／８など．．．に制約し得る。他の例では、ビデオコーダは、α1およびα2を、２進数を有する分数の値、たとえば１／８、２／８、３／８、．．．、８／８に制限し得る。２進数または２進分数は、２のべき乗である分母を有し、分子が整数である、有理数である。α1とα2との値を制限することにより、α1とα2とをコーディングするビットストリーム効率が改善され得る。
【０１３５】
他の例では、ビデオエンコーダ２１は、ＤＣＴ変換を使用して、第２のブロックを生成するためにＲＧＢ色空間を有するブロックを変換するように構成され得る。ＤＣＴは、様々な周波数および振幅のシヌソイドの和としてサンプルを表すためにブロックのサンプルを変換する。ＤＣＴ変換または逆変換は、余弦関数の和に関してデータポイントの有限シーケンスにおよびそれからピクセルを変換し得る。ＤＣＴ変換行列は以下に対応する。
【数３０】
0006549223.tif 000038
逆の様式で、ビデオデコーダ３１は、ＤＣＴを使用して変換されたブロックに逆変換を適用し、ブロックを元のサンプルに戻すように構成され得る。逆ＤＣＴ変換行列は以下に対応する。
【数３１】
0006549223.tif 000039
【０１３６】
ビデオエンコーダ２１はまた、ＹＣｂＣｒ色空間を有するブロックを生成するために、ＲＧＢ色空間を有するブロックにＹＣｂＣｒ変換を適用し得る。上記で説明したように、ＹＣｂＣｒ色空間は、ルーマ（Ｙ）成分、ならびに青クロミナンス（Ｃｂ）成分および赤クロミナンス（Ｃｒ）成分を含む。ＹＣｂＣｒ変換行列は以下に対応し得る。
【数３２】
0006549223.tif 000040
【０１３７】
ビデオデコーダ３１は、ＹＣｂＣｂｒ色空間を有するブロックをＲＧＢ色空間を有するブロックに変換するために逆ＹＣｂＣｒ変換を適用するように構成され得る。逆ＹＣｂＣｒ変換行列は以下に対応し得る。
【数３３】
0006549223.tif 000041
【０１３８】
ビデオエンコーダ２１はまた、ＹＣｇＣｏ色空間を有するブロックを生成するために、ＲＧＢ色空間を有するブロックにＹＣｇＣｏ変換を適用し得る。ＹＣｇＣｏ色空間は、ルーマ（Ｙ）成分、ならびに緑クロミナンス（Ｃｇ）成分および橙クロミナンス（Ｃｏ）成分を含む。ＹＣｇＣｏ変換行列は以下に対応し得る。
【数３４】
0006549223.tif 000042
【０１３９】
ビデオデコーダ３１は、ＹＣｇＣｏ色空間を有するブロックをＲＧＢ色空間を有するブロックに変換するために逆ＹＣｇＣｏ変換を適用するように構成され得る。逆ＹＣｇＣｏ変換行列は以下に対応し得る。
【数３５】
0006549223.tif 000043
【０１４０】
ビデオエンコーダ２１はまた、ＹＣｇＣｏ−Ｒ色空間を有するブロックを生成するために、ＲＧＢ色空間を有するブロックにＹＣｇＣｏ−Ｒ変換を適用するように構成され得る。ＹＣｇＣｏ−Ｒ色空間は、ルーマ（Ｙ）成分、ならびに緑クロミナンス（Ｃｇ）成分および橙クロミナンス（Ｃｏ）成分を含む。ただし、上記で説明したＹＣｇＣｏ変換とは異なり、ＹＣｇＣｇ−Ｒ変換は可逆的であり、たとえば、ＹＣｇＣｏ−Ｒ変換は、たとえば丸め誤差に起因する、どんなひずみをも生じないことがある。
【０１４１】
ＹＣｂＣｒ変換行列は以下に対応し得る。
【数３６】
0006549223.tif 000044
ビデオデコーダ３１は、逆ＹＣｇＣｏ−Ｒ変換を適用するように構成され得る。ＹＣｇＣｏ−Ｒ逆変換は、ＹＣｇＣｏ−Ｒ色空間を有するブロックを、ＲＧＢ色空間を有するブロックに逆変換する。逆ＹＣｇＣｏ−Ｒ変換行列は以下に対応し得る。
【数３７】
0006549223.tif 000045
【０１４２】
本明細書で説明する色変換のいずれかを適用するために、ビデオエンコーダ２１は、フレキシブルなパラメータを有するリフティング方式を実装し得る。リフティング方式は、離散ウェーブレット変換を、リフティングステップまたはラダー構造と呼ばれる単純なフィルタ処理ステップの有限シーケンスに分解する技法である。ビデオエンコーダ２１は、コード化ビデオビットストリーム中でパラメータをシグナリングし得るか、またはビデオエンコーダ２１は、同様の方法でパラメータを導出し得、パラメータを導出し得る。リフティング方式の一例は以下の通りである。
【数３８】
0006549223.tif 000046
ここで、ａ、ｂ、ｃ、およびｄは、上記で説明したパラメータである。このリフティング方式では、Ｒ、Ｇ、およびＢは、それぞれ赤色、緑色、および青色チャネルまたはサンプルである。重み付き差分変換に関して上記で説明したαパラメータの場合と同様に、ａ、ｂ、ｃ、およびｄの値は、たとえば符号が正または負のみであり得るように、制限または限定され得る。場合によっては、
【数３９】
0006549223.tif 000047
など、リフティング方式において追加のステップがあり得、ここで、ｆ、ｇ、ｈ、ｉ、およびｊはパラメータである。リフティング方式を使用しているとき、ならびに他の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、３つの成分の出力深度を正規化することができ、Ｒ’’’、Ｂ’’、およびＧ’’は所定のビット深度内に正規化され得、その所定のビット深度は、必ずしも各成分について同じであるとは限らない。
【０１４３】
図９は、本開示の１つまたは複数の態様による、逆色変換を使用して第１の色空間を有するビデオデータを第２のＲＧＢ色空間を有するビデオデータに逆変換するための技法を利用し得る別の例示的なビデオデコーダ３１を示すブロック図である。
【０１４４】
図９は、図１および図７のビデオデコーダ３０に対してビデオデコーダ３１のより詳細なバージョンを示す。実際、いくつかの例では、ビデオデコーダ３１は、ビデオデコーダ３０（図７）および／またはビデオデコーダ３０（図１）のより具体的な例と見なされ得る。図９の例は、本開示の技法を実装するための２つの可能な例を示している。第１の実装形態では、ビデオデコーダ３１は、複数の逆色変換のうちの逆色変換を使用して、第１の色空間（たとえば、非ＲＧＢ色空間）からの入力ビデオ信号のブロックを第２のＲＧＢ色空間を有する第２のブロックに適応的に逆変換する。第２の図示された例は、同じ技法を実行するが、入力信号に対してではなく、残差ビデオデータのブロックに対して逆色変換を実行する。
【０１４５】
図９の例では、ビデオデコーダ３１は、スイッチ１４５、および１５６が現在切り替えられる方法のために、残差ビデオデータ例のブロックに対して逆色変換を実行するものとして示されている。スイッチ１４５および１５６が代替位置切り替えられた場合、ビデオデコーダ３１は、残差ビデオデータのブロックを逆変換するのではなく、第１の表現を有する入力ビデオデータのブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに逆色変換するように構成される。
【０１４６】
次に、図９に示されているように残差ビデオデータのブロックに対して逆色変換を実行するプロセスについて詳細に説明する。図９の例では、（入力信号とも呼ばれる）符号化入力ビットストリーム１４０は、エントロピー復号ユニット１４２に受け渡される。エントロピー復号ユニット１４２は、第１の色空間を有する残差ビデオデータの量子化ブロックを生成するためにビットストリーム１４０をエントロピー復号し得る。たとえば、エントロピー復号ユニット１４２は、ビットストリーム１４０中に含まれる特定のシンタックス要素をエントロピー復号し得る。量子化解除／逆変換ユニット１４４は変換係数ブロックを量子化解除し得る。さらに、量子化解除／逆変換ユニット１４４は、残差ビデオデータを備える変換ブロックを決定するために、変換係数ブロックに逆変換を適用し得る。このようにして、量子化解除／逆変換ユニット１４４は、ビットストリーム１４０のエントロピー復号されたビデオデータのブロックを量子化解除し、逆変換し得る。ビデオデコーダ３１が残差データのブロックを逆色変換するように構成されたとき、スイッチ１４８は、第１の色空間を有する残差ビデオデータのブロックを逆適応色変換器１５０に供給する。このようにして、逆適応色変換器１５０はＴＵの変換ブロックを受信し得る。
【０１４７】
逆適応色変換器１５０は、第１の色空間を有するビデオデータのブロックを、第２のＲＧＢ色空間を有するビデオデータの第２のブロックに適応的に逆変換し得る。たとえば、逆適応色変換器１５０は、ＴＵの変換ブロックに適用すべき逆変換を選択し得る。この例では、逆適応色変換器１５０は、変換ブロックを第１の色空間からＲＧＢ色空間に変換するために、選択された逆変換を変換ブロックに適用し得る。予測補償ユニット１５２は、参照ピクチャメモリ１５４からの参照ピクチャを合成し得る。たとえば、予測補償ユニット１５２は、ＣＵのＴＵの変換ブロックを受信し得る。この例では、予測補償ユニット１５２はＣＵのためのコーディングブロックを決定し得る。この例では、ＣＵのコーディングブロックの各サンプルは、変換ブロック中のサンプルと、ＣＵのＰＵのための予測ブロック中の対応するサンプルとの和に等しくなり得る。デブロックフィルタ１５７は、合成された、再構成された画像をデブロックし得る。ＳＡＯフィルタユニット１５８は、適用可能な場合、追加のＳＡＯフィルタ処理を実行し得る。
【０１４８】
ＳＡＯフィルタユニット１５８の出力は、再構成された信号１６０である。ビデオデコーダ３１が、残差ビデオデータのブロックを逆色変換するように構成された場合、スイッチ１６２は、再構成された信号１６０を将来の使用のために参照ピクチャとして参照ピクチャメモリ１５４に供給する。ビデオデコーダ３１はまた、再構成された信号１６０を画像／ビデオ１６４として出力し得る。
【０１４９】
ビデオデコーダ３１が、残差ビデオデータのブロックとは対照的に元の入力信号のブロックを逆色変換するように構成された例では、エントロピー復号ユニット１４２および量子化解除／逆変換ユニット１４４は、前に説明した様式で動作する。スイッチ１４８は代替位置にあり、再構成された残差信号を予測補償ユニット１５２に直接供給する。この時点で、予測補償ユニット１５２に与えられる残差ブロックは、ＲＧＢ色空間ではなく、依然として第１の色空間中にある。
【０１５０】
予測補償ユニット１５２は、元の画像のブロックを再構成し得、残差ブロックを、参照ピクチャメモリ１５４からのピクチャの１つまたは複数のブロックと合成し得る。デブロックフィルタ１５７およびＳＡＯフィルタユニット１５８は、ビデオデータの残差ブロックを逆変換することに関して上記で説明したように動作し得る。ＳＡＯフィルタユニット１５８の出力は、再構成された信号１６０であり、この信号のブロックは、依然として第１の色空間にあり、ＲＧＢ色空間を有しないことがある（たとえば、恒等変換が使用された場合、ブロックは依然としてＲＧＢ色空間を有し得る）。
【０１５１】
再構成された信号１６０は、図９に示されている位置と比較して代替位置にあるスイッチ１６２を介して逆適応色変換器１６６に供給され得る。逆適応色変換器１６６は、１つまたは複数の逆色変換のうちの逆色変換を使用して、第１の色空間を有する再構成された信号のブロックを第２のＲＧＢ色空間を有するビデオデータの第２のブロックに逆色変換し得る。いくつかの例では、デコーダ３１が使用する特定の逆変換は、ビットストリーム１４０中でシグナリングされ得る。逆適応色変換器１６６は、第２の色空間を有する第２のブロックを画像／ビデオ１６４としての出力のために供給し、ならびに将来の記憶および使用のために参照ピクチャとして参照ピクチャメモリ１５４に供給し得る。
【０１５２】
図１０に、本開示の技法による、ビデオデータを復号する方法の一例を示す。図１０の技法について、一般的なビデオデコーダに関して説明する。一般的なビデオデコーダは、たとえば、図７のビデオデコーダ３０または図９のビデオデコーダ３１に対応し得るが、図１０の技法は、ビデオデコーダの特定のタイプに限定されない。ビデオエンコーダが、一般に、符号化プロセスの一部としてビデオ復号を実行するので、図１０の技法はまた、図６のビデオエンコーダ２０および図８のビデオエンコーダ２１など、ビデオエンコーダによって実行され得る。ビデオエンコーダ２０は、たとえば、図１０の技法が実装され得る、復号ループの一部を形成する、逆量子化ユニット５８および逆変換処理ユニット６０を含む。したがって、図１０の技法についてビデオデコーダに関して説明するが、このビデオデコーダがビデオエンコーダの一部であり得ることを理解されたい。
【０１５３】
図１０の例では、ビデオデコーダは、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定する（２１０）。いくつかの例では、ビデオデコーダは、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされるかどうかを示すシンタックス要素を受信することによって、適応色変換が有効にされると決定し得る。シンタックス要素は、たとえば、ＰＰＳ中で、または別のレベルで受信され得る。受信されたシンタックス要素をパースすることによって、ビデオデコーダは、適応色変換が有効にされるのか無効にされるのかを決定し得る。他の例では、ビデオデコーダは、ビデオデータのためのクロマフォーマットを決定することによって、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定し得る。たとえば、ビデオデータのためのクロマフォーマットが４：４：４であると決定したことに応答して、ビデオデコーダは、適応色変換が有効にされると決定し得る。ビデオデータのためのクロマフォーマットが４：４：４以外であると決定したことに応答して、ビデオデコーダは、適応色変換が無効にされると決定し得る。
【０１５４】
適応色変換が有効にされたビデオデータについて、ビデオデコーダは、１つまたは複数のブロックについての量子化パラメータを決定する（２１２）。量子化パラメータの値がしきい値を下回っていることに応答して、ビデオデコーダは、変更された量子化パラメータを決定するために量子化パラメータを変更する（２１４）。しきい値は、たとえば、０であり得、変更された量子化パラメータの値は、０よりも大きいかまたはそれに等しくなり得る。変更された量子化パラメータは、５１＋オフセット値よりも小さいかまたはそれに等しくなり得る。量子化パラメータを変更するために、ビデオデコーダは、量子化パラメータにオフセット値を加算し得る。ビデオデコーダは、オフセット値が量子化パラメータに加算されるべきであるかどうかを示すためのフラグを受信し得る。
【０１５５】
ビデオデコーダは、たとえば、オフセット値をシンタックス要素として受信し得る。オフセット値は（そのブロックについて適応色変換が有効にされるとき）量子化パラメータに対するオフセットであり得る。ビデオデコーダは、変更された量子化パラメータに基づいて変換係数を量子化解除する（２１６）。
【０１５６】
図１１に、本開示の技法による、ビデオデータを符号化する方法の一例を示す。図１１の技法について、一般的なビデオエンコーダに関して説明する。一般的なビデオエンコーダは、たとえば、図６のビデオエンコーダ２０または図８のビデオエンコーダ２１に対応し得るが、図１１の技法は、ビデオエンコーダの特定のタイプに限定されない。ビデオエンコーダは、ビデオデータのためのクロマサンプリングフォーマットを選択する（２２０）。クロマサンプリングフォーマットが第１のクロマサンプリングフォーマットであることに応答して、ビデオエンコーダは、適応色変換が有効にされるかどうかを示すためのシンタックス要素を生成する（２２２）。クロマサンプリングフォーマットが第１のクロマサンプリングフォーマット以外であることに応答して、ビデオエンコーダは、適応色変換なしにビデオデータを符号化する（２２４）。第１のクロマサンプリングフォーマットは、たとえば、４：４：４クロマサンプリングフォーマットであり得る。
【０１５７】
図１２に、本開示の技法による、ビデオデータを復号する方法の一例を示す。図１２の技法について、一般的なビデオデコーダに関して説明する。一般的なビデオデコーダは、たとえば、図７のビデオデコーダ３０または図９のビデオデコーダ３１に対応し得るが、図１２の技法は、ビデオデコーダの特定のタイプに限定されない。一般的なビデオデコーダはまた、いくつかの例では、ビデオエンコーダの復号ループに対応し得る。
【０１５８】
図１２の例では、ビデオデコーダは、ビデオデータのためのクロマサンプリングフォーマットに基づいて、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定する（２３０）。ビデオデコーダは、たとえば、クロマサンプリングフォーマットが４：４：４サンプリングフォーマットであると決定することによって、ビデオデータの１つまたは複数のブロックについて適応色変換が有効にされると決定し得る。ビデオデコーダは、適応色変換が有効にされると決定したことに基づいて、１つまたは複数のブロックについての量子化パラメータを決定し（２３２）、決定された量子化パラメータに基づいて変換係数を量子化解除する（２３４）。
【０１５９】
ビデオデコーダはまた、たとえば、ビデオデータの１つまたは複数の第２のブロックについて、ビデオブロックのためのクロマサンプリングフォーマットが４：４：４以外のクロマサンプリングフォーマットであると決定し、クロマサンプリングフォーマットが４：４：４以外であることに基づいて、第２の１つまたは複数のブロックについて適応色変換が無効にされると決定し得る。ビデオデコーダはまた、たとえば、クロマサンプリングフォーマットの指示以外に、適応色変換が無効にされるかどうかを示すためのシンタックス要素を受信することなしに、第２の１つまたは複数のブロックについて適応色変換が無効にされると決定し得る。
【０１６０】
図１３に、本開示の技法による、ビデオデータを符号化する方法の一例を示す。図１３の技法について、一般的なビデオエンコーダに関して説明する。一般的なビデオエンコーダは、たとえば、図６のビデオエンコーダ２０または図８のビデオエンコーダ２１に対応し得るが、図１３の技法は、ビデオエンコーダの特定のタイプに限定されない。ビデオエンコーダは、ビデオデータの１つまたは複数のブロックについて、ブロックを符号化するために適応色変換が使用されると決定する（２４０）。ビデオエンコーダは、ビデオデータの第１の色空間の第１の色成分についての量子化パラメータを決定する（２４２）。ビデオエンコーダは、量子化パラメータに基づいて変換係数を量子化する（２４４）。ビデオエンコーダは、ピクチャパラメータセット中に含めるために、ビデオデータの第２の色空間の第１の色成分についての量子化パラメータと、ビデオデータの第２の色空間の第１の色成分についての量子化パラメータとの間の差を表す１つまたは複数のオフセット値を生成する（２４６）。
【０１６１】
図１４に、本開示の技法による、ビデオデータを復号する方法の一例を示す。図１４の技法について、一般的なビデオデコーダに関して説明する。一般的なビデオデコーダは、たとえば、図７のビデオデコーダ３０または図９のビデオデコーダ３１に対応し得るが、図１４の技法は、ビデオデコーダの特定のタイプに限定されない。図１４の例では、ビデオデコーダは、ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定する（２５０）。適応色変換が有効にされたことに応答して、ビデオデコーダは、ピクチャパラメータセット中で、１つまたは複数のオフセット値を受信する（２５２）。ビデオデコーダは、１つまたは複数のオフセット値のうちの第１のオフセット値に基づいて第１の色空間の第１の色成分についての量子化パラメータを決定し（２５４）、変更された量子化パラメータに基づいて変換係数を量子化解除する（２５６）。１つまたは複数のオフセット値は、第１の色成分についてのオフセット値と、第２の色成分についてのオフセット値と、第３の色成分についてのオフセット値とを含み得る。
【０１６２】
ビデオデコーダは、第２の色空間の第１の色成分についての量子化パラメータを決定し得る。１つまたは複数のオフセット値のうちの第１のオフセット値に基づいて第１の色空間の第１の色成分についての量子化パラメータを決定するために、ビデオデコーダは、第２の色空間の第１の色成分についての量子化パラメータに１つまたは複数のオフセット値のうちの第１のオフセット値を加算することによって、第２の色空間の第１の色成分についての量子化パラメータを、第１の色空間の第１の色成分についての量子化パラメータにコンバートし得る。
【０１６３】
１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法の実装のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１６４】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１６５】
命令は、１つまたは複数のＤＳＰ、汎用マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、あるいは他の等価な集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実装され得る。
【０１６６】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【０１６７】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、前記方法は、
前記ビデオデータのためのクロマサンプリングフォーマットに基づいて、前記ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、
前記適応色変換が有効にされると決定したことに基づいて、前記１つまたは複数のブロックについての量子化パラメータを決定することと、
前記決定された量子化パラメータに基づいて変換係数を量子化解除することと
を備える、方法。
［Ｃ２］
前記ビデオデータの１つまたは複数の第２のブロックについて、前記ビデオブロックのためのクロマサンプリングフォーマットが４：４：４以外のクロマサンプリングフォーマットであると決定することと、
前記クロマサンプリングフォーマットが４：４：４以外であることに基づいて、前記第２の１つまたは複数のブロックについて適応色変換が無効にされると決定することと
をさらに備える、上記Ｃ１に記載の方法。
［Ｃ３］
前記第２の１つまたは複数のブロックについて適応色変換が無効にされると決定することは、前記クロマサンプリングフォーマットの指示以外に、適応色変換が無効にされるかどうかを示すシンタックス要素を受信することなしに、前記第２の１つまたは複数のブロックについて適応色変換が無効にされると決定することを備える、上記Ｃ２に記載の方法。
［Ｃ４］
前記ビデオデータの１つまたは複数のブロックについて適応色変換が有効にされると決定することは、前記クロマサンプリングフォーマットが４：４：４サンプリングフォーマットであると決定することを備える、上記Ｃ１に記載の方法。
［Ｃ５］
前記クロマサンプリングフォーマットが４：４：４サンプリングフォーマットであると決定したことに応答して、前記ビデオデータの前記１つまたは複数のブロックについて適応色変換が有効にされるかどうかを示すシンタックス要素を受信すること、ここにおいて、前記ビデオデータの前記１つまたは複数のブロックについて適応色変換が有効にされると決定することは、前記ビデオデータの前記１つまたは複数のブロックについて適応色変換が有効にされることを示す前記シンタックス要素にさらに基づく、
をさらに備える、上記Ｃ４に記載の方法。
［Ｃ６］
ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータメモリ、
１つまたは複数のプロセッサ
を備え、前記１つまたは複数のプロセッサは、
前記ビデオデータのためのクロマサンプリングフォーマットに基づいて、前記ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、
前記適応色変換が有効にされると決定したことに基づいて、前記１つまたは複数のブロックについての量子化パラメータを決定することと、
前記決定された量子化パラメータに基づいて変換係数を量子化解除することと
を行うように構成された、デバイス。
［Ｃ７］
前記１つまたは複数のプロセッサは、
前記ビデオデータの１つまたは複数の第２のブロックについて、前記ビデオブロックのためのクロマサンプリングフォーマットが４：４：４以外のクロマサンプリングフォーマットであると決定することと、
前記クロマサンプリングフォーマットが４：４：４以外であることに基づいて、前記第２の１つまたは複数のブロックについて適応色変換が無効にされると決定することと
を行うようにさらに構成された、上記Ｃ６に記載のデバイス。
［Ｃ８］
前記第２の１つまたは複数のブロックについて適応色変換が無効にされると決定するために、前記１つまたは複数のプロセッサは、前記クロマサンプリングフォーマットの指示以外に、適応色変換が無効にされるかどうかを示すシンタックス要素を受信することなしに、前記第２の１つまたは複数のブロックについて適応色変換が無効にされると決定するようにさらに構成された、上記Ｃ７に記載のデバイス。
［Ｃ９］
前記ビデオデータの１つまたは複数のブロックについて適応色変換が有効にされると決定するために、前記１つまたは複数のプロセッサは、前記クロマサンプリングフォーマットが４：４：４サンプリングフォーマットであると決定するようにさらに構成された、上記Ｃ６に記載のデバイス。
［Ｃ１０］
前記１つまたは複数のプロセッサは、
前記クロマサンプリングフォーマットが４：４：４サンプリングフォーマットであると決定したことに応答して、前記ビデオデータの前記１つまたは複数のブロックについて適応色変換が有効にされるかどうかを示すシンタックス要素を受信すること、ここにおいて、前記ビデオデータの前記１つまたは複数のブロックについて適応色変換が有効にされると決定することは、前記ビデオデータの前記１つまたは複数のブロックについて適応色変換が有効にされることを示す前記シンタックス要素にさらに基づく、
を行うようにさらに構成された、上記Ｃ９に記載のデバイス。
［Ｃ１１］
前記デバイスが、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス
のうちの少なくとも１つを備える、上記Ｃ６に記載のデバイス。
［Ｃ１２］
前記デバイスがワイヤレス通信デバイスを備え、
符号化ビデオデータを受信するように構成された受信機
をさらに備える、上記Ｃ６に記載のデバイス。
［Ｃ１３］
前記ワイヤレス通信デバイスが電話を備え、ここにおいて、前記受信機が、ワイヤレス電気通信規格に従って変調された信号中で前記符号化ビデオデータを受信するように構成された、上記Ｃ１２に記載のデバイス。
［Ｃ１４］
ビデオデータを復号するための装置であって、前記装置は、
前記ビデオデータのためのクロマサンプリングフォーマットに基づいて、前記ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定するための手段と、
前記適応色変換が有効にされると決定したことに基づいて、前記１つまたは複数のブロックについての量子化パラメータを決定するための手段と、
前記決定された量子化パラメータに基づいて変換係数を量子化解除するための手段と
を備える、装置。
［Ｃ１５］
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記ビデオデータのためのクロマサンプリングフォーマットに基づいて、前記ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、
前記適応色変換が有効にされると決定したことに基づいて、前記１つまたは複数のブロックについての量子化パラメータを決定することと、
前記決定された量子化パラメータに基づいて変換係数を量子化解除することと
を行わせる命令を記憶するコンピュータ可読媒体。
［Ｃ１６］
ビデオデータを復号する方法であって、前記方法は、
前記ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、
適応色変換が有効にされていることに応答して、ピクチャパラメータセット中で１つまたは複数のオフセット値を受信することと、
前記１つまたは複数のオフセット値のうちの第１のオフセット値に基づいて第１の色空間の第１の色成分についての量子化パラメータを決定することと、
前記量子化パラメータに基づいて変換係数を量子化解除することと
を備える、方法。
［Ｃ１７］
前記１つまたは複数のオフセット値が、前記第１の色成分についてのオフセット値と、第２の色成分についてのオフセット値と、第３の色成分についてのオフセット値とを備える、上記Ｃ１６に記載の方法。
［Ｃ１８］
第２の色空間の第１の色成分についての量子化パラメータを決定すること、ここにおいて、前記１つまたは複数のオフセット値のうちの前記第１のオフセット値に基づいて前記第１の色空間の前記第１の色成分についての前記量子化パラメータを決定することが、前記第２の色空間の前記第１の色成分についての前記量子化パラメータに前記１つまたは複数のオフセット値のうちの前記第１のオフセット値を加算することによって、前記第２の色空間の前記第１の色成分についての前記量子化パラメータを、前記第１の色空間の前記第１の色成分についての前記量子化パラメータにコンバートすることを備える、
をさらに備える、上記Ｃ１６に記載の方法。
［Ｃ１９］
前記第１の色空間がＲＧＢ色空間を備え、前記第２の色空間がＹＣｂＣｒ色空間を備える、上記Ｃ１８に記載の方法。
［Ｃ２０］
前記１つまたは複数のオフセット値がオフセット値の第１のセットを備え、前記方法が、
スライスヘッダ中で、オフセット値の第２のセットを受信すること
をさらに備える、上記Ｃ１６に記載の方法。
［Ｃ２１］
前記ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することが、前記１つまたは複数のブロックのためのクロマサンプリングフォーマットの指示を受信することと、前記クロマサンプリングフォーマットに基づいて、適応色変換が有効にされると決定することとを備える、上記Ｃ１６に記載の方法。
［Ｃ２２］
ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータメモリ、
１つまたは複数のプロセッサ
を備え、前記１つまたは複数のプロセッサは、
前記ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、
適応色変換が有効にされていることに応答して、ピクチャパラメータセット中で１つまたは複数のオフセット値を受信することと、
前記１つまたは複数のオフセット値のうちの第１のオフセット値に基づいて第１の色空間の第１の色成分についての量子化パラメータを決定することと、
前記量子化パラメータに基づいて変換係数を量子化解除することと
を行うように構成された、デバイス。
［Ｃ２３］
前記１つまたは複数のオフセット値が、前記第１の色成分についてのオフセット値と、第２の色成分についてのオフセット値と、第３の色成分についてのオフセット値とを備える、上記Ｃ２２に記載のデバイス。
［Ｃ２４］
前記１つまたは複数のプロセッサは、
第２の色空間の第１の色成分についての量子化パラメータを決定すること、ここにおいて、前記１つまたは複数のオフセット値のうちの前記第１のオフセット値に基づいて前記第１の色空間の前記第１の色成分についての前記量子化パラメータを決定することが、前記第２の色空間の前記第１の色成分についての前記量子化パラメータに前記１つまたは複数のオフセット値のうちの前記第１のオフセット値を加算することによって、前記第２の色空間の前記第１の色成分についての前記量子化パラメータを、前記第１の色空間の前記第１の色成分についての前記量子化パラメータにコンバートすることを備える、
を行うようにさらに構成された、上記Ｃ２２に記載のデバイス。
［Ｃ２５］
前記第１の色空間がＲＧＢ色空間を備え、前記第２の色空間がＹＣｂＣｒ色空間を備える、上記Ｃ２４に記載のデバイス。
［Ｃ２６］
前記１つまたは複数のオフセット値がオフセット値の第１のセットを備え、ここにおいて、前記１つまたは複数のプロセッサが、
スライスヘッダ中で、オフセット値の第２のセットを受信する
ようにさらに構成された、上記Ｃ２２に記載のデバイス。
［Ｃ２７］
前記ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定するために、前記１つまたは複数のプロセッサは、前記１つまたは複数のブロックのためのクロマサンプリングフォーマットの指示を受信することと、前記クロマサンプリングフォーマットに基づいて、適応色変換が有効にされると決定することとを行うようにさらに構成された、上記Ｃ２２に記載のデバイス。
［Ｃ２８］
前記デバイスが、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス
のうちの少なくとも１つを備える、上記Ｃ２２に記載のデバイス。
［Ｃ２９］
前記デバイスがワイヤレス通信デバイスを備え、
符号化ビデオデータを受信するように構成された受信機
をさらに備える、上記Ｃ２２に記載のデバイス。
［Ｃ３０］
前記ワイヤレス通信デバイスが電話を備え、ここにおいて、前記受信機が、ワイヤレス電気通信規格に従って変調された信号中で前記符号化ビデオデータを受信するように構成された、上記Ｃ２９に記載のデバイス。
［Ｃ３１］
ビデオデータを復号するための装置であって、前記装置は、
前記ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定するための手段と、
適応色変換が有効にされていることに応答して、ピクチャパラメータセット中で１つまたは複数のオフセット値を受信するための手段と、
前記１つまたは複数のオフセット値のうちの第１のオフセット値に基づいて第１の色空間の第１の色成分についての量子化パラメータを決定するための手段と、
前記量子化パラメータに基づいて変換係数を量子化解除するための手段と
を備える、装置。
［Ｃ３２］
１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
前記ビデオデータの１つまたは複数のブロックについて、適応色変換が有効にされると決定することと、
適応色変換が有効にされていることに応答して、ピクチャパラメータセット中で１つまたは複数のオフセット値を受信することと、
前記１つまたは複数のオフセット値のうちの第１のオフセット値に基づいて第１の色空間の第１の色成分についての量子化パラメータを決定することと、
前記量子化パラメータに基づいて変換係数を量子化解除することと
を行わせる命令を記憶するコンピュータ可読媒体。
【図１】
0006549223.tif 000048
【図２Ａ】
0006549223.tif 000049
【図２Ｂ】
0006549223.tif 000050
【図２Ｃ】
0006549223.tif 000051
【図３】
0006549223.tif 000052
【図４】
0006549223.tif 000053
【図５】
0006549223.tif 000054
【図６】
0006549223.tif 000055
【図７】
0006549223.tif 000056
【図８】
0006549223.tif 000057
【図９】
0006549223.tif 000058
【図１０】
0006549223.tif 000059
【図１１】
0006549223.tif 000060
【図１２】
0006549223.tif 000061
【図１３】
0006549223.tif 000062
【図１４】
0006549223.tif 000063