(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、前記方法は、
コーディングユニットに重み付き差分色変換を適用することに関連するコストを決定することと、ここにおいて、前記重み付き差分色変換が、
【数１】
0006728039.tif 000075
を備え、
ここにおいて、α1とα2との値は、前記重み付き差分色変換のパラメータであり、および整数のセットと、２進数のセットと、２進数をもつ分数のセットとからなるグループのうちの少なくとも１つを備える値のセットに制約され、
前記コストに基づいて、前記重み付き差分色変換を前記コーディングユニットに適用すべきかどうかを適応的に決定することと、
前記重み付き差分色変換を前記コーディングユニットに適用するとの前記決定に基づいて、ピクセル領域残差係数の第２のブロックを生成するために、前記重み付き差分色変換を使用して、前記コーディングユニットの第１のブロックを変換することと、
ここにおいて、前記第１のブロックは、前記コーディングユニットのピクセル領域残差係数を備え、
前記重み付き差分色変換が前記第１のブロックに適用されているかどうかを示すデータをシグナリングすることと、
ピクセル領域残差係数の前記第２のブロックを符号化することと、
ビットストリーム内で、α1とα2との前記値を符号化することと、
を備える、方法。
【請求項２】
ビデオデータを復号する方法であって、前記方法は、
ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信することと、前記シンタックスデータが逆重み付き差分色変換のうちの１つを示し、前記逆重み付き差分色変換が、
【数２】
0006728039.tif 000076
を備え、
ここにおいて、α1とα2との値は、前記逆重み付き差分色変換のパラメータであり、および整数のセットと、２進数のセットと、２進数をもつ分数のセットとからなるグループのうちの少なくとも１つを備える値のセットに制約され、
前記受信されたシンタックスデータに基づいて、前記逆重み付き差分色変換を適用するかどうかを適応的に決定することと、
前記ビットストリームから、α1とα2との前記値を復号することと、
前記逆重み付き差分色変換を前記コーディングユニットに適用するとの前記決定に基づいて、ピクセル領域残差係数の第２のブロックを生成するために、前記逆重み付き差分色変換を使用して、前記コーディングユニットの第１のブロックを、逆変換することと、
ここにおいて、前記第１のブロックは、前記コーディングユニットのピクセル領域残差係数を備え、
ピクセル領域残差係数の前記第２のブロックを復号することと、
を備える、方法。
【請求項３】
前記方法は、
前記コード化ユニットについてフラグシンタックス要素の値を復号することと、
前記フラグシンタックス要素の前記値に基づいて前記第１のブロックに前記逆重み付き色変換を適用すべきかどうかを決定することと、
をさらに備え、
ここにおいて、前記フラグの第１の値は、前記逆重み付き色変換を適用することを示し、および
ここにおいて、前記フラグの第２の値は、前記逆重み付き色変換を適用しないことを示す、請求項２に記載の方法。
【請求項４】
ビデオデータを符号化するためのデバイスであって、前記デバイスは、
ビデオデータを記憶するように構成されたメモリと、
コーディングユニットに重み付き差分色変換を適用することに関連するコストを決定することと、ここにおいて、前記重み付き差分変換を決定することが、
【数３】
0006728039.tif 000077
を備え、
ここにおいて、α1とα2との値は、前記重み付き差分色変換のパラメータであり、および整数のセットと、２進数のセットと、２進数をもつ分数のセットとからなるグループのうちの少なくとも１つを備える値のセットに制約され、
前記コストに基づいて、前記重み付き差分色変換を前記コーディングユニットに適用すべきかどうかを適応的に決定することと、
前記重み付き差分色変換を前記コーディングユニットに適用するとの前記決定に基づいて、ピクセル領域残差係数の第２のブロックを生成するために、前記重み付き差分色変換を使用して、前記コーディングユニットの第１のブロックを変換することと、
ここにおいて、前記第１のブロックは、前記コーディングユニットのピクセル領域残差係数を備え、
前記重み付き差分色変換が前記第１のブロックに適用されているかどうかを示すデータをシグナリングすることと、
ピクセル領域残差係数の前記第２のブロックを符号化することと、
ビットストリーム内で、α1とα2との前記値を符号化することと、
を行うように構成された少なくとも１つのプロセッサとを備える、デバイス。
【請求項５】
前記デバイスは、
集積回路と、
マイクロプロセッサと、
ワイヤレス通信デバイスとのうちの少なくとも１つを備える、請求項４に記載のデバイス。
【請求項６】
ビデオを復号するためのデバイスであって、前記デバイスは、
ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信するための手段と、前記シンタックスデータが逆重み付き差分色変換を示し、前記逆重み付き差分色変換が、
【数４】
0006728039.tif 000078
を備え、
ここにおいて、α1とα2との値は、前記逆重み付き差分色変換のパラメータであり、および整数のセットと、２進数のセットと、２進数をもつ分数のセットとからなるグループのうちの少なくとも１つを備える値のセットに制約され、
前記ビットストリームから、α1とα2との前記値を復号するための手段と、
前記逆重み付き差分色変換を前記コーディングユニットに適用すると適応的に決定することに基づいて、ピクセル領域残差係数の第２のブロックを生成するために、前記逆重み付き差分色変換を使用して、前記コーディングユニットの第１のブロックを、逆変換するための手段と、
ここにおいて、前記第１のブロックは、前記コーディングユニットのピクセル領域残差係数を備え、
ピクセル領域残差係数の前記第２のブロックを復号するための手段と、
を備える、デバイス。
【請求項７】
前記デバイスは、
ビデオデータを記憶するように構成されたメモリを備え、
シンタックスデータを受信するための前記手段、α1とα2との前記値を復号するための前記手段、およびコード化データの前記第１のブロックを、逆変換するための前記手段は、少なくとも１つのプロセッサを備える、請求項６に記載のビデオデータを復号するためのデバイス。
【請求項８】
前記デバイスは、
集積回路と、
マイクロプロセッサと、
ワイヤレス通信デバイスとのうちの少なくとも１つを備える、請求項７に記載のデバイス。
【請求項９】
前記少なくとも１つのプロセッサは、
前記コード化ユニットについてフラグシンタックス要素の値を復号することと、
前記フラグシンタックス要素の前記値に基づいて前記第１のブロックに前記逆重み付き色変換を適用すべきかどうかを決定することと、
を行うようにさらに構成され、
ここにおいて、前記フラグの第１の値は、前記逆重み付き色変換を適用することを示し、および
ここにおいて、前記フラグの第２の値は、前記逆重み付き色変換を適用しないことを示す、請求項７に記載のデバイス。
【請求項１０】
実行されたとき、少なくとも１つのプロセッサに、請求項１から請求項３のうちのいずれか一項に記載の方法を実施させる命令を記憶した非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その内容全体が参照により本明細書に完全に組み込まれる、２０１３年６月２１日に出願された米国出願第６１／８３８，１５２号の優先権を主張する。
【０００２】
[0002]本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、ならびにスケーラブルビデオコーディング（ＳＶＣ）拡張、マルチビュービデオコーディング（ＭＶＣ）拡張、およびレンジ拡張など、そのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、コーディングツリーユニット（ＣＴＵ）、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初は２次元アレイで構成される、量子化された変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示では、第２の色空間を有するサンプルのブロックに第１の色空間を有するビデオデータのブロックのサンプル間で変換するように構成されたビデオコーダに関係する技法について説明する。色空間は、ＲＧＢ（赤、緑、青）ＹＣｂＣｒ、ＹＣｇＣｏ、または別の色空間を含み得る。ビデオ前処理の一部として、ＲＧＢ色空間を有するビデオで作業することが望ましいことがある。前処理が完了すると、ビデオはしばしば、ＹＣｂＣｒフォーマットなど、異なる色空間に変換される。ある色空間（たとえば、ＲＧＢ）から別の色空間への色変換は色ひずみを生じることがあり、ユーザは、その色ひずみを主観的な品質劣化として知覚し得る。本開示の技法のうちの１つまたは複数は、ＲＧＢビデオ入力ソースからのビデオを異なる色空間を有するビデオに圧縮するときおよびその逆に圧縮するとき、圧縮効率を改善しおよび／またはひずみを低減し得る色変換を対象とする。
【０００７】
[0007]本開示の技法によれば、ビデオデータを符号化する方法は、コーディングユニットでの複数の色変換に関連するコストを決定することと、最も低い関連するコストを有する複数の色変換のうちの色変換を選択することとを含む。本方法は、複数の色変換のうちの選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１のブロックを適応的に変換することと、第２の色空間を有する第２のビデオブロックを符号化することとをさらに含む。
【０００８】
[0008]別の例では、本開示の技法によれば、ビデオデータを復号する方法は、ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信することと、シンタックスデータが複数の逆色変換のうちの１つを示す、受信されたシンタックスデータに基づいて複数の逆色変換のうちの逆色変換を選択することと、複数の逆色変換のうちの選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに逆変換することと、第２のＲＧＢ色空間を有する第２のビデオブロックを復号することとを含む。
【０００９】
[0009]本開示の別の例は、ビデオデータを記憶するように構成されたメモリと、コーディングユニットに関連する複数の色変換に関連するコストを決定することと、コーディングユニットに関連する複数の色変換に関連するコストを決定することと、最も低い関連するコストを有する複数の色変換のうちの色変換を選択することと、複数の色変換のうちの選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１のブロックを変換することと、第２の色空間を有する第２のビデオブロックを符号化することとを行うように構成された少なくとも１つのプロセッサとを含むビデオデータを符号化するためのデバイスについて説明する。
【００１０】
[0010]本開示の別の例は、ビデオデータを記憶するように構成されたメモリと、ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信することと、シンタックスデータが複数の逆色変換のうちの１つを示す、受信されたシンタックスデータに基づいて複数の逆色変換のうちの逆色変換を選択することと、複数の逆色変換のうちの選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに逆変換することと、第２のＲＧＢ色空間を有する第２のビデオブロックを復号することとを行うように構成された少なくとも１つのプロセッサとを含むビデオデータを復号するためのデバイスについて説明する。
【００１１】
[0011]本開示の別の例では、ビデオを復号するためのデバイスについて説明する。本デバイスは、ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信するための手段と、シンタックスデータが複数の逆色変換のうちの１つを示す、受信されたシンタックスデータに基づいて複数の逆色変換のうちの逆色変換を選択するための手段と、複数の逆色変換のうちの選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに逆変換するための手段と、第２のＲＧＢ色空間を有する第２のビデオブロックを復号するための手段とを含む。
【００１２】
[0012]別の例では、非一時的コンピュータ可読記憶媒体は、実行されたとき、少なくとも１つのプロセッサに、ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信することと、シンタックスデータが複数の逆色変換のうちの１つを示す、受信されたシンタックスデータに基づいて複数の逆色変換のうちの逆色変換を選択することと、複数の逆色変換のうちの選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに逆変換することと、第２のＲＧＢ色空間を有する第２のビデオブロックを復号することとを行わせる命令を記憶している。
【００１３】
[0013]添付の図面および以下の説明において、１つまたは複数の例の詳細について述べる。他の特徴、目的、および利点は、説明、および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】[0014]本開示の１つまたは複数の技法を実装し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0015]本開示の１つまたは複数の態様による、色変換を使用してＲＧＢ色空間を有するビデオデータのブロックを第２の色空間を有するビデオデータのブロックに変換するための技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】[0016]本開示の１つまたは複数の態様による、色空間を使用して第１の色空間を有するビデオデータを第２のＲＧＢ色空間を有するビデオデータに変換するための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0017]本開示の１つまたは複数の態様による、色変換を使用してＲＧＢ色空間を有するビデオデータを第２の色空間を有するビデオデータに変換するための技法を利用し得るビデオエンコーダの別の例を示すブロック図。
【図５】[0018]本開示の１つまたは複数の態様による、逆色変換を使用して第１の色空間を有するビデオデータのブロックを第２のＲＧＢ色空間を有するビデオデータビデオデータのブロックに逆変換するための技法を利用し得るビデオデコーダの別の例を示すブロック図。
【図６】[0019]本開示の１つまたは複数の態様による、色変換を使用してＲＧＢ色空間を有するビデオデータを第２の色空間を有するビデオデータに変換するためのプロセスを示すフローチャート。
【図７】[0020]本開示の１つまたは複数の態様による、逆色変換を使用して第１の色空間を有するビデオデータのブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに変換するためのプロセスを示すフローチャート。
【図８】[0021]第１の色空間を有するビデオデータの元のブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに逆変換するためのプロセスを示すフローチャート。
【図９】[0022]第１の色空間を有するビデオデータの残差ブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに逆変換するためのプロセスを示すフローチャート。
【図１０】[0023]第１の色空間を有するビデオデータの元のブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに変換するためのプロセスを示すフローチャート。
【図１１】[0024]第１の色空間を有するビデオデータの残差ブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに変換するためのプロセスを示すフローチャート。
【発明を実施するための形態】
【００１５】
[0025]ビデオコーダ（すなわちビデオエンコーダまたはデコーダ）は、ピクチャのシーケンスとして概して表されるビデオシーケンスをコーディングするように概して構成される。典型的に、ビデオコーダは、ピクチャのシーケンスの各々をコーディングするためにブロックベースのコーディング技法を使用する。ブロックベースのビデオコーディングの一部として、ビデオコーダは、ビデオシーケンスの各ピクチャをデータのブロックに分割する。ビデオコーダは、ブロックの各々を個々にコーディング（すなわち符号化または復号）する。ビデオデータのブロックを符号化することは、元のブロックのための１つまたは複数の予測ブロックと、元のブロックと１つまたは複数の予測ブロックとの間の差分に対応する残差ブロックとを生成することによって、データの元のブロックを符号化することを概して伴う。特に、ビデオデータの元のブロックは、「サンプル」の１つまたは複数のチャネルからなるピクセル値の行列を含み、予測ブロックは、その各々が予測サンプルから同じく作られる予測ピクセル値の行列を含む。残差ブロックの各サンプルは、予測ブロックのサンプルと、元のブロックの対応するサンプルとの間の差分を示す。
【００１６】
[0026]ビデオデータのブロックのための予測技法は、概して、イントラ予測およびインター予測としてカテゴリー分類される。イントラ予測（すなわち、空間的予測）は、隣接する、前にコーディングされたブロックのピクセル値からブロックを予測することを概して伴う。インター予測は、前にコーディングされたピクチャのピクセル値からブロックを予測することを概して伴う。
【００１７】
[0027]ビデオデータの各ブロックのピクセルは、「色空間」と呼ばれる、特定のフォーマットでの色をそれぞれ表す。言い換えれば、ブロックは特定の色空間を「有する」。色空間は「カラー空間」と呼ばれることもある。色空間は、色が数のタプルとして表され得る方法を記述する数学的モデルである。異なるビデオコーディング規格は、ビデオデータを表すために異なる色空間を使用し得る。一例として、ジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）によって開発された高効率ビデオコーディング（ＨＥＶＣ）ビデオ規格のメインプロファイルは、ビデオデータのブロックのピクセルを表すためにＹＣｂＣｒ色空間を使用する。
【００１８】
[0028]ＹＣｂＣｒ色空間は、ビデオデータの各ピクセルが色情報の３つのサンプル成分またはチャネル、「Ｙ」、「Ｃｂ」、および「Ｃｒ」によって表される色空間を概して指す。Ｙチャネルは、特定のサンプルのためのルミナンス（すなわち輝度）データを含んでいる。Ｃｂ成分およびＣｒ成分は、それぞれ、青色差クロミナンス成分および赤色差クロミナンス成分である。Ｙ成分とＣｂ成分とＣｒ成分との各々の間に強い無相関があり、これは、ＹチャネルとＣｂチャネルとＣｒチャネルの各々の間で重複しているかまたは冗長であるデータがほとんどないことを意味するので、ＹＣｂＣｒはしばしば、圧縮されたビデオデータで色を表すために使用される。したがって、ＹＣｂＣｒ色空間を使用してビデオデータをコーディングすると、多くの場合、良好な圧縮性能が提供される。
【００１９】
[0029]さらに、多くのビデオコーディング技法は、色データの圧縮をさらに改善するために「クロマサブサンプリング」と呼ばれる技法を利用する。クロマサブサンプリングは、ブロックのためにルーマ情報よりも少ないクロマ情報を使用して、すなわち、同じブロック中でルーマサンプルの数に対してより少ない数のクロマサンプルを使用してビデオデータのブロックをコーディングすることを指す。ＹＣｂＣｒ色空間を有するビデオデータのクロマサブサンプリングは、パターンに従ってクロマ成分を選択的に省略することによって、コード化ビデオビットストリーム中でシグナリングされるクロマ値の数を低減する。クロマサブサンプリングされたビデオデータのブロックでは、概して、ブロックのピクセルごとにルーマサンプルがある。しかしながら、ビデオコーダは、ブロックのピクセルのうちのいくつかについてＣｂおよびＣｒサンプルをシグナリングすることのみができ得る。
【００２０】
[0030]クロマサブサンプリングのために構成されたビデオコーダは、ピクセルについてＣｂ成分とＣｒ成分とを補間し、ここで、Ｃｂ値とＣｒ値とは、ピクセルのクロマサブサンプリングされたブロックについて明示的にシグナリングされない。クロマサブサンプリングは、より均一であるピクセルのブロック中に多くのひずみをもたらすことなしにクロミナンスデータの量を低減するためにうまく動作する。クロマサブサンプリングは、大幅に異なるクロマ値を有するビデオデータを表すためにあまりうまく動作せず、それらの場合、大量のひずみをもたらし得る。
【００２１】
[0031]ＨＥＶＣ規格への拡張であるＨＥＶＣレンジ拡張は、追加の色空間およびクロマサブサンプリングフォーマットについて、ならびに増加した色ビット深度についてＨＥＶＣへのサポートを追加する。色ビット深度は、色空間の成分を表すために使用されるビット数である。他の色空間のためのサポートは、ビデオデータのＲＧＢソースを符号化および復号するためのサポート、ならびに他の色空間を有するビデオデータをコーディングするためのサポートを含み得る。
【００２２】
[0032]ビデオ前処理アプリケーションなど、アプリケーションによっては、ＨＥＶＣビデオにおいてＹＣｂＣｒ以外の色空間を使用することが有用であり得る。高忠実度ビデオソース、たとえばビデオカメラは、ＲＧＢ色空間を使用して、赤色チャネルと緑色チャネルと青色チャネルとの各々に対応し得る個別の電荷結合デバイス（ＣＣＤ）を使用してビデオデータをキャプチャし得る。ＲＧＢ色空間（特にＲＧＢ４：４：４色空間）は、各ピクセルを赤色サンプルと緑色サンプルと青色サンプルとの組合せとして表す。
【００２３】
[0033]ビデオ処理ソフトウェアおよび前処理アプリケーションは、ＹＣｂＣｒ色空間の成分などの色成分ではなく、ＲＧＢ色空間でより良く動作するか、またはＲＧＢ色空間のみと互換性があり得る。さらに、いくつかのＲＧＢ色空間は、ピクセルごとにＲサンプルとＧサンプルとＢサンプルとの各々を含み得、すなわちビデオコーダはクロマサブサンプリングを実施しなくてよい。クロマサブサンプリングなしのビデオブロックは、クロマサブサンプリングフォーマットを使用するビデオブロックと比較して、より良い主観的視覚的品質を有し得る。
【００２４】
[0034]しかしながら、ＲＧＢは、赤色成分と緑色成分と青色成分との各々の間に有意な相関があるという欠点がある。ＲＧＢ色空間における比較的より高い色相関のために、ＲＧＢ色空間を有するビデオデータのブロックを表すために必要とされるデータの量は、他の色空間を使用して表されるビデオデータのブロックよりもはるかに大きくなり得る。
【００２５】
[0035]圧縮性能を改善するために、本開示の技法のうちの１つまたは複数に従って構成されたビデオコーダは、ＲＧＢ色空間などの第１の色空間を有するビデオデータのブロックを、ＹＣｂＣｒまたは別の色空間などの異なる色空間を有するビデオのブロックに、およびその逆に変換し得る。しかしながら、ＲＧＢへのおよびＲＧＢから別の色空間への変換は、ビデオ品質に悪影響を及ぼし得るひずみをもたらし得る。ひずみは、第１の色空間と第２の色空間との間の異なるビット深度の結果であり得る。また、本開示の技法のうちのより多くのものの１つに従って構成されたビデオコーダは、いかなるひずみももたらすことなしにＲＧＢにおよびＲＧＢから異なる色空間にビデオデータを変換することが可能である。本開示の技法のうちの１つまたは複数は、過大なひずみをもたらすことなしにＲＧＢビデオデータを圧縮するために色変換を使用してＲＧＢ色空間を有するビデオデータを第２の色空間に変換するための技法を対象とする。
【００２６】
[0036]本開示の技法のうちの１つまたは複数は、色変換を使用して第１の色空間を有するビデオデータのブロックを第２の色空間を有するビデオデータのブロックに変換する。いくつかの例では、色変換は行列であり、この行列は、色空間のサンプルの行列で乗算されたとき、色変換行列に関連付けられた色空間を有するピクセルを生成する。いくつかの例では、色変換は１つまたは複数の式を備え得る。本開示の技法のうちの１つまたは複数は、第２の色空間を有するビデオデータのブロックを生成するためにＲＧＢ色空間を有するビデオデータのブロックを適応的に変換するように構成され得るビデオコーダをさらに対象とする。第２の色空間は、色空間の間でサンプルを変換するときにビデオコーダが選択し得る複数の色空間のうちの１つであり得る。
【００２７】
[0037]ＲＧＢ色空間を有するビデオデータを変換するために１つまたは複数の色空間のうちのどれかを決定するために、ビデオコーダは、たとえばいくつかのメトリックに基づいて、適応的に変換を選択し得る。いくつかの例では、ビデオコーダは、色変換の各々に関連するコスト値を決定し得、最も低いコストを生成する色変換を決定し得る。別の例では、コストは、ＲＧＢビデオデータのブロックの色成分の各々と、第２の色空間の色成分との間の相関に基づき得る。最も低い関連するコストを有する色変換は、ソースビデオのＲＧＢ色成分と最も密接に相関する色成分を有する色変換であり得る。いくつかの例では、ビデオデコーダは、ビデオエンコーダから受信されたシンタックスデータに基づいて逆色変換を選択し得る。シンタックスデータは、ビデオデータのコード化ユニットの１つまたは複数のブロックに適用すべき１つまたは複数の色変換の逆色変換を示し得る。
【００２８】
[0038]ＨＥＶＣビデオコーディング規格は、ビデオデータのブロックを定義するツリー様の構造を定義している。本開示の技法は、ＨＥＶＣのツリー様の構造の様々な異なる構成要素に適用され得る。ＨＥＶＣでは、ビデオコーダは、ツリー構造に基づいて、（「フレーム」とも呼ばれる）コード化ピクチャをブロックに分解する。そのようなブロックはツリーブロックと呼ばれることがある。いくつかの事例では、ツリーブロックは最大コーディングユニット（ＬＣＵ）と呼ばれることもある。ＨＥＶＣのツリーブロックは、Ｈ．２６４／ＡＶＣなど、以前のビデオコーディング規格のマクロブロックにほぼ類似し得る。ただし、いくつかのビデオコーディング規格のマクロブロックとは異なり、ツリーブロックは一定のサイズ（たとえば一定数のピクセル）に限定されない。ツリーブロックは１つまたは複数のコーディングユニット（ＣＵ）を含み得、ＣＵはサブコーディングユニット（サブＣＵ）に再帰的に分割され得る。
【００２９】
[0039]各ＣＵは、１つまたは複数の変換ユニット（ＴＵ）を含み得る。各ＴＵは、変換された残差データを含み得る。さらに、各ＣＵは１つまたは複数の予測ユニット（ＰＵ）を含み得る。ＰＵは、ＣＵの予測モードに関係する情報を含む。本開示の技法は、ビデオデータのＬＣＵ、ＣＵ、サブＣＵ、ＰＵ、ＴＵ、マクロブロック、マクロブロックパーティション、サブマクロブロック、または他のタイプのブロックのうちの１つまたは複数など、ブロックに色変換を適用し得る。
【００３０】
[0040]ビデオコーダは、ビデオコーディングプロセスの様々な段階において本開示の技法を実施するように構成され得る。一例では、ビデオエンコーダは、入力ビデオ信号、たとえばＲＧＢ色空間を有するビデオブロックに色変換を適用し得る。ビデオエンコーダは、次いで、第２の色空間を有する変換されたブロックに作用し得る。たとえば、ビデオエンコーダは、変換されたブロックを符号化し得る。復号中に、ビデオデコーダは、第２の色空間を有するブロックを再構成するために概して逆のプロセスを実施し得、再構成されたピクチャを出力する直前に逆色変換を適用し得る。
【００３１】
[0041]別の例では、本開示の技法に従って構成されたビデオエンコーダは、複数の色変換のうちの選択された色変換を使用してＲＧＢ色空間を有する残差ビデオデータのブロックを第２の色空間を有するビデオデータの第２のブロックに変換し得る。同様の様式で構成されたビデオデコーダは、ブロックをＲＧＢ色空間を有する残差データのブロックに変換するために、複数の色変換のうちの選択された逆色変換を第２の色空間を有する残差データのブロックに適用し得る。
【００３２】
[0042]ビデオコーダは、ビデオデータのブロックに特定の色変換が適用されていることを、いくつかの異なる方法でシグナリングまたは決定し得る。一例では、ビデオコーダは、ブロックごとに、そのブロックを変換するために複数の色変換のうちの選択された変換が使用されたことを示すデータ（たとえば、インデックス値）と、ビデオデータのそのブロックに関連する色空間をコーディング（すなわち、符号化または復号）し得る。インデックス値はまた、ビデオデコーダがブロックを逆変換するために適用すべきである、選択された逆色変換を示し得る。
【００３３】
[0043]第２の例では、ビデオエンコーダは、ピクチャの各ブロックを変換するために単一の色変換が使用されるべきであることを決定し得る。この例では、ビデオコーダは、たとえば、他の場所で本開示の他の場所で説明するコストベースの基準のうちの１つまたは複数を使用して、ピクチャのブロックの各々に色変換を適用すべきか否かを個々に決定し得る。ビデオコーダは、次いで、ＣＶＳのブロックの各々に単一の変換が適用されているか否か示すデータをコーディングし得る。エンコーダは、単一の色変換が１つのブロックまたは複数のブロックに適用されていることこと、あるいは単一の色変換がそのブロックまたは複数のブロックに適用されていないこと（すなわち、いかなる変換もブロックに適用されていないこと）を示す、フラグシンタックス要素などのデータを符号化する。ビデオデコーダは、単一の色変換がそのブロックまたは複数のブロックに適用されていることこと、あるいは単一の色変換がそのブロックまたはそれらの複数のブロックに適用されていないことを示すデータを復号し、ブロックに逆色変換を適用する。これらの例では、第１のフラグ値は、変換が適用されていることを示し得、一方、フラグシンタックス要素の第２の異なる値は、変換が適用されていないことを示し得る。
【００３４】
[0044]いくつかの例では、ビデオエンコーダは、ＣＶＳのピクチャのブロックの各々に単一の色変換が適用されるべきであることを決定する。言い換えれば、ビデオエンコーダは、ＣＶＳのすべてのピクチャのすべてのブロックに適用するために単一の色変換を選択する。ビデオエンコーダは、決定された単一の色変換を使用してＣＶＳのブロックの各々を変換する。ＣＶＳのピクチャのすべてのブロックは単一の色変換を使用して変換され、どんなブロックも変換されないままにならない。すべてのブロックは決定された色変換を使用して変換されるので、ビデオコーダは、決定された色変換を使用して特定のブロックが変換されていることを示すデータをコーディングすることが不要であり得る。
【００３５】
[0045]本開示の色変換は、必ずしも限定されるとは限らないが、恒等変換、差分変換、重み付き差分変換、離散コサイン変換（ＤＣＴ）、ＹＣｂＣｒ変換、ＹＣｇＣｏ変換、ＹＣｇＣｏ−Ｒ変換、および／または本明細書で特に説明しない変換を含み得る。恒等変換を適用することは、変換をまったく適用しないことと同じであり得る。
【００３６】
[0046]ＲＧＢ色空間を有するビデオデータのブロックに色変換を適用するために、ビデオエンコーダは、３×１行列に色変換行列を乗算し得る。３×１行列は、赤色成分と、緑色成分と、青色成分とを備え得る。行列乗算の結果は、第２の色空間を有するピクセルまたはピクセルのセットである。ビデオコーダは、ビデオブロックの各ピクセルに色変換行列を適用し得る。ビデオコーダは、本開示の他の場所で説明するように、コスト基準に基づいて適切な行列を選択し得る。
【００３７】
[0047]復号中に、本開示の技法のうち１つまたは複数に従って構成されたビデオデコーダは、コード化ビデオビットストリーム中でシグナリングされるデータに基づいて逆変換行列を選択し得る。さらに、ビデオコーダは、３×１行列に逆変換行列を乗算し得る。３×１行列は第２の色空間のためのピクセルデータを備え得る。乗算の結果はＲＧＢ色空間中のピクセルである。
【００３８】
[0048]図１は、本開示の１つまたは複数の態様による、色変換を使用して第１の表現を有するビデオデータを第２の色空間を有するビデオデータに変換するための技法を実装し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。
【００３９】
[0049]図１は、本開示の１つまたは複数の態様による、色変換を使用して第２の色空間を有するデータを有するビデオの第２のブロックを生成するために第１の空間を有するビデオデータのブロックを変換するための技法を実装し得る例示的なビデオ符号化および復号システムを示すブロック図である。図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、複数の色変換のうちの色変換を使用して第１の色空間を有するデータの第１のブロックを第２の色空間を有するビデオデータの第２のブロックに変換する技法を適用することと、第２の色空間を有する第２のビデオブロックをコーディングすることとを行うように構成され得る。
【００４０】
[0050]具体的には、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信のために装備され得る。
【００４１】
[0051]宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、ソースデバイス１２から符号化ビデオデータを受信し、たとえば、ネットワーク送信を介して、その符号化ビデオデータを宛先デバイス１４に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
【００４２】
[0052]符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を促進するために有用であり得る任意の他の機器を含み得る。
【００４３】
[0053]いくつかの例では、出力インターフェース２２は、記憶デバイスに符号化データを出力し得る。同様に、入力インターフェース２８は、記憶デバイスからの符号化データにアクセスし得る。記憶デバイスは、ハードドライブ、Ｂｌｕ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス１４は、（たとえば、ストリーミングまたはダウンロードを介して）記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な、任意のタイプのサーバであり得る。例示的なファイルサーバとしては、ウェブサーバ（たとえば、ウェブサイト用の）、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ハイパーテキスト転送プロトコル（ＨＴＴＰ）ストリーミングサーバ、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む、標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶されている符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００４４】
[0054]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために一方向または双方向のビデオ送信をサポートするように構成され得る。
【００４５】
[0055]図１のシステム１０は一例にすぎない。第１の色空間を有するデータのブロックをビデオデータの第２のブロックに変換するための技法は、複数の色変換のうちの色変換を使用する第２の色空間を有し、どんなデジタルビデオ符号化および／または復号デバイスによっても実施され得る。概して、本開示の技法は、ビデオ符号化デバイスによって実施されるが、本技法は、通常「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実施され得る。その上、本開示の技法はビデオプリプロセッサによっても実施され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が、宛先デバイス１４に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのために、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００４６】
[0056]ソースデバイス１２のビデオソース１８は、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなど、ビデオキャプチャデバイスを含み得る。いくつかの例では、ビデオソース１８は、ソースビデオとしてコンピュータグラフィックスベースのデータ、または、ライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成する。場合によっては、ビデオソース１８はビデオカメラであり得る。いくつかの例では、ビデオソース１８はビデオカメラであり得る。いくつかの例では、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンであり得る。様々な例では、ビデオソース１８は、ＲＧＢ色空間を有する入力信号を出力し得る。しかしながら、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータで生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。出力インターフェース２２は、コンピュータ可読媒体１６上にｈｅ符号化ビデオ情報を出力し得る。
【００４７】
[0057]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、ソースデバイス１２から符号化ビデオデータを受信し、たとえば、ネットワーク送信を介して、その符号化ビデオデータを宛先デバイス１４に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
【００４８】
[0058]図１の例において、宛先デバイス１４の入力インターフェース２８は、情報をコンピュータ可読媒体１６から受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０により定義された、ブロックおよび他のコーディングユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含むシンタックス情報を含み得る。ディスプレイデバイス３２は復号ビデオデータをユーザに表示する。ディスプレイデバイス３２は、陰極線管（ＣＲＴ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００４９】
[0059]ビデオエンコーダ２０およびビデオデコーダ３０は、ジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）によって開発された、最近確定された高効率ビデオコーディング（ＨＥＶＣ）、ならびにＨＥＶＣレンジ拡張など、ビデオコーディング規格に従って動作し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００５０】
[0060]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００５１】
[0061]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアあるいはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本開示の技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実施するための１つまたは複数のプロセッサを使用して、ハードウェアで命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれもが、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００５２】
[0062]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰに含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに作用する。
【００５３】
[0063]ＨＥＶＣは、ビデオフレームまたはピクチャがツリーブロック（すなわち、最大コーディングユニット（ＬＣＵ）または「コーディングツリーユニット」（ＣＴＵ））のシーケンスに分割され得ることを記載している。ツリーブロックはルーマおよび／またはクロマサンプルを含み得る。ビットストリーム内のシンタックスデータは、ピクセルの数に関して最大コーディングユニットであるＬＣＵのサイズを定義し得る。いくつかの例では、ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える。モノクロームピクチャまたは３つの別個の色平面を有するピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックはサンプルのＮ×Ｎブロックであり得る。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。スライスは、いくつかの連続するツリーブロックをコーディング順序（たとえば、ラスタ走査順序）で含む。
【００５４】
[0064]各ツリーブロックは、４分木に従って１つまたは複数のコーディングユニット（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。
【００５５】
[0065]４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを提供し得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、ＣＵは、リーフＣＵと呼ばれる。
【００５６】
[0066]ビデオエンコーダ２０は、ＣＴＵのコーディングツリーブロックに対して４分木区分を再帰的に実施して、コーディングツリーブロックをコーディングブロックに分割し得、したがって「コーディングツリーユニット」という名称がある。コーディングブロックはサンプルのＮ×Ｎのブロックであり得る。いくつかの例では、ＣＵは、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える。モノクロームピクチャまたは３つの別個の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００５７】
[0067]ＣＵは、ＣＵがサイズの差異を有さないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、４つの子ノード（サブＣＵとも呼ばれる）に分割され得、各子ノードは、次に親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ）をも定義し得る。本開示では、ＨＥＶＣのコンテキストにおける１つまたは複数の予測ユニット（ＰＵ）または変換ユニット（ＴＵ）を、あるいは他の規格のコンテキストにおける同様のデータ構造（たとえば、Ｈ．２６４／ＡＶＣにおけるマクロブロックおよびそれのサブブロック）をさらに含み得る、ＣＵのいずれかを指すために、「ブロック」という用語を使用する。
【００５８】
[0068]ＣＵは、１つまたは複数の予測ユニット（ＰＵ）と、１つまたは複数の変換ユニット（ＴＵ）とを含む。ＣＵ対応のサイズは、形状が正方形または矩形であり得る。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルを有するツリーブロックのサイズまで及び得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。ＣＵは、ＣＵのＰＵの形状が非正方形になり得るように区分され得る。ＣＵに関連するシンタックスデータはまた、たとえば、４分木に従ってＣＵを１つまたは複数のＴＵに区分することを記述し得る。
【００５９】
[0069]ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵのＰＵは、ピクチャのルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別個の色平面を有するピクチャでは、ＰＵは、単一の予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。
【００６０】
[0070]変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロックと、Ｃｂ変換ブロックと、Ｃｒ変換ブロックとを有し得る。ＴＵのルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであり得る。モノクロームピクチャまたは３つの別個の色平面を有するピクチャでは、ＴＵは、単一の変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。ＴＵは、形状が正方形または非正方形（たとえば、矩形）であり得る。言い換えれば、ＴＵに対応する変換ブロックは、形状が正方形または非正方形であり得る。
【００６１】
[0071]ＨＥＶＣ規格は、異なるＣＵに対して異なり得る、ＴＵに従う変換を可能にする。ＴＵは、通常、区分されたＬＣＵのために定義された、所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、これは常にそうであるとは限らない。ＴＵは、通常、ＰＵと同じサイズであるか、またはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ）として知られる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換され、その変換係数は量子化され得る。
【００６２】
[0072]概して、ＰＵは、対応するＣＵのすべてまたは一部分に対応する空間エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。いくつかの例では、ＰＵは、イントラモードまたはインターモードを使用して符号化され得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００６３】
[0073]上記のように、１つまたは複数のＰＵを有するリーフＣＵはまた、１つまたは複数のＴＵを含み得る。ＴＵは、上記で説明したように、ＲＱＴ（ＴＵ４分木構造とも呼ばれる）を使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各ＴＵユニットは、さらなるサブＴＵにさらに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、概して、リーフＣＵのすべてのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、ＰＵよりも大きくまたは小さくなり得る。イントラコーディングの場合、ＰＵは、同じＣＵの対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００６４】
[0074]その上、リーフＣＵのＴＵはまた、ＲＱＴと呼ばれるそれぞれの４分木データ構造に関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してツリーブロックに対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、別段に記載されていない限り、リーフＣＵおよびリーフＴＵを指すためにそれぞれＣＵおよびＴＵという用語を使用する。
【００６５】
[0075]ＰＵとＴＵの両方は、当該ブロックに関連する色空間のチャネルの各々に対応するサンプルの１つまたは複数のブロックを含んでいる（すなわち、対応する）ことがある。ＰＵのブロックは予測ブロックのサンプルを含み得、ＴＵのブロックは、元のブロックと予測ブロックとの間の差分に対応する残差サンプルを含むブロック得る。ＹＣｂＣｒ色空間に関連するブロックの場合、ルーマサンプルのブロックは「Ｙ」チャネルに対応し得、クロマブロックの２つの異なるチャネルは、それぞれＣｂチャネルおよびＣｒチャネルに対応し得る。
【００６６】
[0076]一例として、ＨＥＶＣは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＥＶＣは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測、および２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称なＰＵサイズでのインター予測をサポートする。ＨＥＶＣはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測について、非対称な区分をサポートする。非対称な区分では、ＣＵの一方向は区分されないが、他の方向は２５％および７５％に区分される。２５％のパーティションに対応するＣＵの部分は、「ｎ」と、それに続く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という指示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５ＮのＰＵと、下部の２Ｎ×１．５ＮのＰＵとによって水平に区分される２Ｎ×２ＮのＣＵを指す。
【００６７】
[0077]本開示では、「Ｎ×Ｎ」および「Ｎ  ｂｙ  Ｎ」は、垂直および水平の寸法の観点からビデオブロックのピクセル寸法を指すために、たとえば、１６×１６ピクセルまたは１６ｂｙ１６ピクセルのように、互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）、および水平方向に１６ピクセル（ｘ＝１６）を有する。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセル、および水平方向にＮピクセルを有し、ここで、Ｎは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ここで、Ｍは、必ずしもＮに等しいとは限らない。
【００６８】
[0078]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ２０またはビデオデコーダ３０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、空間領域（ピクセル領域とも呼ばれる）において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０またはビデオデコーダ３０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。言い換えれば、ビデオエンコーダ２０は、ＴＵのための変換係数ブロックを生成するために、ＴＵの変換ブロックに変換を適用し得る。ビデオデコーダ３０は、ＴＵのための変換ブロックを再構成するために、ＴＵの変換係数ブロックに逆変換を適用し得る。
【００６９】
[0079]変換係数を生成するための（もしあれば）変換の適用の後に、ビデオエンコーダ２０またはビデオデコーダ３０は、変換係数の量子化を実施し得る。言い換えれば、ビデオエンコーダ２０は、変換係数ブロックの変換係数を量子化し得る。ビデオデコーダ３０は、変換係数ブロックの変換係数を逆量子化し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ここで、ｎはｍよりも大きい。逆量子化（inverse quantization）（すなわち、逆量子化（dequantization））は、係数の一部または全部のビット深度を増加させ得る。
【００７０】
[0080]量子化の後に、ビデオエンコーダ２０は、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、アレイの前部により高いエネルギー（したがって、より低い周波数）係数を配置し、アレイの後部により低いエネルギー（したがって、より高い周波数）係数を配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０またはビデオデコーダ３０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０またはビデオデコーダ３０は適応走査を実施し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０またはビデオデコーダ３０は、たとえば、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディングまたは別のエントロピーコーディング方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデコーダ３０によるビデオデータの復号での使用のために、符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００７１】
[0081]ＣＡＢＡＣを実施するために、ビデオエンコーダ２０は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実施するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。可変長コーディング（ＶＬＣ）におけるコードワードは、比較的短いコードが優勢シンボルに対応する一方で、より長いコードが劣勢シンボルに対応するように構成され得る。このように、ＶＬＣの使用は、たとえば、送信されるべき各シンボルに対して等長のコードワードを使用するよりもビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００７２】
[0082]ビデオエンコーダ２０はさらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダ中で、ビデオデコーダ３０に送り得る。ＧＯＰシンタックスデータは、それぞれのＧＯＰの中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用された符号化／予測モードを示し得る。
【００７３】
[0083]本開示の技法のうちの１つまたは複数は、第１の色空間から第２の色空間にビデオデータを変換するための技法を対象とする。したがって、ビデオエンコーダ２０は、コーディングユニットに関連する複数の色変換に関連するコストを決定することと、最も低い関連するコストを有する複数の色変換のうちの色変換を選択することと、複数の色変換のうちの選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１のブロックを変換することと、第２の色空間を有する第２のビデオブロックを符号化することとを行うように構成されたビデオコーダの一例を表す。
【００７４】
[0084]ビデオデコーダ３０は、ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信することと、シンタックスデータが複数の逆色変換のうちの１つを示す、受信されたシンタックスデータに基づいて複数の逆色変換のうちの逆色変換を選択することと、複数の逆色変換のうちの選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに逆変換することと、第２のＲＧＢ色空間を有する第２のビデオブロックを復号することとを行うように構成されたビデオコーダの一例を表す。
【００７５】
[0085]図２は、本開示の１つまたは複数の態様による、色変換を使用して第１のＲＧＢ色空間を有するビデオデータのブロックを第２の色空間を有するビデオデータに変換するための技法を実装し得る例示的なビデオエンコーダ２０Ａを示すブロック図である。図２の例において、ビデオエンコーダ２０Ａは、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施し得る。いくつかの例では、ビデオエンコーダ２０Ａは図１のビデオエンコーダ２０の一例であり得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内またはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを参照し得る。
【００７６】
[0086]図２の例では、ビデオエンコーダ２０Ａは、モード選択ユニット４０と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピーエンコーディングユニット５６とを含む。モード選択ユニット４０は、今度は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、パーティションユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０Ａはまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。ブロック境界をフィルタして、再構成されたビデオからブロッキネスアーティファクトを除去するために、デブロッキングフィルタ（図２に示さず）も含まれ得る。所望される場合、デブロッキングフィルタは、通常、加算器６２の出力をフィルタ処理することになる。デブロッキングフィルタに加えて、（ループ内またはループ後の）追加のフィルタも使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、（ループ内フィルタとして）加算器５０の出力をフィルタ処理し得る。
【００７７】
[0087]符号化プロセス中に、ビデオエンコーダ２０Ａは、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。このようにして、ビデオエンコーダ２０Ａは、符号化されるべきビデオフレーム内の現在ビデオブロックを受信し得る。様々な例では、ビデオフレームまたはスライスはＲＧＢ色空間を有し得る。いくつかの例では、ビデオエンコーダ２０Ａは、以下でより詳細に説明するように、色空間変換を使用して、「元の信号」と呼ばれるＲＧＢビデオデータを第２の色空間のブロックに変換するように構成され得る。この例では、ビデオエンコーダ２０Ａは、動きインター予測またはイントラ予測より前に変換を実施する。
【００７８】
[0088]動き推定ユニット４２および動き補償ユニット４４は、時間的予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対する受信されたビデオブロックのインター予測コーディングを実施する。イントラ予測ユニット４６は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する受信されたビデオブロックのイントラ予測コーディングを実施し得る。イントラ予測ユニット４６および／または動き補償ユニット４４は、変換を使用してＲＧＢビデオデータの予測および／または残差ブロックを（すなわちイントラ予測またはインター予測が実施された後に）第２の色空間に変換するように構成され得る。予測ブロックと残差ブロックは両方とも「残差信号」と呼ばれることがある。ビデオエンコーダ２０Ａは、たとえば、ビデオデータの各ブロックについて適切なコーディングモードを選択するために、複数のコーディングパスを実施し得る。
【００７９】
[0089]加算器５０は、コーディングされている現在ビデオブロックのピクセル値からの予測ブロックのピクセル値の間の差分を決定することによって残差ビデオブロックを形成し得る。いくつかの例では、加算器５０は、残差ブロックを決定すること、決定しないこと、または符号化することを行い得る。
【００８０】
[0090]パーティションユニット４８は、以前のコーディングパスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット４８は、レートひずみ分析（たとえば、レートひずみ最適化）に基づいて、最初にフレームまたはスライスをＬＣＵに区分し、ＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、ＬＣＵのサブＣＵへの区分を示す４分木データ構造をさらに生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。
【００８１】
[0091]モード選択ユニット４０は、たとえば、誤差結果に基づいて、コーディングモード、イントラまたはインターのうちの１つを選択し得、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器５０に与え得る。加算器５０は残差ブロックデータを生成し得る。たとえば、加算器５０は、残差ブロックデータの各サンプルが、現在ＣＵのコーディングブロック中のサンプルと、現在ＣＵのＰＵの予測ブロックの対応するサンプルとの間の差分に等しくなるように、現在ＣＵの残差ブロックデータを生成し得る。加算器６２は、参照フレームとして使用するために符号化ブロック（すなわち、コーディングブロック）を再構成し得る。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報など、シンタックス要素をエントロピー符号化ユニット５６に与える。
【００８２】
[0092]本開示の技法のうちの１つまたは複数による様々な例では、モード選択ユニット４０は、選択された色変換がラグランジュコスト関数などのレートひずみコスト関数を最適化するように、２つ以上の色変換の中から第２の色空間への１つの変換を選択するように構成され得る。モード選択ユニット、またはエントロピーコーディングユニット５６などのビデオエンコーダ２０Ａの別のユニットは、コード化ビデオビットストリーム中でインデックス値などのシンタックス要素を符号化し得る。符号化されたインデックス値は、ラグランジュコスト関数を最適化する選択された色変換を示し得る。
【００８３】
[0093]動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在フレーム内でコーディングされている現在ブロック（または、他のコーディングユニット）に対する、参照フレーム内の予測ブロック（または、他のコード化ユニット）に対する、現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。言い換えれば、動きベクトルは、ＰＵの予測ブロックと、参照ピクチャ中の対応する予測ブロックとの間の変位を示し得る。予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロック（すなわち、予測ブロック）にぴったり一致することがわかるブロックである。
【００８４】
[0094]いくつかの例では、ビデオエンコーダ２０Ａは、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。言い換えれば、ビデオエンコーダ２０Ａは、ＰＵの予測ブロック中のサンプルを生成するために、１つまたは複数の参照ピクチャのサンプルに１つまたは複数の補間フィルタを使用適用し得る。いくつかの例では、ビデオエンコーダ２０Ａは、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数のピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、完全ピクセル位置と分数ピクセル位置とに関して動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【００８５】
[0095]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵについての動きベクトルを計算し得る。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２が動きベクトルを計算した場合、動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送り得る。
【００８６】
[0096]動き補償ユニット４４は動き補償を実施することができる。動き補償は、動き推定ユニット４２によってＰＵについて決定された１つまたは複数の動きベクトルに基づいて、ＰＵのための１つまたは複数の予測ブロックを生成またはフェッチすることを伴い得る。この場合も、動き推定ユニット４２と動き補償ユニット４４は、いくつかの例では機能的に統合され得る。現在ビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、その動きベクトルに基づいて参照ピクチャリストのうちの１つのピクチャから予測ブロックの位置を特定し得る。概して、動き推定ユニット４２はルーマ成分に対して動き推定を実施し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００８７】
[0097]イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実施されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、使用するのに適切なイントラ予測モードを、テストされたモードから選択し得る。
【００８８】
[0098]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードについて、レートひずみ分析を使用してレートひずみ値を計算し、テストされたイントラ予測モード間で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化されたブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックのひずみおよびレートから比を計算し得る。
【００８９】
[0099]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックについて選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０Ａは、複数のイントラ予測モードインデックステーブルと複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）とを含み得る送信されるビットストリーム構成データ中に、様々なブロックの符号化コンテキストの定義と、コンテキストの各々に使用すべき最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る。
【００９０】
[0100]ビデオエンコーダ２０Ａは、モード選択ユニット４０からの予測データ（たとえば、予測ブロック）と、コーディングされている元のビデオブロック（たとえば、コーディングブロック）からのデータとの間の差分を決定することによって、残差ビデオブロックを形成し得る。加算器５０は、この差分演算を実施する１つまたは複数の構成要素を表す。変換処理ユニット５２は、残差ブロックに変換を適用して、残差変換係数値を備えるビデオブロック（すなわち、変換係数ブロック）を生成し得る。たとえば、変換処理ユニット５２は、残差係数値を生成するために離散コサイン変換（ＤＣＴ）または概念的に同様の変換を適用し得る。変換処理ユニット５２は、ＤＣＴと概念的に同様である他の変換を実施し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット５６が走査を実施し得る。
【００９１】
[0101]量子化の後に、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングする。言い換えれば、エントロピー符号化ユニット５６は、量子化変換係数を表すシンタックス要素をエントロピー符号化し得る。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実施し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後に、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
【００９２】
[0102]逆量子化ユニット５８および逆変換ユニット６０は、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。たとえば、逆量子化ユニット５８は変換係数ブロックを逆量子化し得る。逆変換ユニット６０は、逆量子化された変換係数ブロックに逆変換を適用することによってＴＵの変換ブロックを再構成し得る。加算器６２は、再構築された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための再構築されたビデオブロックを生成する。動き推定ユニット４２および動き補償ユニット４４は、後続のビデオフレーム中のブロックをインターコーディング（すなわち、インター予測）するために、再構築されたビデオブロックを参照ブロックとして使用し得る。動き補償ユニット４４はまた、動き推定での使用のためにサブ整数ピクセル値を計算するために、１つまたは複数の補間フィルタを再構築された残差ブロックに適用し得る。
【００９３】
[0103]動き推定ユニット４２は、インター予測されるＰＵについて１つまたは複数のピクセル値を予測するためにビデオエンコーダ２０Ａが使用し得る１つまたは複数の参照ピクチャを決定し得る。動き推定ユニット４２は、各参照ピクチャをＬＴＲＰまたは短期参照ピクチャとしてシグナリングし得る。動き推定ユニット４２は、ピクチャが参照のために使用されないとマークされるまで、参照ピクチャを復号ピクチャバッファ（ＤＰＢ）（たとえば、参照ピクチャメモリ６４）に記憶し得る。ビデオエンコーダ２０Ａのモード選択ユニット４０は、１つまたは複数の参照ピクチャについての識別情報を含む様々なシンタックス要素を符号化し得る。
【００９４】
[0104]図２に示された様々なユニットに加えて、ビデオエンコーダ２０Ａは、色変換または逆色変換を実施し得る、１つまたは複数の色空間変換器ユニットおよび／または適応色空間変換器ユニットをさらに含み得る。適応色空間変換器ユニットは、図２に示された様々なユニットの中間に、たとえばモード選択ユニット４０の前に、および／または量子化ユニット５４の後に配置され得る。ビデオエンコーダ２０Ａ中の適応色空間変換器ユニットのロケーションについては、図４の例に関して以下でより詳細に説明する。
【００９５】
[0105]このように、図２のビデオエンコーダ２０Ａは、コーディングユニットに関連する複数の色変換に関連するコストを決定するように構成されたビデオエンコーダの一例を表している。ビデオエンコーダ２０Ａは、最も低い関連するコストを有する複数の色変換のうちの色変換を選択することと、複数の色変換のうちの選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１のブロックを変換することと、第２の色空間を有する第２のビデオブロックを符号化することとを行うようにさらに構成され得る。
【００９６】
[0106]図３は、本開示の１つまたは複数の態様による、色変換を使用して第１の色空間を有するビデオデータを第２のＲＧＢ色空間を有するビデオデータに変換するための技法を実装し得るビデオデコーダの一例を示すブロック図である。図３の例では、ビデオデコーダ３０Ａは、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照ピクチャメモリ８２と、加算器８０とを含む。ビデオデコーダ３０Ａは図１のビデオデコーダ３０の一例であり得る。いくつかの例では、ビデオデコーダ３０Ａは、ビデオエンコーダ２０Ａ（図２）に関して説明した符号化パスとは概して逆の復号パスを実施し得る。
【００９７】
[0107]復号プロセス中に、ビデオデコーダ３０Ａは、ビデオエンコーダ２０Ａから符号化ビデオスライスのビデオブロックならびに関連するシンタックス要素および／またはシンタックスデータを表す符号化ビデオビットストリームを受信するビデオデコーダ３０Ａのエントロピー復号ユニット７０は、ビットストリームをエントロピー復号して、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成する。エントロピー復号ユニット７０は、動きベクトルと他のシンタックス要素とを動き補償ユニット７２に転送し得る。
【００９８】
[0108]エントロピー復号ユニット７０は、複数の逆色変換のうちの１つを示すＣＵについてのシンタックスデータを受信し得る。ビデオデコーダ３０Ａは、そのシンタックスデータに基づいてブロックまたはコード化ユニットのための逆変換を選択し得る。いくつかの例では、シンタックスデータはインデックス値シンタックス要素を備え得る。インデックス値は、選択された色変換が、上記で説明したラグランジュコスト関数を最小限に抑える１つまたは複数の色変換のうちの色変換であることを示し得る。いくつかの例では、インデックス値は、最も低い関連するひずみコストを有する複数の逆色変換のうちの選択された逆色変換を示し得る。
【００９９】
[0109]いくつかの例では、インデックスシンタックス要素は、ＲＧＢ色空間の色成分と、複数の色変換の各々に関連する複数の色成分の各々との間に最も高い関連する相関を有する色空間に関連付けられた複数の逆色変換のうちの選択された逆色変換を示し得る。いくつかの例では、シンタックスデータは、（たとえば、当該ブロックに適用される逆変換を示す）現在ＣＵまたは現在ブロックに対して１つまたは複数の隣接する再構成されたブロックのシンタックスデータであり得る。ビデオデコーダ３０Ａは、いくつかの例では、第１のブロックと第２のブロックとのうちの少なくとも１つに対して再構成された隣接するブロックのシンタックス要素に基づいて最も高い相関を決定し得る。ビデオデコーダ３０Ａは、ビデオスライスレベルおよび／またはビデオブロックレベルにおいて、ならびに他のレベルにおいてシンタックス要素を受信し得る。
【０１００】
[0110]ビデオデコーダ３０Ａは、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、（たとえば、デフォルトの構成技法を使用して）参照ピクチャリスト、リスト０およびリスト１を構成し得る。ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、現在ビデオスライスのビデオブロックについての予測データを生成し得る。イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて予測データを生成し得る。ビデオデコーダ３０Ａがビデオフレームのスライスをインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングするとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成し得る。動き補償ユニット７２は、参照ピクチャリストのうちの１つ内の参照ピクチャのうち１つから予測ブロックを生じ得る。
【０１０１】
[0111]動き補償ユニット７２は、現在ビデオスライスのビデオブロックについての予測情報を予測決定するために動きベクトルおよび／またはシンタックス要素を使用し得る。いくつかの例では、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測情報を生成し得る。動き補償ユニット７２は、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成し得る。たとえば、動き補償ユニット７２は、現在ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数についての構成情報と、現在ビデオスライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０１０２】
[0112]ＰＵの動きベクトルがサブピクセル精度を有するとき、動き補償ユニット７２は、ＰＵの予測ブロックを生成するために参照ピクチャのサンプルに１つまたは複数の補間フィルタを適用し得る。言い換えれば、動き補償ユニット７２は、補間フィルタに基づいて補間を実施することもでき得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０が使用したのと同じ補間フィルタを使用して参照ブロックのサブ整数ピクセルのための補間値を計算し得る。このようにして、いくつかの例では、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用される補間フィルタを決定し得、その補間フィルタを使用して予測ブロックを生成し得る。
【０１０３】
[0113]逆量子化ユニット７６は、ビットストリーム内で供給され、エントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、量子化パラメータＱＰYの使用を含み得る。ビデオデコーダ３０Ａは、ビデオスライス中の各ビデオブロックについて量子化パラメータＱＰYを計算し得る。
【０１０４】
[0114]逆変換ユニット７８は、逆量子化された変換係数ブロックを受信し得る。現在ブロックについて変換がスキップされる場合、逆変換ユニット７８は、逆量子化された残差ブロックを受信し得る。逆変換ユニット７８は、逆変換を使用して、受信されたブロックを変換し得る。いくつかの例では、ピクセル領域中に残差ブロック（たとえば、変換ブロック）を生成するための、変換係数への逆変換（たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセス）。逆変換ユニット７８は、「再構成された残差信号」と呼ばれる信号を出力し得る。いくつかの例では、（図５の例においてより詳細に示されている）逆変換ユニット７８または逆適応色変換器が、本開示の技法に従って逆色変換を使用して第１の色空間からの変換係数および／または残差ブロックを第２の空間のブロックに逆変換し得る。
【０１０５】
[0115]ビデオデコーダ３０Ａはまた、シンタックス要素または他の情報に基づいて現在ブロックがイントラ予測されていることを決定し得る。現在ビデオブロックがイントラ予測されている場合、イントラ予測ユニット７４は現在ブロックを復号し得る。イントラ予測ユニット７４は、現在ブロックと同じピクチャから隣接する予測ブロックを決定し得る。イントラ予測ユニット７４は、予測ブロックに基づいて変換係数ブロックおよび／または残差ブロックを生成し得る。
【０１０６】
[0116]動き補償ユニット７２またはイントラ予測ユニット７４が、動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックのための変換係数ブロックおよび／または残差ブロックを生成した後に、ビデオデコーダ３０Ａは、逆変換ユニット７８からの残差ブロックを、動き補償ユニット７２によって生成された対応する予測ブロックと合成することによって、復号ビデオブロックを形成する。加算器８０は、この加算演算を実施する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために復号ブロックをフィルタ処理するデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、（コーディングループ内またはコーディングループ後のいずれかの）他のループフィルタも使用され得る。参照ピクチャメモリ８２は、復号ビデオブロックを所与のフレームまたはピクチャに記憶し、ビデオデコーダ３０は、それを後続の動き補償のために使用し得る。参照ピクチャメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上に後で提示するために復号ビデオを記憶し得る。
【０１０７】
[0117]ビデオデコーダ３０が、再構成されたビデオを生成すると、ビデオデコーダ３０は、いくつかの例では、再構成されたビデオブロックを（たとえば、表示または記憶のために）復号ビデオとして出力し得る。他の例では、ビデオデコーダ３０は、逆色変換を使用して、第１の色空間からの「再構成された信号」と呼ばれる再構成されたビデオデータのブロックを第２のＲＧＢ色空間に変換するようにさらに構成され得る。
【０１０８】
[0118]上記で説明したように、インター予測中に、動き補償ユニット７２は、復号されている現在ブロックのための予測ビデオブロックを形成するためにビデオデコーダ３０Ａが使用し得る１つまたは複数の参照ピクチャを決定し得る。動き補償ユニット７２は、参照ピクチャが長期参照のためにマークされたかまたは短期参照のためにマークされたかを示すコード化ビデオビットストリームのシンタックス要素に基づいて、参照ピクチャが長期参照ピクチャであるのか、または短期参照ピクチャであるのかを決定し得る。動き補償ユニット７２は、参照ピクチャが参照のために使用されないとマークされるまで、参照ピクチャを復号ピクチャバッファ（ＤＰＢ）（たとえば、参照ピクチャメモリ８２）に記憶し得る。
【０１０９】
[0119]ビデオデコーダ３０Ａの動き補償ユニット７２は、現在復号されているブロックのための予測ブロックを形成するために使用される１つまたは複数の参照ピクチャについての識別情報を含む様々なシンタックス要素を復号し得る。インター予測ＰＵの復号中に、動き補償ユニット７２は、アクティブシーケンスパラメータセット中でシグナリングされる現在ピクチャについての１つまたは複数のＬＴＲＰの識別情報を復号し得る。動き補償ユニット７２はまた、現在ピクチャのスライスヘッダ中または現在ピクチャのためのピクチャパラメータセット中の現在ピクチャを予測するために使用される１つまたは複数の短期参照ピクチャについての識別情報を復号し得る。
【０１１０】
[0120]図３に示された様々なユニットに加えて、ビデオデコーダ３０Ａは、色変換または逆色変換を実施し得る、１つまたは複数の色変換器ユニットおよび／または適応色変換器ユニットをさらに含み得る。適応色変換ユニットは、図３に示された様々なユニットの中間に、たとえばエントロピー復号ユニット７０の前に、および／または逆変換ユニット７８の後に配置され得る。ビデオデコーダ３０Ａ中の適応色変換器ユニットのロケーションについては、図５の例に関して以下でより詳細に説明する。
【０１１１】
[0121]このように、図３のビデオデコーダ３０Ａは、１つまたは複数の逆色変換のうちの逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第２のブロックに変換することと、ＲＧＢ色空間を有する第２のビデオブロックを復号することとを行うように構成されたビデオデコーダの一例を表している。
【０１１２】
[0122]別の例では、ビデオデコーダ３０Ａは、１つまたは複数の逆色変換のうちの逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の色空間を有するビデオデータの第２のブロックに適応的に変換することと、ここにおいて、第２の色空間がＲＧＢ色空間である、ＲＧＢ色空間を有する第２のビデオブロックを復号することとを行うように構成されたビデオデコーダの一例を表し得る。
【０１１３】
[0123]図４は、本開示の１つまたは複数の態様による、色変換を使用してＲＧＢ色空間を有するビデオデータを第２の色空間を有するビデオデータのブロックに変換するための技法を利用し得る別の例示的なビデオエンコーダ２０Ｂを示すブロック図である。
【０１１４】
[0124]図４は、ビデオエンコーダ２０Ａのより詳細なバージョンを示す。ビデオエンコーダ２０Ｂは、ビデオエンコーダ２０Ａ（図２）またはビデオエンコーダ２０（図１）の一例であり得る。図４の例は、本開示の技法を実装するための２つの可能な例を示している。第１の実装形態では、ビデオエンコーダ２０Ｂは、１つまたは複数の色変換のうちの色変換を使用して第１の色空間を有する入力ビデオ信号の第１のブロックを第２の色空間を有する第２のブロックに適応的に変換する。第２の図示された例は、同じ技法を実施するが、入力信号上ではなく、残差ビデオデータのブロック上で色変換を実施する。
【０１１５】
[0125]図４の例では、ビデオエンコーダ２０Ｂは、スイッチ１０１、１０５、１１３、１２１が現在切り替えられる方法のために、ビデオデータ（すなわち、元の信号）の予測および残差ブロック上で色変換を実施するものとして示されている。スイッチ１０１、１０５、１１３、および１２１が代替位置切り替えられた場合、ビデオエンコーダ２０Ｂは、予測および／または残差ビデオデータのブロックを変換するのではなく、動き推定と、動き予測とを実施する前に、ＲＧＢ色空間を有する元の信号のビデオデータのブロック上で第２の色空間を有するビデオデータのブロックへの色変換を実施するように構成される。
【０１１６】
[0126]次に、図４に示されているように残差ビデオデータのブロック上で色変換を実施するプロセスについてより詳細に説明する。図４の例において、元の信号１００は、（スイッチ１０１の経路に従って）予測処理ユニット１０４に受け渡される。予測処理ユニット１０４は、参照ピクチャメモリ１２２から１つまたは複数の参照ピクチャからのデータを受信し得る。予測処理ユニット１０４は、ビデオデータの予測ブロックを生成し、元の信号１００からのビデオデータの予測ブロックを合成して、残差信号１２４を生成する。この例では、適応色変換器１０６は、ＲＧＢ色空間からのビデオデータの予測ブロックと残差ブロックとを、第２の色空間を有するビデオの第２の予測ブロックと第２の残差ブロックとに変換する。いくつかの例では、ビデオエンコーダ２０Ｂは、コスト関数に基づいて第２の色空間および色変換を選択し得る。
【０１１７】
[0127]変換／量子化ユニット１０８は、第２の色空間を有する第２のビデオブロック上で変換（たとえば、離散コサイン変換）を実施し得る。さらに、変換／量子化ユニット１０８は、第２のビデオブロック（すなわち、変換された残差ビデオブロック）を量子化し得る。エントロピー符号器１１０は、量子化された残差ビデオブロックをエントロピー符号化し得る。エントロピーエンコーダは、ビデオデコーダ、たとえばビデオデコーダ３０による復号のために、量子化された残差ビデオブロックを含むビットストリームを出力し得る。
【０１１８】
[0128]また、逆量子化／逆変換ユニット１１２は、量子化され変換された係数および／または残差ビデオブロックを受信し得、変換された係数および残差ビデオブロックを逆変換し逆量子化し得る。逆量子化され逆変換されたビデオブロックは、この時点において第２の色空間をまだ有し得る。逆量子化／逆変換の結果は、再構成された残差信号１２６である。逆適応色変換器１１４は、適応色変換器１０６によって実施される変換に関連する逆色変換に基づいて、再構成された残差信号を逆色変換し得る。得られた逆適応色変換された係数および／または残差ビデオブロックは、この時点においてＲＧＢ色空間を有し得る。
【０１１９】
[0129]残差ビデオブロックへの逆色変換の適用の後に、予測補償器１１６は、残差ビデオブロックに予測ブロックにおいて再加算し得る。デブロックフィルタ１１８は、得られたブロックをデブロックし得る。ＳＡＯフィルタ１２０はＳＡＯフィルタ処理を実施し得る。参照ピクチャメモリ１２２は、次いで、得られた再構成された信号１２８を将来の使用のために記憶し得る。
【０１２０】
[0130]残差ビデオデータのブロックではなく、入力信号（すなわち、符号化されていないビデオデータ）のビデオブロックを色変換するために、スイッチ１０１は代替位置に反転され、適応変換器１０２は、１つまたは複数の色変換のうちの色変換を使用して、ＲＧＢ色空間を有するビデオブロックからの入力ビデオブロックを第２の色空間に色変換する。予測処理ユニット１０４を用いた予測は、上記で説明したように進むが、その結果は、スイッチ１０５が（図４に示された位置と比較して）代替位置にあるので、適応色変換器１０６によって色変換されるのではなく、変換／量子化ユニット１０８に直接供給され得る。
【０１２１】
[0131]変換／量子化ユニット１０８、エントロピーコーダ１１０、および逆量子化／逆変換ユニット１１２は、残差ビデオブロックを色変換することに関して上記で説明したようにそれぞれ動作し得、再構成された信号１２６が生成され、また第２の色空間にある。再構成された信号１２６は、スイッチ１１３を介して予測補償器１１６に供給される。スイッチ１１３は、図４に示された位置に対して代替位置にあり、逆適応色変換器１１４はバイパスされる。予測補償器１１６、デブロックフィルタ１１８、およびＳＡＯフィルタ１２０は、再構成された信号１２８を生成するために残差ビデオブロックを色変換することに関して上記で説明したように動作し得る。しかしながら、上記で説明した、再構成された信号１２８とは異なり、この例では、再構成された信号１２８のブロックは、ＲＧＢ色空間ではなく、第２の色空間をまだ有し得る。
【０１２２】
[0132]再構成された信号１２８は、図４に示された位置に対して代替位置にあるスイッチ１２１を介して逆適応色変換器１３０に供給され得る。逆適応色変換器１３０は、再構成された信号１２８のブロックをＲＧＢ色空間を有するブロックに逆色変換し得、参照ピクチャメモリ１２２は、それらのブロックを将来の参照のために参照ピクチャのブロックとして記憶し得る。
【０１２３】
[0133]上記で説明したように、ビデオエンコーダ２０Ｂは、ＲＧＢ色空間を有するビデオデータの第１のブロックを、第２の色空間に変換するために、１つまたは複数の色空間の変換を選択し得る。いくつかの例では、ビデオエンコーダ２０Ｂは、色変換の各々に関連するレートひずみコストを計算することによって適応的に色変換を選択する。たとえば、ビデオエンコーダ２０Ｂは、ＣＵのＣＵまたはブロックについて最も低い関連するひずみコストを有する複数の色変換のうちの色変換を選択し得る。ビデオエンコーダ２０Ｂは、最も低い関連するひずみコストを有する選択された色変換を示すインデックスシンタックス要素または他のシンタックスデータをシグナリングし得る。
【０１２４】
[0134]いくつかの例では、ビデオエンコーダ２０Ｂは、色変換によるビットレート（たとえば達成される圧縮）、ならびに色変換に関連するひずみの間のトレードオフを考慮するラグランジュコスト関数を利用し得る。いくつかの例では、ラグランジュコストはＬ＝Ｄ＋λＲに対応し、ここで、Ｌはラグランジュコストであり、Ｄはひずみであり、λはラグランジュ乗数であり、Ｒはビットレートである。いくつかの例では、ビデオエンコーダ２０Ｂは、ラグランジュコストを最小限に抑える複数の色変換のうちの色変換を示すインデックスシンタックス要素をシグナリングし得る。
【０１２５】
[0135]いくつかの高性能または高忠実度ビデオコーディング適用例または構成では、ひずみは、最小限ビットレートを上回って最小限に抑えられなければならない。そのような場合、ＲＧＢ色空間からのビデオデータを第２の色空間に変換するとき、ビデオエンコーダ２０Ｂは、最小のひずみを生じる色変換と色空間とを選択し得る。ビデオエンコーダ２０Ｂは、最小のひずみを生じる選択された色変換または色空間を示すインデックスシンタックス要素をシグナリングし得る。
【０１２６】
[0136]いくつかの他の場合では、ビデオエンコーダ２０Ｂは、ＲＧＢビデオデータのブロックの色成分の各々と、第２の色空間のブロックの色成分との間の相関に基づいて、ＲＧＢ色空間のブロックを第２の色空間に変換するコストを計算し得る。最も低い関連するコストを有する色変換は、入力信号のＲＧＢ色成分と最も密接に相関する色成分を有する色変換であり得る。ビデオエンコーダ２０Ｂは、当該の色成分とＲＧＢ色成分との間に最も高い相関を有する選択された色変換を示すインデックスシンタックス要素をシグナリングし得る。
【０１２７】
[0137]場合によっては、ビデオエンコーダ２０Ｂは、異なるＣＵ、ＬＣＵ、ＣＴＵなどのために異なる色変換を選択し得ることを認識されたい。すなわち、単一のピクチャについて、ビデオエンコーダ２０Ｂは、異なる色空間に関連する異なる色変換を選択し得る。複数の異なる色変換を選択することにより、より良好にコーディング効率が最適化され、レートひずみが低減され得る。ビデオエンコーダ２０Ｂが複数の変換のうちのどの変換を現在ブロックのために選択しているかを示すために、ビデオエンコーダ２０Ｂは、選択された色変換に対応するインデックス値をシグナリングし得る。ビデオエンコーダ２０Ｂは、ビデオの第１のブロックと、ＣＴＵと、ＣＵと、ＰＵと、ＴＵとのうちの１つまたは複数においてインデックス値をシグナリングし得る。
【０１２８】
[0138]しかしながら、場合によっては、ビデオエンコーダ２０Ｂは、１つまたは複数のブロック、あるいはＣＶＳと呼ばれるコード化ピクチャのシーケンスに適用されるべきである単一の色変換を決定し得る。各ブロックについて、ただ１つの色変換が選択される場合、ビデオエンコーダ２０Ｂはフラグシンタックス要素をシグナリングし得る。フラグシンタックス要素の１つの値は、ビデオエンコーダ２０Ｂが、現在ブロックにまたはＣＶＳ中のピクチャのすべてに単一の変換を適用していることを示し得る。フラグシンタックス要素の他の値は、現在ブロックに変換が適用されていないことを示す。ビデオエンコーダ２０Ｂは、たとえば、上記で説明したコストベースの基準を使用して、ピクチャのブロックの各々に色変換を適用すべきか否かを個々に決定し得る。
【０１２９】
[0139]いくつかの例では、ビデオエンコーダ２０Ｂは、複数のブロックの各々に複数の逆色変換のうちのあらかじめ定義された色変換を適用すべきかどうかを決定する。たとえば、ビデオエンコーダ２０Ｂおよびビデオデコーダ３０Ｂは、デフォルトのあらかじめ定義された色変換／逆色変換を利用し得る。複数のブロックの各々にあらかじめ定義された色変換を適用することを決定することに応答して、ビデオエンコーダ２０Ｂは、あらかじめ定義された色変換がビデオデータの複数ブロックの各々に適用されていることを示すデータを復号することなしに、あらかじめ定義された色変換を使用して複数のブロックの各々を変換し得る。
【０１３０】
[0140]逆の様式で、ビデオデコーダ３０Ｂは、複数のブロックの各々に複数の逆色変換のうちのあらかじめ定義された逆色変換を適用すべきかどうかを決定するように構成され得る。複数のブロックの各々にあらかじめ定義された逆色変換を適用することを決定することに応答して、ビデオデコーダ３０Ｂは、あらかじめ定義された色変換がビデオデータの複数ブロックの各々に適用されていることを示すデータを復号することなしに、あらかじめ定義された色変換を使用して複数のブロックの各々を逆変換し得る
[0141]本開示の色変換は、必ずしも限定されるとは限らないが、ビデオデータのブロックへの恒等変換、差分変換、重み付き差分変換、ＤＣＴ、ＹＣｂＣｒ変換、ＹＣｇＣｏ変換、およびＹＣｇＣｏ−Ｒ変換を含み得る。ビデオエンコーダ２０Ｂなど、本開示の技法に従って構成されたビデオコーダは、これらの変換および／またはそれらの逆、ならびに、アドビＲＧＢ、ｓＲＧＢ、ｓｃＲＧＢ、Ｒｅｃ．７０９、Ｒｅｃ．２０２０、アドビワイドガマットＲＧＢ、ＰｒｏＰｈｏｔｏ  ＲＧＢ、ＣＭＹＫ、パントン、ＹＩＱ、ＹＤｂＤｒ、ＹＰｂＰｒ、ｘｖＹＣＣ、ＩＴＵ  ＢＴ．６０１、ＩＴＵ  ＢＴ．７０９、ＨＳＶ、および本明細書で特に説明しない他の色空間、カラー空間、および／またはクロマサブサンプリングフォーマットへ／からの変換など、他の変換のうちの１つまたは複数を適用し得る。
【０１３１】
[0142]ＲＧＢ色空間を有するビデオデータのブロックに色変換を適用するために、ビデオエンコーダ２０Ｂは、ＲＧＢピクセルの赤色成分と緑色成分と青色成分とを備える３×１行列に色変換行列を乗算し得る。乗算の結果は、第２の色空間を有するピクセルである。ビデオコーダは、第２の色空間中にピクセルの第２のブロックを生成するために、ビデオブロックの各ピクセルに色変換行列を適用し得る。次に、様々な色変換についてより詳細に説明する。
【０１３２】
[0143]いくつかの例では、ビデオエンコーダ２０Ｂは、恒等変換行列または逆恒等変換行列を適用し得る。恒等変換行列は、
【０１３３】
【数１】
0006728039.tif 000002
【０１３４】
を備え、ビデオデコーダ３０Ａが適用し得る逆変換行列は、
【０１３５】
【数２】
0006728039.tif 000003
【０１３６】
を備える。ビデオコーダが恒等変換を適用するとき、得られるピクセル値は入力ピクセル値に等しく、すなわち、恒等変換を適用することは、まったく色変換を適用しないことと等価である。ビデオエンコーダ２０Ｂは、ビデオブロックのＲＧＢ色空間を維持することが必要とされるとき、恒等変換を選択し得る。
【０１３７】
[0144]別の例では、ビデオエンコーダ２０Ｂは、差分変換行列を適用し得る。差分変換行列は、
【０１３８】
【数３】
0006728039.tif 000004
【０１３９】
を備える。ビデオデコーダ３０Ａは、相反する逆差分行列を適用し得、この行列は、
【０１４０】
【数４】
0006728039.tif 000005
【０１４１】
を備える。
【０１４２】
[0145]別の例では、ビデオエンコーダ２０Ｂは、重み付き差分変換または逆重み付き差分変換を適用する構成され得る。重み付き差分変換行列は、
【０１４３】
【数５】
0006728039.tif 000006
【０１４４】
を備え、ビデオデコーダ３０Ｂが適用し得る逆重み付き差分行列は、
【０１４５】
【数６】
0006728039.tif 000007
【０１４６】
を備える。
【０１４７】
[0146]重み付き差分変換では、α1およびα2は、ビデオコーダが調整し得るパラメータである。いくつかの例では、ビデオエンコーダ２０Ａは、以下の式に従ってパラメータα1およびα2を計算し得る。
【０１４８】
【数７】
0006728039.tif 000008
【０１４９】
ビデオエンコーダ２０Ｂは、様々な例ではα1とα2との値をコード化ビデオビットストリーム中でシグナリングし得る。
【０１５０】
[0147]これらの式において、ＲはＲＧＢ色空間の赤色チャネルに対応し、Ｇは縁色チャネルに対応し、Ｂは青色チャネルに対応する。差分変換式において、「ｃｏｖ（）」は共分散関数であり、「ｖａｒ（）」は分散関数である。
【０１５１】
[0148]Ｒ、Ｇ、およびＢの値を決定するために、エンコーダまたはデコーダは、共分散関数と分散関数が、エンコーダによってまたはデコーダによって計算されるときに同じ結果または重みを有することを保証するために、参照ピクセルのセットを利用し得る。いくつかの例では、特定の参照ピクセルは、コード化ビデオビットストリーム中で（たとえば、コード化ビデオビットストリーム中のシンタックス要素として）シグナリングされ得る。他の例では、エンコーダおよびデコーダは、いくつかの参照ピクセルを使用するようにプリプログラムされ得る。
【０１５２】
[0149]いくつかの例では、ビデオエンコーダ２０Ｂは、差分変換を使用してブロックを変換するとき、α1とα2との値を制限または束縛し得る。ビデオコーダは、α1とα2との値を整数または２進数のセット、たとえば１／２、１／４、１／８など．．．に束縛し得る。他の例では、ビデオコーダは、α1およびα2を、２進数を有する分数の値、たとえば１／８、２／８、３／８、．．．、８／８に制限し得る。２進数または２進分数は、２のべき乗である分母を有し、分子が整数である、有理数である。α1とα2との値を制限することにより、α1とα2とをコーディングするビットストリーム効率が改善され得る。
【０１５３】
[0150]他の例では、ビデオエンコーダ２０Ｂは、ＤＣＴ変換を使用して、第２のブロックを生成するためにＲＧＢ色空間を有するブロックを変換するように構成され得る。ＤＣＴは、様々な周波数および振幅のシヌソイドの和としてサンプルを表すためにブロックのサンプルを変換する。ＤＣＴ変換または逆変換は、余弦関数の和に関してデータポイントの有限シーケンスにおよびそれからピクセルを変換し得る。ＤＣＴ変換行列は以下に対応する。
【０１５４】
【数８】
0006728039.tif 000009
【０１５５】
逆の様式で、ビデオデコーダ３０Ｂは、ＤＣＴを使用して変換されたブロックに逆変換を適用し、ブロックを元のサンプルに戻すように構成され得る。逆ＤＣＴ変換行列は以下に対応する。
【０１５６】
【数９】
0006728039.tif 000010
【０１５７】
[0151]ビデオエンコーダ２０Ｂはまた、ＲＧＢ色空間を有するブロックにＹＣｂＣｒ変換を適用して、ＹＣｂＣｒ色空間を有するブロックを生成し得る。上記で説明したように、ＹＣｂＣｒ色空間は、ルーマ（Ｙ）成分、ならびに青クロミナンス（Ｃｂ）成分および赤クロミナンス（Ｃｒ）成分を含む。ＹＣｂＣｒ変換行列は以下に対応し得る。
【０１５８】
【数１０】
0006728039.tif 000011
【０１５９】
ビデオデコーダ３０Ｂは、ＹＣｂＣｂｒ色空間を有するブロックをＲＧＢ色空間を有するブロックに変換するために逆ＹＣｂＣｒ変換を適用するように構成され得る。逆ＹＣｂＣｒ変換行列は以下に対応し得る。
【０１６０】
【数１１】
0006728039.tif 000012
【０１６１】
[0152]ビデオエンコーダ２０Ｂはまた、ＲＧＢ色空間を有するブロックにＹＣｇＣｏ変換を適用して、ＹＣｇＣｏ色空間を有するブロックを生成し得る。ＹＣｇＣｏ色空間は、ルーマ（Ｙ）成分、ならびに緑クロミナンス（Ｃｇ）成分および橙クロミナンス（Ｃｏ）成分を含む。ＹＣｇＣｏ変換行列は以下に対応し得る。
【０１６２】
【数１２】
0006728039.tif 000013
【０１６３】
ビデオデコーダ３０Ｂは、ＹＣｇＣｏ色空間を有するブロックをＲＧＢ色空間を有するブロックに変換するために逆ＹＣｇＣｏ変換を適用するように構成され得る。逆ＹＣｇＣｏ変換行列は以下に対応し得る。
【０１６４】
【数１３】
0006728039.tif 000014
【０１６５】
[0153]ビデオエンコーダ２０Ｂはまた、ＲＧＢ色空間を有するブロックにＹＣｇＣｏ−Ｒ変換を適用して、ＹＣｇＣｏ−Ｒ色空間を有するブロックを生成するように構成され得る。ＹＣｇＣｏ−Ｒ色空間は、ルーマ（Ｙ）成分、ならびに緑クロミナンス（Ｃｇ）成分および橙クロミナンス（Ｃｏ）成分を含む。ただし、上記で説明したＹＣｇＣｏ変換とは異なり、ＹＣｇＣｇ−Ｒ変換は可逆的であり、たとえば、ＹＣｇＣｏ−Ｒ変換は、たとえば丸め誤差に起因する、どんなひずみをも生じないことがある。
【０１６６】
[0154]ＹＣｂＣｒ変換行列は以下に対応し得る。
【０１６７】
【数１４】
0006728039.tif 000015
【０１６８】
ビデオデコーダ３０Ｂは、逆ＹＣｇＣｏ−Ｒ変換を適用するように構成され得る。ＹＣｇＣｏ−Ｒ逆変換は、ＹＣｇＣｏ−Ｒ色空間を有するブロックをＲＧＢ色空間を有するブロックに逆変換する。逆ＹＣｇＣｏ−Ｒ変換行列は以下に対応し得る。
【０１６９】
【数１５】
0006728039.tif 000016
【０１７０】
[0155]本明細書で説明する色変換のいずれかを適用するために、ビデオエンコーダ２０Ｂは、フレキシブルなパラメータを有するリフティング方式を実装し得る。リフティング方式は、離散ウェーブレット変換を、リフティングステップまたはラダー構造と呼ばれる単純なフィルタ処理ステップの有限シーケンスに分解する技法である。ビデオエンコーダ２０Ｂは、コード化ビデオビットストリーム中でパラメータをシグナリングし得るか、またはビデオエンコーダ２０Ｂは、同様の方法でパラメータを導出し得、パラメータを導出であり得る。リフティング方式の一例は以下の通りである。
【０１７１】
【数１６】
0006728039.tif 000017
【０１７２】
ここで、ａ、ｂ、ｃ、およびｄは、上記で説明したパラメータである。このリフティング方式では、Ｒ、Ｇ、およびＢは、それぞれ赤色、緑色、および青色チャネルまたはサンプルである。重み付き差分変換に関して上記で説明したαパラメータの場合と同様に、ａ、ｂ、ｃ、およびｄの値は、たとえば符号が正または負でのみあり得るように、制限または限定され得る。場合によっては、
【０１７３】
【数１７】
0006728039.tif 000018
【０１７４】
など、リフティング方式において追加のステップがあり得、ここで、ｆ、ｇ、ｈ、ｉ、およびｊはパラメータである。リフティング方式を使用しているとき、ならびに他の例では、ビデオエンコーダ２０Ａおよびビデオデコーダ３０Ａは、これらの３つの成分の出力深度を正規化することができ、Ｒ’’’、Ｂ’’、およびＧ’’は所定のビット深度内に正規化され得、その所定のビット深度は、必ずしも各成分について同じであるとは限らない。
【０１７５】
[0156]このように、図４のビデオエンコーダ２０Ｂは、コーディングユニットに関連する複数の色変換に関連するコストを決定することと、最も低い関連するコストを有する複数の色変換のうちの色変換を選択することと、複数の色変換のうちの選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１のブロックを変換することと、第２の色空間を有する第２のビデオブロックを符号化することとを行うように構成されたビデオエンコーダを表している。
【０１７６】
[0157]図５は、本開示の１つまたは複数の態様による、逆色変換を使用して第１の色空間を有するビデオデータを第２のＲＧＢ色空間を有するビデオデータに逆変換するための技法を利用し得る別の例示的なビデオデコーダ３０Ｂを示すブロック図である。
【０１７７】
[0158]図５は、ビデオデコーダ３０Ｂのより詳細なバージョンを示す。いくつかの例では、ビデオデコーダ３０Ｂは、ビデオデコーダ３０Ａ（図２）および／またはビデオデコーダ３０（図１）の一例であり得る。図５の例は、本開示の技法を実装するための２つの可能な例を示している。第１の実装形態では、ビデオデコーダ３０Ｂは、複数の逆色変換のうちの逆色変換を使用して、第１の色空間（たとえば、非ＲＧＢ色空間）からの入力ビデオ信号のブロックを第２のＲＧＢ色空間を有する第２のブロックに適応的に逆変換する。第２の図示された例は、同じ技法を実施するが、入力信号上ではなく、残差ビデオデータのブロック上で逆色変換を実施する。
【０１７８】
[0159]図５の例では、ビデオデコーダ３０Ｂは、スイッチ１４５、および１５６が現在切り替えられる方法のために、残差ビデオデータ例のブロック上で逆色変換を実施するものとして示されている。スイッチ１４５および１５６が代替位置切り替えられた場合、ビデオデコーダ３０Ｂは、残差ビデオデータのブロックを逆変換するのではなく、第１の表現を有する入力ビデオデータのブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに逆色変換するように構成される。
【０１７９】
[0160]次に、図５に示されているように残差ビデオデータのブロック上で逆色変換を実施するプロセスについて詳細に説明する。図５の例において、（入力信号とも呼ばれる）符号化された入力ビットストリーム１４０は、エントロピー復号ユニット１４２に受け渡される。エントロピー復号ユニット１４２は、第１の色空間を有する残差ビデオデータの量子化ブロックを生成するためにビットストリーム１４０をエントロピー復号し得る。たとえば、エントロピー復号ユニット１４２は、ビットストリーム１４０中に含まれる特定のシンタックス要素をエントロピー復号し得る。逆量子化／逆変換ユニット１４４は変換係数ブロックを逆量子化し得る。さらに、逆量子化／逆変換ユニット１４４は、残差ビデオデータを備える変換ブロックを決定するために、変換係数ブロックに逆変換を適用し得る。このようにして、逆量子化／逆変換ユニット１４４は、ビットストリーム１４０のエントロピー復号されたビデオデータのブロックを逆量子化し、逆変換し得る。ビデオデコーダ３０Ｂが残差データのブロックを逆色変換するように構成されたとき、スイッチ１４８は、第１の色空間を有する残差ビデオデータのブロックを逆適応色変換器１５０に供給する。このようにして、逆適応色変換器１５０はＴＵの変換ブロックを受信し得る。
【０１８０】
[0161]逆適応色変換器１５０は、第１の色空間を有するビデオデータのブロックを第２のＲＧＢ色空間を有するビデオデータの第２のブロックに適応的に逆変換し得る。たとえば、逆適応色変換器１５０は、ＴＵの変換ブロックに適用すべき逆変換を選択し得る。この例では、逆適応色変換器１５０は、変換ブロックを第１の色空間からＲＧＢ色空間に変換するために、選択された逆変換を変換ブロックに適用し得る。予測補償ユニット１５２は、メモリ１５４からの参照ピクチャを合成し得る。たとえば、予測補償ユニット１５２は、ＣＵのＴＵの変換ブロックを受信し得る。この例では、予測補償ユニット１５２はＣＵのためのコーディングブロックを決定し得る。この例では、ＣＵのコーディングブロックの各サンプルは、変換ブロック中のサンプルと、ＣＵのＰＵのための予測ブロック中の対応するサンプルとの和に等しくなり得る。デブロックフィルタ１５６は、合成された、再構成された画像をデブロックし得る。ＳＡＯフィルタユニット１５８は、適用可能な場合、追加のＳＡＯフィルタ処理を実施し得る。
【０１８１】
[0162]ＳＡＯフィルタ１５８の出力は、再構成された信号１６０である。ビデオデコーダ３０Ｂが、残差ビデオデータのブロックを逆色変換するように構成された場合、スイッチ１６２は、再構成された信号１６０を将来の使用のために参照ピクチャとして参照ピクチャメモリ１５４に供給する。ビデオデコーダ３０Ｂはまた、再構成された信号１６０を画像／ビデオ１６４として出力し得る。
【０１８２】
[0163]ビデオデコーダ３０Ｂが、残差ビデオデータのブロックとは対照的に元の入力信号のブロックを逆色変換するように構成された例では、エントロピー復号ユニット１４２および逆量子化／逆変換ユニット１４４は、前に説明した様式で動作する。スイッチ１４８は代替位置にあり、再構成された残差信号を予測補償ユニット１５２に直接供給する。この時点で、予測補償ユニット１５２に与えられる残差ブロックは、ＲＧＢ色空間にはなく、まだ第１の色空間にある。
【０１８３】
[0164]予測補償ユニット１５２は、元の画像のブロックを再構成し得、残差ブロックを参照ピクチャメモリ１５４からのピクチャの１つまたは複数のブロックと合成し得る。デブロックフィルタ１５６およびＳＡＯフィルタ１５８は、ビデオデータの残差ブロックを逆変換することに関して上記で説明したように動作し得る。ＳＡＯフィルタ１５８の出力は、再構成された信号１６０であり、この信号のブロックは、まだ第１の色空間にあり、ＲＧＢ色空間を有することでないことがある（たとえば、恒等変換が使用された場合、ブロックは依然としてＲＧＢ色空間を有し得る）。
【０１８４】
[0165]再構成された信号１６０は、図５に示された位置と比較して代替位置にあるスイッチ１６２を介して逆適応色変換器１６６に供給され得る。逆適応色変換器１６６は、１つまたは複数の逆色変換のうちの逆色変換を使用して、第１の色空間を有する再構成された信号のブロックを第２のＲＧＢ色空間を有するビデオデータの第２のブロックに逆色変換し得る。いくつかの例では、デコーダ３０Ｂが使用する特定の逆変換は、ビットストリーム１４０中でシグナリングされ得る。逆適応色変換器１６６は、第２の色空間を有する第２のブロックを画像／ビデオ１６４としての出力のために供給し、ならびに将来の記憶および使用のために参照ピクチャとして参照ピクチャメモリ１５４に供給し得る。
【０１８５】
[0166]このように、ビデオデコーダ３０Ｂは、複数の逆色変換に関連するコストを決定することと、最も低い関連するコストを有する複数の逆色変換のうちの逆色変換を選択することとを行うように構成されたビデオコーダデバイスの一例を表している。ビデオデコーダ３０Ｂは、複数の逆色変換のうちの選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに適応的に逆変換することと、第２のＲＧＢ色空間を有する第２のビデオブロックを復号することとを行うようにさらに構成され得る。
【０１８６】
[0167]図６は、本開示の１つまたは複数の態様による、色変換を使用してＲＧＢ色空間を有するビデオデータを第２の色空間を有するビデオデータに変換するためのプロセスを示すフローチャートである。単に説明の目的で、図６の方法は、図１、図２、および図４のビデオエンコーダ２０、２０Ａ、および／または２０Ｂに対応するビデオエンコーダなど、ビデオエンコーダによって実施され得る。
【０１８７】
[0168]図６の方法において、ビデオエンコーダ２０は、コーディングユニットに関連する複数の色変換に関連するコストを決定し（１８０）、最も低い関連するコストを有する複数の色変換からの色変換を選択し得る（１８２）。ビデオエンコーダ２０は、複数の色変換のうちの選択された色変換を使用して第１のＲＧＢ色空間を有するビデオデータの第１のブロックを第２の色空間を有するビデオの第２のブロックに変換するようにさらに構成され得る（１８４）。さらに、ビデオエンコーダ２０は、第２の色空間を有する第２のビデオブロックを符号化し得る（１８６）。いくつかの例では、ビデオの第２のブロックを符号化することは、元のブロックを符号化することを備え得る。いくつかの例では、符号化することは、残差ブロックを符号化することを備え得る。
【０１８８】
[0169]いくつかの例では、１つまたは複数の色変換は、恒等変換と、差分変換と、重み付き差分変換と、離散コサイン変換（ＤＣＴ）と、ＹＣｂＣｒ変換と、ＹＣｇＣｏ変換と、ＹＣｇＣｏ−Ｒ変換とからなるグループのうちの１つまたは複数を備え得る。次に、色変換についてより詳細に説明する。
【０１８９】
[0170]いくつかの例では、恒等変換は、
【０１９０】
【数１８】
0006728039.tif 000019
【０１９１】
を備える。
【０１９２】
[0171]いくつかの例では、差分変換は、
【０１９３】
【数１９】
0006728039.tif 000020
【０１９４】
を備える。
【０１９５】
[0172]いくつかの例では、ＤＣＴ変換は、
【０１９６】
【数２０】
0006728039.tif 000021
【０１９７】
を備える。
【０１９８】
[0173]いくつかの例では、ＹＣｂＣｒ変換は、
【０１９９】
【数２１】
0006728039.tif 000022
【０２００】
を備える。
【０２０１】
[0174]いくつかの例では、
ＹＣｇＣｏ変換は、
【０２０２】
【数２２】
0006728039.tif 000023
【０２０３】
を備える。
【０２０４】
[0175]いくつかの例では、ＹＣｇＣｏ−Ｒ変換は、
【０２０５】
【数２３】
0006728039.tif 000024
【０２０６】
を備える。様々な例では、ビデオエンコーダ２０、２０Ａ、または２０Ｂは、リフティング方式を使用して選択される色変換を含む、本明細書で説明した色変換のいずれかを導出し得る。リフティング方式は、
【０２０７】
【数２４】
0006728039.tif 000025
【０２０８】
に対応し得、ここにおいて、ａ、ｂ、ｃ、およびｄはパラメータである。ビデオエンコーダ２０、２０Ａ、または２０Ｂは、
【０２０９】
【数２５】
0006728039.tif 000026
【０２１０】
に従うリフティング方式の変形形態をさらに利用し得、ここにおいて、ｅ、ｆ、ｇ、ｈ、Ｉ、およびｊはパラメータである。これらのリフティング方式の例では、Ｒ、Ｂ、およびＧは、赤、緑、および青サンプルに対応し得る。リフティング方式を使用して１つまたは複数の色変換を導出することの一部として、ビデオエンコーダ２０は、リフティング方式の各色チャネルのビット深度を正規化し得る。
【０２１１】
[0176]いくつかの例では、重み付き差分変換は、
【０２１２】
【数２６】
0006728039.tif 000027
【０２１３】
を備える。差分変換のいくつかの例では、α1＝ｃｏｖ（Ｇ，Ｂ）／ｖａｒ（Ｇ）、α2＝ｃｏｖ（Ｇ，Ｒ）／ｖａｒ（Ｇ）、ＲはＲＧＢ色空間の赤色チャネルに対応し、ＧはＲＧＢ色空間の縁色チャネルに対応し、ＢはＲＧＢ色空間の青色チャネルに対応し、「ｃｏｖ（）」は共分散関数であり、「ｖａｒ（）」は分散関数である。いくつかの例では、共分散関数と分散関数とは、参照ピクセルのセットを使用して計算される。
【０２１４】
[0177]様々な例では、ビデオエンコーダ２０は、α1とα2との値を符号化し得る。α1とα2との値はまた、整数のセットと、２進数のセットと、２進数をもつ分数のセットとからなるグループのうちの少なくとも１つを備える値のセットに制約され得る。
【０２１５】
[0178]いくつかの例では、図６の方法において、ビデオエンコーダ２０はさらに、１つまたは複数の色空間のうちの色変換が、第２の色空間を有する第２のビデオブロックに適用されていることを示すデータをシグナリングし得る。
【０２１６】
[0179]いくつかの例では、図６の方法において、第１のブロックは、ビデオデータのピクチャ中の複数のブロックのうちのブロックを備え得、ビデオエンコーダ２０は、複数のブロックに１つまたは複数の色変換のうちの単一の変換を適用すべきかどうかを決定するようにさらに構成され得る。複数のブロックに単一の変換を適用することを決定することに応答して、ビデオエンコーダ２０は、複数のブロックの各々について、フラグシンタックス要素をシグナリングし得る。フラグの第１の値は、単一の変換が適用されていることを示し、フラグの第２の値は、単一の変換が適用されていないことを示す。
【０２１７】
[0180]様々な例では、ビデオデータの第１のブロックは、ＣＴＵと、ＣＵと、ＰＵと、ＴＵとのうちの少なくとも１つを備え得る。
【０２１８】
[0181]他の例では、第１のブロックは、ビデオデータのピクチャ中の複数のブロックのうちの単一のブロックを備え、ビデオエンコーダ２０は、ブロックの各々に単一の色変換を適用することを決定することに応答して、ビデオデータのブロックの各々に色変換のうちの１つまたは複数の単一の色変換を適用すべきかどうかを決定することと、単一の色変換がビデオデータのブロックの各々に適用されていることを示すデータをシグナリングすることなしに単一の色変換を使用してブロックの各々を変換することとを行うようにさらに構成される。
【０２１９】
[0182]別の例では、ビデオエンコーダ２０Ａは、Ｌ＝Ｄ＋λＲに対応するラグランジュコストを最小限に抑える複数の色変換の複数の色変換のうちの色変換を選択するように構成され得、ここにおいて、Ｌはラグランジュコストであり、Ｄはひずみ値であり、λはラグランジュ乗数であり、Ｒはビットレート値である。ビデオエンコーダ２０Ａは、コード化ビデオビットストリーム中で、選択された色変換を示すシンタックス要素をシグナリングするようにさらに構成され得る。シグナリングされるシンタックス要素は、選択された色変換に対応するインデックス値を備え得る。
【０２２０】
[0183]いくつかの例では、ビデオエンコーダ２０は、１つまたは複数の色変換の各々に関連するひずみコストを決定するようにさらに構成され得る。ビデオエンコーダ２０は、次いで、最も低い関連するひずみコストを有する色変換を選択し、選択された色変換を使用してＲＧＢ色空間を有する第１のビデオブロックを第２のビデオブロックに変換し得る。ビデオエンコーダ２０は、コード化ビデオビットストリーム中で、選択された色変換、すなわち、最も低い関連するひずみコストを有する変換を示すシンタックス要素をシグナリングするようにさらに構成され得る。シグナリングされるシンタックス要素は、選択された色変換に対応するインデックス値を備え得る。
【０２２１】
[0184]様々な例では、ビデオエンコーダ２０は、第１のビデオブロックのＲＧＢ色空間の色成分と、１つまたは複数の色変換の各々に関連する各色空間の色成分との間の相関を決定するようにさらに構成され得、ここにおいて、ＲＧＢ色空間を有する第１のビデオブロックを第２の色空間を有する第２のビデオブロックに変換するために使用される色変換は、最も高い関連する相関を有する色空間に関連付けられた複数の色変換のうちの色変換である。
【０２２２】
[0185]いくつかの例では、データの第１のブロックは、残差データのブロックを備え得るか、またはビデオデータの第１のブロックは、元の信号のビデオデータのブロックを備え得る。
【０２２３】
[0186]図７は、本開示の１つまたは複数の態様による、逆色変換を使用して第１の色空間を有するビデオデータを第２のＲＧＢ色空間を有するビデオデータに変換するためのプロセスを示すフローチャートである。単に説明の目的で、図７の方法は、図１、図３、および図５に示されたビデオデコーダ３０、３０Ａ、および／または３０Ｂに対応するビデオエンコーダなど、ビデオデコーダによって実施され得る。
【０２２４】
[0187]図７の方法において、ビデオデコーダ３０は、ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信し、シンタックスデータが複数の逆色変換のうちの１つを示し（２００）、受信されたシンタックスデータに基づいて複数の逆色変換のうちの逆色変換を選択し得る（２０２）。ビデオデコーダ３０は、複数の逆色変換のうちの選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに逆変換し得る（２０４）。さらに、ビデオデコーダ３０は、第２のＲＧＢ色空間を有する第２のビデオブロックを復号し得る（２０６）。いくつかの例では、復号されたブロックは、変換係数の元のブロックを備え得る。いくつかの例では、復号されたブロックは、変換係数の残差ブロックを備え得る。
【０２２５】
[0188]様々な例では、１つまたは複数の逆色変換は、逆恒等変換と、逆差分変換と、逆重み付き差分変換と、逆離散コサイン変換（ＤＣＴ）と、逆ＹＣｂＣｒ変換と、逆ＹＣｇＣｏ変換と、逆ＹＣｇＣｏ−Ｒ変換とのうちの１つまたは複数からなるグループのうちの少なくとも１つを備え得る。次に、１つまたは複数の逆色変換について説明する。
【０２２６】
[0189]様々な例では、恒等変換は、
【０２２７】
【数２７】
0006728039.tif 000028
【０２２８】
を備える。
【０２２９】
[0190]いくつかの例では、逆重み付き差分変換は、
【０２３０】
【数２８】
0006728039.tif 000029
【０２３１】
を備える。
【０２３２】
[0191]いくつかの例では、逆ＤＣＴ変換は、
【０２３３】
【数２９】
0006728039.tif 000030
【０２３４】
を備える。
【０２３５】
[0192]いくつかの例では、ここにおいて、逆ＹＣｂＣｒ変換は、
【０２３６】
【数３０】
0006728039.tif 000031
【０２３７】
を備える。
【０２３８】
[0193]いくつかの例では、逆ＹＣｇＣｏ変換は、
【０２３９】
【数３１】
0006728039.tif 000032
【０２４０】
を備える。
【０２４１】
[0194]いくつかの例では、逆ＹＣｇＣｏ−Ｒ変換は、
【０２４２】
【数３２】
0006728039.tif 000033
【０２４３】
を備える。様々な例では、ビデオデコーダ３０は、
【０２４４】
【数３３】
0006728039.tif 000034
【０２４５】
に対応するリフティング方式を使用して選択された逆色変換など、逆色変換のうちの１つまたは複数を導出し得、ここにおいて、ａ、ｂ、ｃ、およびｄはパラメータである。様々な例では、ビデオデコーダ３０は、
【０２４６】
【数３４】
0006728039.tif 000035
【０２４７】
に従ってリフティング方式のさらなる変形形態を使用するように構成され得、ここにおいて、ｅ、ｆ、ｇ、ｈ、ｉ、およびｊはパラメータである。ビデオデコーダ３０は、いくつかの例では、リフティング方式の各色チャネルのビット深度をさらに正規化し得る。
【０２４８】
[0195]様々な例では、逆重み付き差分変換は、
【０２４９】
【数３５】
0006728039.tif 000036
【０２５０】
を備える。逆重み付き差分変換の様々な例では、α1＝ｃｏｖ（Ｇ，Ｂ）／ｖａｒ（Ｇ）、α2＝ｃｏｖ（Ｇ，Ｒ）／ｖａｒ（Ｇ）、ＲはＲＧＢ色空間の赤色チャネルに対応し、ＧはＲＧＢ空間の縁色チャネルに対応し、ＢはＲＧＢ色空間の青色チャネルに対応し、「ｃｏｖ（）」は共分散関数であり、「ｖａｒ（）」は分散関数である。様々な例では、ビデオデコーダ３０は、参照ピクセルのセットを使用して共分散関数と分散関数とを計算し得る。いくつかの例では、ビデオデコーダ３０は、たとえば、コード化ビデオビットストリーム中のシンタックス要素に基づいて、α1とα2との値を復号するようにさらに構成され得る。
【０２５１】
[0196]いくつかの例では、ビデオデコーダ３０は、α1とα2との値を、整数のセットと、２進数のセットと、２進数をもつ分数のセットとからなるグループのうちの少なくとも１つを備える値のセットに制約し得る。
【０２５２】
[0197]様々な例では、ビデオデコーダ３０は、
【０２５３】
【数３６】
0006728039.tif 000037
【０２５４】
に対応するリフティング方式を使用して、本開示で説明する色変換のいずれかを実装し得、ここにおいて、ａ、ｂ、ｃ、およびｄはパラメータである。
【０２５５】
[0198]いくつかの例では、ビデオデコーダ３０は、上記で説明したリフティング方式のさらなる変形形態を使用して、本開示で説明する色変換のいずれかを実装し得る。リフティング方式のこの変形形態では、
【０２５６】
【数３７】
0006728039.tif 000038
【０２５７】
ここにおいて、ｅ、ｆ、ｇ、ｈ、ｉ、およびｊはパラメータである。
【０２５８】
[0199]様々な例では、図７の方法において、ビデオデコーダ３０は、リフティング方式を使用して逆色変換のうちの１つまたは複数を導出することと、リフティング方式の各色チャネルのビット深度を正規化することとを行うようにさらに構成され得る。
【０２５９】
[0200]様々な例では、ビデオデコーダは、１つまたは複数の色空間のうちの色変換が、第１の色空間を有する第１のビデオブロックに適用されていることを示すデータを復号するようにさらに構成され得る。
【０２６０】
[0201]ビデオデコーダ３０は、複数のブロックに１つまたは複数の逆色変換のうちの単一の逆変換を適用すべきかどうかを示すフラグシンタックス要素の値を復号するようにさらに構成され得る。フラグの第１の値（たとえば、「０」の値または「１」の値）は、単一の変換が適用されていることを示し得、フラグの第２の値は、単一の変換が適用されていないことを示す。さらに、第１のフラグ値は、複数のブロックを逆変換することを示し得、第２のフラグ値は、複数のブロックに逆変換を適用しないことを示し得る。ビデオデコーダ３０は、フラグシンタックス要素の値に基づいて複数のブロックに単一の逆色変換を適用することを決定し得、ビデオデコーダ３０は、シンタックス要素の値に基づいて複数のブロックのうちの各ブロックを逆変換し得る。
【０２６１】
[0202]様々な例では、ビデオデータの第１のブロックは、ＣＴＵと、ＣＵと、ＰＵと、ＴＵとからなるグループのうちの少なくとも１つを備え得る。
【０２６２】
[0203]さらに別の例では、ビデオデコーダ３０は、コード化ユニットについてフラグシンタックス要素を復号し得る。ビデオデコーダ３０は、シンタックス要素の値に基づいて１つまたは複数の色変換のうちの単一の色変換が第１のブロックに適用されているか否かを決定するようにさらに構成され得る。これらの例では、フラグの第１の値は、単一の逆変換を適用することを示し得、フラグの第２の値は、単一の逆変換を適用しないことを示す。
【０２６３】
[0204]いくつかの例では、ビデオデコーダ３０は、Ｌ＝Ｄ＋λＲに対応するラグランジュコストを最適化する複数の複数の逆色変換のうちの逆色変換を示すシンタックス要素を復号し得る。この例では、Ｌはラグランジュコストであり、Ｄはひずみ値であり、λはラグランジュ乗数であり、Ｒはビットレート値である。
【０２６４】
[0205]様々な例では、データの第１のブロックは、再構成された信号のブロックを備え得る。代替的に、第１のブロックは、再構成された残差信号のブロックを備え得る。第１のブロックは、残差ブロックと予測ブロックとからなるグループのうちの少なくとも１つであり得る。
【０２６５】
[0206]いくつかの例では、第１の色空間を有する第１のビデオブロックを第２のＲＧＢ色空間を有する第２のビデオブロックに逆変換するために使用される逆色変換は、最も低い関連するひずみコストを有する１つまたは複数の逆色変換のうちの逆色変換である。
【０２６６】
[0207]いくつかの例では、第１の色空間を有する第１のビデオブロックを第２のＲＧＢ色空間を有する第２のビデオブロックに変換するために使用される色変換は、ＲＧＢ色空間の色成分と、１つまたは複数の逆色変換の各々に関連する複数の色成分の各々との間に最も高い関連する相関を有する色空間に関連付けられた１つまたは複数の逆色変換のうちの逆色変換である。
【０２６７】
[0208]様々な他の例では、データの第１のブロックは、残差データのブロックを備える。別の例では、ビデオデータの第１のブロックは、元の信号のビデオデータのブロックを備える。
【０２６８】
[0209]例に応じて、本明細書で説明する技法のいずれかのいくつかの動作または事象は、異なるシーケンスで実施され得、追加、結合、または完全に除外され得ることが、認識されるべきである（たとえば、説明するすべての動作または事象が、本技法の実施のために必要であるとは限らない）。その上、いくつかの例では、動作または事象は、たとえば、マルチスレッド処理、割込み処理、または多数のプロセッサを介して、連続的ではなく同時に実施され得る。
【０２６９】
[0210]図８は、第１の色空間を有するビデオデータのブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに変換するためのプロセスを示すフローチャートである。ビデオデコーダ３０Ｂは、図９に示されたプロセスを実施するように構成され得る。ビデオデコーダ３０Ｂは、ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信することと、シンタックスデータが複数の逆色変換のうちの１つを示す（２６０）、受信されたシンタックスデータに基づいて複数の逆色変換のうちの逆色変換を選択することと（２６２）、を行うように構成され得る。ビデオデコーダ３０Ａは、最も低い関連するコストを有する選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１の元のブロックを変換することと（２６４）、第２の色空間を有する第２のビデオブロックを復号することと（２６６）、を行うようにさらに構成され得る。
【０２７０】
[0211]図９は、第１の色空間を有するビデオデータのブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに変換するためのプロセスを示すフローチャートである。ビデオデコーダ３０Ｂは、図９に示されたプロセスを実施するように構成され得る。ビデオデコーダ３０Ｂは、ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信することと、シンタックスデータが複数の逆色変換のうちの１つを示す（２８０）、受信されたシンタックスデータに基づいて複数の逆色変換のうちの逆色変換を選択することと（２８２）、を行うように構成され得る。ビデオデコーダ３０Ｂは、最も低い関連するコストを有する選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１の残差ブロックを逆変換することと（２８４）、第２の色空間を有する第２のビデオブロックを復号することと（２８６）、を行うようにさらに構成され得る。
【０２７１】
[0212]図１０は、第１の色空間を有するビデオデータの元のブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに変換するためのプロセスを示すフローチャートである。ビデオエンコーダ２０Ａは、図９に示されたプロセスを実施するように構成され得る。ビデオエンコーダ２０Ａは、複数の色変換に関連するコストを決定することと（３００）、最も低い関連するコストを有する複数の色変換のうちの色変換を選択することと（３０２）、を行うように構成され得る。ビデオエンコーダ２０Ａは、最も低い関連するコストを有する選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１の元のブロックを変換することと（３０４）、第２の色空間を有する第２のビデオブロックを符号化することと（３０６）、を行うようにさらに構成され得る。
【０２７２】
[0213]図１１は、第１の色空間を有するビデオデータの残差ブロックを第２のＲＧＢ色空間を有するビデオデータのブロックに変換するためのプロセスを示すフローチャートである。ビデオエンコーダ２０Ａは、図９に示されたプロセスを実施するように構成され得る。ビデオエンコーダ２０Ａは、複数の色変換に関連するコストを決定することと（３２０）、最も低い関連するコストを有する複数の色変換のうちの色変換を選択することと（３２２）、を行うように構成され得る。ビデオエンコーダ２０Ａは、最も低い関連するコストを有する選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１の残差ブロックを変換することと（３２４）、第２の色空間を有する第２のビデオブロックを符号化することと（３２６）、を行うようにさらに構成され得る。
【０２７３】
[0214]１つまたは複数の例において、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、それらの機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるかまたはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を支援する任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技術の実装のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０２７４】
[0215]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、一方、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０２７５】
[0216]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路など、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な任意の他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で完全に実装され得る。
【０２７６】
[0217]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。様々な構成要素、モジュール、またはユニットについて、開示する技術を実施するように構成されたデバイスの機能的態様を強調するために本開示で説明したが、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作ハードウェアユニットの集合によって提供され得る。
【０２７７】
[0218]様々な例について説明した。これらおよび他の例、ならびにそのような例の特定の組合せは、以下の特許請求の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[Ｃ１]  ビデオデータを符号化する方法であって、前記方法は、
コーディングユニットに関連する複数の色変換に関連するコストを決定することと、
最も低い関連するコストを有する前記複数の色変換のうちの色変換を選択することと、
前記複数の色変換のうちの前記選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１のブロックを変換することと、
前記第２の色空間を有する前記第２のビデオブロックを符号化することとを備える、方法。
[Ｃ２]  前記複数の色変換は、恒等変換と、差分変換と、重み付き差分変換と、離散コサイン変換（ＤＣＴ）と、ＹＣｂＣｒ変換と、ＹＣｇＣｏ変換と、ＹＣｇＣｏ−Ｒ変換とからなるグループのうちの複数の変換を備える、Ｃ１に記載の方法。
[Ｃ３]  前記恒等変換は、
【数３８】
0006728039.tif 000039
を備える、Ｃ２に記載の方法。
[Ｃ４]  前記差分変換は、
【数３９】
0006728039.tif 000040
を備える、Ｃ２に記載の方法。
[Ｃ５]  前記ＤＣＴ変換は、
【数４０】
0006728039.tif 000041
を備える、Ｃ２に記載の方法。
[Ｃ６]  前記ＹＣｂＣｒ変換は、
【数４１】
0006728039.tif 000042
を備える、Ｃ２に記載の方法。
[Ｃ７]  前記ＹＣｇＣｏ変換は、
【数４２】
0006728039.tif 000043
を備える、Ｃ２に記載の方法。
[Ｃ８]  前記選択された色変換は、
【数４３】
0006728039.tif 000044
を備えるＹＣｇＣｏ−Ｒ変換を備える、Ｃ１に記載の方法。
[Ｃ９]  前記選択された色変換は、
【数４４】
0006728039.tif 000045
に対応するリフティング方式を使用して導出され、
ここにおいて、ａ、ｂ、ｃ、およびｄはパラメータである、Ｃ１に記載の方法。
[Ｃ１０]  前記リフティング方式は、
【数４５】
0006728039.tif 000046
をさらに備え、
ここにおいて、ｅ、ｆ、ｇ、ｈ、ｉ、およびｊはパラメータである、Ｃ９に記載の方法。
[Ｃ１１]  前記リフティング方式の各色チャネルのビット深度を正規化することをさらに備える、Ｃ９に記載の方法。
[Ｃ１２]  前記選択された色変換は、
【数４６】
0006728039.tif 000047
を備える重み付き差分変換を備え、
ここにおいて、α1＝ｃｏｖ（Ｇ，Ｂ）／ｖａｒ（Ｇ）、
ここにおいて、α2＝ｃｏｖ（Ｇ，Ｒ）／ｖａｒ（Ｇ）、
ここにおいて、Ｒは前記ＲＧＢ色空間の赤色チャネルに対応し、
ここにおいて、Ｇは前記ＲＧＢ色空間の縁色チャネルに対応し、
ここにおいて、Ｂは前記ＲＧＢ色空間の青色チャネルに対応し、
ここにおいて、ｃｏｖ（）は共分散関数であり、
ここにおいて、ｖａｒ（）は分散関数である、Ｃ１に記載の方法。
[Ｃ１３]  前記共分散関数と前記分散関数とは、参照ピクセルのセットを使用して計算される、Ｃ１２に記載の方法。
[Ｃ１４]  α1とα2との値を符号化することをさらに備える、Ｃ１２に記載の方法。
[Ｃ１５]  α1とα2との前記値は、
整数のセットと、２進数のセットと、２進数をもつ分数のセットとからなるグループのうちの少なくとも１つを備える値のセットに制約される、Ｃ１２に記載の方法。
[Ｃ１６]  前記複数の色変換のうちの前記選択された第２の色変換が、前記第２の色空間を有する前記第２のビデオブロックに適用されていることを示すデータをシグナリングすることをさらに備える、Ｃ１に記載の方法。
[Ｃ１７]  前記方法は、
前記第１のブロックに前記複数の色変換のうちの単一の変換を適用すべきかどうかを決定することと、
前記複数のブロックに前記単一の変換を適用することを決定することに応答して、前記コード化ユニットについて、フラグシンタックス要素をシグナリングすることと、ここにおいて、前記フラグの第１の値は、前記単一の変換が適用されていることを示し、およびここにおいて、前記フラグの第２の値は、前記単一の変換が適用されていないことを示す、をさらに備える、Ｃ１に記載の方法。
[Ｃ１８]  前記第１のブロックは、
コーディングツリーユニット（ＣＴＵ）と、コーディングユニット（ＣＵ）と、予測ユニット（ＰＵ）と、変換ユニット（ＴＵ）とからなるグループのうちの少なくとも１つを備える、Ｃ１に記載の方法。
[Ｃ１９]  前記第１のブロックは複数のブロックを備え、前記方法は、
前記複数のブロックの各々に前記複数の色変換のうちのあらかじめ定義された色変換を適用すべきかどうかを決定することと、
前記複数のブロックの各々に前記あらかじめ定義された色変換を適用することを決定することに応答して、前記あらかじめ定義された色変換がビデオデータの前記複数ブロックの各々に適用されていることを示すデータをシグナリングすることなしに前記あらかじめ定義された色変換を使用して前記複数のブロックの各々を変換することとをさらに備える、Ｃ１に記載の方法。
[Ｃ２０]  前記複数の色変換のうちの前記選択された色変換は、L=D+λRに対応するラグランジュコストを最小限に抑える前記複数の色変換のうちの前記色変換を備え、
ここにおいて、Ｌは前記ラグランジュコストであり、Ｄはひずみ値であり、λはラグランジュ乗数であり、Ｒはビットレート値であり、
前記選択された色変換を示すインデックスシンタックス要素を符号化することＣ１に記載の方法。
[Ｃ２１]  前記選択された色変換は、最も低い関連するひずみコストを有する前記複数の色変換のうちの色変換であり、前記方法は、
前記選択された色変換を示すインデックスシンタックス要素を符号化することをさらに備える、Ｃ１に記載の方法。
[Ｃ２２]  前記方法は、
前記第１のビデオブロックの前記ＲＧＢ色空間の色成分と、前記複数の色変換の各々に関連する各色空間の色成分との間の相関を決定することと、
前記選択された色変換を示すインデックスシンタックス要素をシグナリングすることとをさらに備え、
ここにおいて、前記選択されたものは、前記色成分の間に最も高い関連する相関を有する前記色空間に関連付けられた前記複数の色変換のうちの色変換である、Ｃ１に記載の方法。
[Ｃ２３]  前記第１のブロックと前記第２のブロックとのうちの少なくとも１つに対して再構成された隣接するブロックに基づいて前記最も高い関連する相関を決定することをさらに備える、Ｃ２２に記載の方法。
[Ｃ２４]  データの前記第１のブロックは、元の信号のブロックを備える、Ｃ１に記載の方法。
[Ｃ２５]  前記第１のブロックは残差信号のブロックを備え、
前記第１のブロックは、予測ブロックと残差ブロックとからなるグループのうちの少なくとも１つを備える、Ｃ１に記載の方法。
[Ｃ２６]  ビデオデータを復号する方法であって、前記方法は、
ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信することと、前記シンタックスデータが複数の逆色変換のうちの１つを示す、
前記受信されたシンタックスデータに基づいて前記複数の逆色変換のうちの逆色変換を選択することと、
前記複数の逆色変換のうちの前記選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに逆変換することと、
前記第２のＲＧＢ色空間を有する前記第２のビデオブロックを復号することとを備える、方法。
[Ｃ２７]  前記複数の逆色変換は、恒等変換と、逆差分変換と、逆重み付き差分変換と、逆離散コサイン変換（ＤＣＴ）と、逆ＹＣｂＣｒ変換と、逆ＹＣｇＣｏ変換と、逆ＹＣｇＣｏ−Ｒ変換とからなるグループのうちの複数の逆色変換を備える、Ｃ２６に記載の方法。
[Ｃ２８]  前記恒等変換は、
【数４７】
0006728039.tif 000048
を備える、Ｃ２７に記載の方法。
[Ｃ２９]  前記逆差分変換は、
【数４８】
0006728039.tif 000049
を備える、Ｃ２７に記載の方法。
[Ｃ３０]  前記逆ＤＣＴ変換は、
【数４９】
0006728039.tif 000050
を備える、Ｃ２７に記載の方法。
[Ｃ３１]  前記逆ＹＣｂＣｒ変換は、
【数５０】
0006728039.tif 000051
を備える、Ｃ２７に記載の方法。
[Ｃ３２]  前記逆ＹＣｇＣｏ変換は、
【数５１】
0006728039.tif 000052
を備える、Ｃ２７に記載の方法。
[Ｃ３３]  前記選択された逆色変換は、
【数５２】
0006728039.tif 000053
を備えるＹＣｇＣｏ−Ｒ変換を備える、Ｃ２６に記載の方法。
[Ｃ３４]  前記選択された逆色変換は、
【数５３】
0006728039.tif 000054
に対応するリフティング方式を使用して導出され、
ここにおいて、ａ、ｂ、ｃ、およびｄはパラメータである、Ｃ２６に記載の方法。
[Ｃ３５]  前記リフティング方式は、
【数５４】
0006728039.tif 000055
をさらに備え、
ここにおいて、ｅ、ｆ、ｇ、ｈ、ｉ、およびｊはパラメータである、Ｃ３４に記載の方法。
[Ｃ３６]  前記リフティング方式の各色チャネルのビット深度を正規化することをさらに備える、Ｃ３４に記載の方法。
[Ｃ３７]  前記選択された逆色変換は、
【数５５】
0006728039.tif 000056
を備える重み付き差分変換を備え、
ここにおいて、α1＝ｃｏｖ（Ｇ，Ｂ）／ｖａｒ（Ｇ）、
ここにおいて、α2＝ｃｏｖ（Ｇ，Ｒ）／ｖａｒ（Ｇ）、
ここにおいて、Ｒは前記ＲＧＢ色空間の赤色チャネルに対応し、
ここにおいて、Ｇは前記ＲＧＢ空間の縁色チャネルに対応し、
ここにおいて、Ｂは前記ＲＧＢ色空間の青色チャネルに対応し、
ここにおいて、ｃｏｖ（）は共分散関数であり、
ここにおいて、ｖａｒ（）は分散関数である、Ｃ２６に記載の方法。
[Ｃ３８]  前記共分散関数と前記分散関数とは、参照ピクセルのセットを使用して計算される、Ｃ３７に記載の方法。
[Ｃ３９]  α1とα2との値を復号することをさらに備える、Ｃ３７に記載の方法。
[Ｃ４０]  α1とα2との前記値は、
整数のセットと、２進数のセットと、２進数をもつ分数のセットとからなるグループのうちの少なくとも１つを備えるセット値に制約される、Ｃ３７に記載の方法。
[Ｃ４１]  前記第１の色空間を有する前記第１のビデオブロックに適用すべき前記複数の色逆変換のうちの前記選択された逆色変換を示すデータを復号することをさらに備える、Ｃ２６に記載の方法。
[Ｃ４２]  前記方法は、
前記コード化ユニットについてフラグシンタックス要素の値を復号することと、
前記フラグシンタックス要素の前記値に基づいて前記第１のブロックに前記複数の逆色変換のうちの単一の逆変換を適用すべきかどうかを決定することとをさらに備え、
ここにおいて、前記フラグの第１の値は、前記単一の逆変換を適用することを示し、および
ここにおいて、前記フラグの第２の値は、前記単一の逆変換を適用しないことを示す、Ｃ２６に記載の方法。
[Ｃ４３]  ビデオデータの前記第１のブロックは、
コーディングツリーユニット（ＣＴＵ）と、コーディングユニット（ＣＵ）と、予測ユニット（ＰＵ）と、変換ユニット（ＴＵ）とからなるグループのうちの少なくとも１つを備える、Ｃ２６に記載の方法。
[Ｃ４４]  前記第１のブロックは複数のブロックを備え、前記方法は、
前記複数のブロックの各々に前記複数の逆色変換のうちのあらかじめ定義された逆色変換を適用すべきかどうかを決定することと、
前記複数のブロックの各々に前記あらかじめ定義された逆色変換を適用することを決定することに応答して、前記あらかじめ定義された色変換がビデオデータの前記複数ブロックの各々に適用されていることを示すデータを復号することなしに前記あらかじめ定義された色変換を使用して前記複数のブロックの各々を逆変換することとをさらに備える、Ｃ２６に記載の方法。
[Ｃ４５]  前記選択された逆色変換を示すインデックスシンタックス要素を復号することをさらに備え、
ここにおいて、前記複数の色変換のうちの前記選択された逆色変換は、Ｌ＝Ｄ＋λＲに対応するラグランジュコストを最小限に抑える前記複数の色変換のうちの前記逆色変換を備え、
ここにおいて、Ｌは前記ラグランジュコストであり、Ｄはひずみ値であり、λはラグランジュ乗数であり、Ｒはビットレート値である、Ｃ２６に記載の方法。
[Ｃ４６]  前記選択された逆色変換を示すインデックスシンタックス要素を復号することをさらに備え、
ここにおいて、前記選択された逆色変換は、最も低い関連するひずみコストを有する前記複数の色変換のうちの前記逆色変換である、Ｃ２６に記載の方法。
[Ｃ４７]  前記選択された逆色変換は、前記ＲＧＢ色空間の色成分と、前記複数の色変換の各々に関連する複数の色成分の各々との間に最も高い関連する相関を有する色空間に関連付けられた前記複数の色変換のうちの逆色変換である、Ｃ２６に記載の方法。
[Ｃ４８]  前記受信されたシンタックスデータは、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つに対して再構成された隣接するブロックのシンタックスデータを備え、
前記方法は、前記再構成された隣接するブロックの前記シンタックスデータに基づいて前記最も高い関連する相関を決定することをさらに備える、Ｃ４６に記載の方法。
[Ｃ４９]  前記最も高い関連する相関を有する前記選択された逆色変換を示すインデックスシンタックス要素を復号することをさらに備える、Ｃ４６に記載の方法。
[Ｃ５０]  データの前記第１のブロックは、再構成された信号のブロックを備える、Ｃ２６に記載の方法。
[Ｃ５１]  ビデオデータの前記第１のブロックは、再構成された残差信号のブロックを備え、
ここにおいて、前記第１のブロックは、予測ブロックと残差ブロックとからなるグループのうちの少なくとも１つを備える、Ｃ２６に記載の方法。
[Ｃ５２]  ビデオデータを符号化するためのデバイスであって、前記デバイスは、
ビデオデータを記憶するように構成されたメモリと、
コーディングユニットに関連する複数の色変換に関連するコストを決定することと、
最も低い関連するコストを有する前記複数の色変換のうちの色変換を選択することと、
前記複数の色変換のうちの前記選択された色変換を使用して第２の色空間を有するビデオデータの第２のブロックを生成するために第１の赤、緑、青（ＲＧＢ）色空間を有するビデオデータの第１のブロックを変換することと、
前記第２の色空間を有する前記第２のビデオブロックを符号化することと
を行うように構成された少なくとも１つのプロセッサとを備える、デバイス。
[Ｃ５３]  前記デバイスは、
集積回路と、
マイクロプロセッサと、
ワイヤレス通信デバイスとのうちの少なくとも１つを備える、Ｃ５２に記載のデバイス。
[Ｃ５４]  前記複数の色変換は、恒等変換と、差分変換と、重み付き差分変換と、離散コサイン変換（ＤＣＴ）と、ＹＣｂＣｒ変換と、ＹＣｇＣｏ変換と、ＹＣｇＣｏ−Ｒ変換とからなるグループのうちの複数を備える、Ｃ５２に記載のデバイス。
[Ｃ５５]  前記恒等変換は、
【数５６】
0006728039.tif 000057
を備える、Ｃ５２に記載のデバイス。
[Ｃ５６]  前記差分変換は、
【数５７】
0006728039.tif 000058
を備える、Ｃ５２に記載のデバイス。
[Ｃ５７]  前記ＤＣＴ変換は、
【数５８】
0006728039.tif 000059
を備える、Ｃ５２に記載のデバイス。
[Ｃ５８]  前記ＹＣｂＣｒ変換は、
【数５９】
0006728039.tif 000060
を備える、Ｃ５２に記載のデバイス。
[Ｃ５９]  前記ＹＣｇＣｏ変換は、
【数６０】
0006728039.tif 000061
を備える、Ｃ５２に記載のデバイス。
[Ｃ６０]  前記選択された色変換は、
【数６１】
0006728039.tif 000062
を備えるＹＣｇＣｏ−Ｒ変換を備える、Ｃ５２に記載のデバイス。
[Ｃ６１]  前記選択された色変換は、
【数６２】
0006728039.tif 000063
に対応するリフティング方式を使用して導出され、
ここにおいて、ａ、ｂ、ｃ、およびｄはパラメータである、Ｃ５２に記載のデバイス。
[Ｃ６２]  前記リフティング方式は、
【数６３】
0006728039.tif 000064
をさらに備え、
ここにおいて、ｅ、ｆ、ｇ、ｈ、ｉ、およびｊはパラメータである、Ｃ６１に記載のデバイス。
[Ｃ６３]  前記少なくとも１つのプロセッサは、
前記リフティング方式の各色チャネルのビット深度を正規化するようにさらに構成された、Ｃ６１に記載のデバイス。
[Ｃ６４]  前記選択された色変換は、
【数６４】
0006728039.tif 000065
を備える重み付き差分変換を備え、
ここにおいて、α1＝ｃｏｖ（Ｇ，Ｂ）／ｖａｒ（Ｇ）、
ここにおいて、α2＝ｃｏｖ（Ｇ，Ｒ）／ｖａｒ（Ｇ）、
ここにおいて、Ｒは前記ＲＧＢ色空間の赤色チャネルに対応し、
ここにおいて、Ｇは前記ＲＧＢ色空間の縁色チャネルに対応し、
ここにおいて、Ｂは前記ＲＧＢ色空間の青色チャネルに対応し、
ここにおいて、ｃｏｖ（）は共分散関数であり、
ここにおいて、ｖａｒ（）は分散関数である、Ｃ５２に記載のデバイス。
[Ｃ６５]  前記共分散関数と前記分散関数とは、参照ピクセルのセットを使用して計算される、Ｃ６４に記載のデバイス。
[Ｃ６６]  α1とα2との値を符号化することをさらに備える、Ｃ６４に記載のデバイス。
[Ｃ６７]  α1とα2との前記値は、
整数のセットと、２進数のセットと、２進数をもつ分数のセットとからなるグループのうちの少なくとも１つを備える値のセットに制約される、Ｃ６４に記載のデバイス。
[Ｃ６８]  前記少なくとも１つのプロセッサは、
前記複数の色変換のうちの前記選択された第２の色変換が、前記第２の色空間を有する前記第２のビデオブロックに適用されていることを示すデータをシグナリングするようにさらに構成された、Ｃ５２に記載のデバイス。
[Ｃ６９]  前記少なくとも１つのプロセッサは、
前記第１のブロックに前記複数の色変換のうちの単一の変換を適用すべきかどうかを決定することと、
前記複数のブロックに前記単一の変換を適用することを決定することに応答して、前記コード化ユニットについて、フラグシンタックス要素をシグナリングすることと、ここにおいて、前記フラグの第１の値は、前記単一の変換が適用されていることを示し、およびここにおいて、前記フラグの第２の値は、前記単一の変換が適用されていないことを示す、を行うようにさらに構成された、Ｃ５２に記載のデバイス。
[Ｃ７０]  前記第１のブロックは、
コーディングツリーユニット（ＣＴＵ）と、コーディングユニット（ＣＵ）と、予測ユニット（ＰＵ）と、変換ユニット（ＴＵ）とからなるグループのうちの少なくとも１つを備える、Ｃ５２に記載のデバイス。
[Ｃ７１]  前記第１のブロックは複数のブロックを備え、前記少なくとも１つのプロセッサは、
前記複数のブロックの各々に前記複数の色変換のうちのあらかじめ定義された色変換を適用すべきかどうかを決定することと、
前記複数のブロックの各々に前記あらかじめ定義された色変換を適用することを決定することに応答して、前記あらかじめ定義された色変換がビデオデータの前記複数ブロックの各々に適用されていることを示すデータをシグナリングすることなしに前記あらかじめ定義された色変換を使用して前記複数のブロックの各々を変換することとを行うようにさらに構成された、Ｃ５２に記載のデバイス。
[Ｃ７２]  前記複数の色変換のうちの前記選択された色変換は、Ｌ＝Ｄ＋λＲに対応するラグランジュコストを最小限に抑える前記複数の色変換のうちの前記色変換を備え、
ここにおいて、Ｌは前記ラグランジュコストであり、Ｄはひずみ値であり、λはラグランジュ乗数であり、Ｒはビットレート値であり、
前記選択された色変換を示すインデックスシンタックス要素を符号化することＣ５２に記載のデバイス。
[Ｃ７３]  前記選択された色変換は、最も低い関連するひずみコストを有する前記複数の色変換のうちの色変換であり、前記少なくとも１つのプロセッサは、
前記選択された色変換を示すインデックスシンタックス要素を符号化するようにさらに構成された、Ｃ５２に記載のデバイス。
[Ｃ７４]  前記少なくとも１つのプロセッサは、
前記第１のビデオブロックの前記ＲＧＢ色空間の色成分と、前記複数の色変換の各々に関連する各色空間の色成分との間の相関を決定することと、
前記選択された色変換を示すインデックスシンタックス要素をシグナリングすることとを行うようにさらに構成され、
ここにおいて、前記選択されたものは、前記色成分の間に最も高い関連する相関を有する前記色空間に関連付けられた前記複数の色変換のうちの色変換である、Ｃ５２に記載のデバイス。
[Ｃ７５]  前記少なくとも１つのプロセッサは、
前記第１のブロックと前記第２のブロックとのうちの少なくとも１つに対して再構成された隣接するブロックに基づいて前記最も高い関連する相関を決定するようにさらに構成された、Ｃ７４に記載のデバイス。
[Ｃ７６]  データの前記第１のブロックは、元の信号のブロックを備える、Ｃ５２に記載のデバイス。
[Ｃ７７]  前記第１のブロックは残差信号のブロックを備え、
ここにおいて、前記第１のブロックは、予測ブロックと残差ブロックとからなるグループのうちの少なくとも１つを備える、Ｃ５２に記載のデバイス。
[Ｃ７８]  ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータを記憶するように構成されたメモリと、
ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信することと、前記シンタックスデータが複数の逆色変換のうちの１つを示す、
前記受信されたシンタックスデータに基づいて前記複数の逆色変換のうちの逆色変換を選択することと、
前記複数の逆色変換のうちの前記選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに逆変換することと、
前記第２のＲＧＢ色空間を有する前記第２のビデオブロックを復号することと
を行うように構成された少なくとも１つのプロセッサとを備える、デバイス。
[Ｃ７９]  前記デバイスは、
集積回路と、
マイクロプロセッサと、
ワイヤレス通信デバイスとのうちの少なくとも１つを備える、Ｃ７８に記載のデバイス。
[Ｃ８０]  前記複数の逆色変換は、恒等変換と、逆差分変換と、逆重み付き差分変換と、逆離散コサイン変換（ＤＣＴ）と、逆ＹＣｂＣｒ変換と、逆ＹＣｇＣｏ変換と、逆ＹＣｇＣｏ−Ｒ変換とからなるグループのうちの複数の逆色変換を備える、Ｃ７８に記載のデバイス。
[Ｃ８１]  前記恒等変換は、
【数６５】
0006728039.tif 000066
を備える、Ｃ８０に記載のデバイス。
[Ｃ８２]  前記逆差分変換は、
【数６６】
0006728039.tif 000067
を備える、Ｃ８０に記載のデバイス。
[Ｃ８３]  前記逆ＤＣＴ変換は、
【数６７】
0006728039.tif 000068
を備える、Ｃ８０に記載のデバイス。
[Ｃ８４]  前記逆ＹＣｂＣｒ変換は、
【数６８】
0006728039.tif 000069
を備える、Ｃ８０に記載のデバイス。
[Ｃ８５]  前記逆ＹＣｇＣｏ変換は、
【数６９】
0006728039.tif 000070
を備える、Ｃ８０に記載のデバイス。
[Ｃ８６]  前記選択された逆色変換は、
【数７０】
0006728039.tif 000071
を備えるＹＣｇＣｏ−Ｒ変換を備える、Ｃ８０に記載のデバイス。
[Ｃ８７]  前記選択された逆色変換は、
【数７１】
0006728039.tif 000072
に対応するリフティング方式を使用して導出され、
ここにおいて、ａ、ｂ、ｃ、およびｄはパラメータである、Ｃ７８に記載のデバイス。
[Ｃ８８]  前記リフティング方式は、
【数７２】
0006728039.tif 000073
をさらに備え、
ここにおいて、ｅ、ｆ、ｇ、ｈ、ｉ、およびｊはパラメータである、Ｃ８７に記載のデバイス。
[Ｃ８９]  前記少なくとも１つのプロセッサは、前記リフティング方式の各色チャネルのビット深度を正規化するようにさらに構成された、Ｃ８７に記載のデバイス。
[Ｃ９０]  前記選択された逆色変換は、
【数７３】
0006728039.tif 000074
を備える重み付き差分変換を備え、
ここにおいて、α1＝ｃｏｖ（Ｇ，Ｂ）／ｖａｒ（Ｇ）、
ここにおいて、α2＝ｃｏｖ（Ｇ，Ｒ）／ｖａｒ（Ｇ）、
ここにおいて、Ｒは前記ＲＧＢ色空間の赤色チャネルに対応し、
ここにおいて、Ｇは前記ＲＧＢ空間の縁色チャネルに対応し、
ここにおいて、Ｂは前記ＲＧＢ色空間の青色チャネルに対応し、
ここにおいて、ｃｏｖ（）は共分散関数であり、
ここにおいて、ｖａｒ（）は分散関数である、Ｃ７８に記載のデバイス。
[Ｃ９１]  前記共分散関数と前記分散関数とは、参照ピクセルのセットを使用して計算される、Ｃ９０に記載のデバイス。
[Ｃ９２]  α1とα2との値を復号することをさらに備える、Ｃ９０に記載のデバイス。
[Ｃ９３]  α1とα2との前記値は、
整数のセットと、２進数のセットと、２進数をもつ分数のセットとからなるグループのうちの少なくとも１つを備えるセット値に制約される、Ｃ９０に記載のデバイス。
[Ｃ９４]  前記少なくとも１つのプロセッサは、
前記第１の色空間を有する前記第１のビデオブロックに適用すべき前記複数の色逆変換のうちの前記選択された逆色変換を示すデータを復号するようにさらに構成された、Ｃ７８に記載のデバイス。
[Ｃ９５]  前記少なくとも１つのプロセッサは、
前記コード化ユニットについてフラグシンタックス要素の値を復号することと、
前記フラグシンタックス要素の前記値に基づいて前記第１のブロックに前記複数の逆色変換のうちの単一の逆変換を適用すべきかどうかを決定することとを行うようにさらに構成され、
ここにおいて、前記フラグの第１の値は、前記単一の逆変換を適用することを示し、および
ここにおいて、前記フラグの第２の値は、前記単一の逆変換を適用しないことを示す、Ｃ７８に記載のデバイス。
[Ｃ９６]  ビデオデータの前記第１のブロックは、
コーディングツリーユニット（ＣＴＵ）と、コーディングユニット（ＣＵ）と、予測ユニット（ＰＵ）と、変換ユニット（ＴＵ）とからなるグループのうちの少なくとも１つを備える、Ｃ７８に記載のデバイス。
[Ｃ９７]  前記第１のブロックは複数のブロックを備え、前記少なくとも１つのプロセッサは、
前記複数のブロックの各々に前記複数の逆色変換のうちのあらかじめ定義された逆色変換を適用すべきかどうかを決定することと、
前記複数のブロックの各々に前記あらかじめ定義された逆色変換を適用することを決定することに応答して、前記あらかじめ定義された色変換がビデオデータの前記複数ブロックの各々に適用されていることを示すデータを復号することなしに前記あらかじめ定義された色変換を使用して前記複数のブロックの各々を逆変換することとを行うようにさらに構成された、Ｃ７８に記載のデバイス。
[Ｃ９８]  前記少なくとも１つのプロセッサは、前記選択された逆色変換を示すインデックスシンタックス要素を復号するようにさらに構成され、
ここにおいて、前記複数の色変換のうちの前記選択された逆色変換は、Ｌ＝Ｄ＋λＲに対応するラグランジュコストを最小限に抑える前記複数の色変換のうちの前記逆色変換を備え、
ここにおいて、Ｌは前記ラグランジュコストであり、Ｄはひずみ値であり、λはラグランジュ乗数であり、Ｒはビットレート値である、Ｃ７８に記載のデバイス。
[Ｃ９９]  前記少なくとも１つのプロセッサは、
前記選択された逆色変換を示すインデックスシンタックス要素を復号するようにさらに構成され、
ここにおいて、前記選択された逆色変換は、最も低い関連するひずみコストを有する前記複数の色変換のうちの前記逆色変換である、Ｃ７８に記載のデバイス。
[Ｃ１００]  前記選択された逆色変換は、前記ＲＧＢ色空間の色成分と、前記複数の色変換の各々に関連する複数の色成分の各々との間に最も高い関連する相関を有する色空間に関連付けられた前記複数の色変換のうちの逆色変換である、Ｃ７８に記載のデバイス。
[Ｃ１０１]  前記受信されたシンタックスデータは、前記第１のブロックと前記第２のブロックとのうちの少なくとも１つに対して再構成された隣接するブロックのシンタックスデータを備え、
ここにおいて、前記少なくとも１つのプロセッサは、前記再構成された隣接するブロックの前記シンタックスデータに基づいて前記最も高い関連する相関を決定するようにさらに構成された、Ｃ１００に記載のデバイス。
[Ｃ１０２]  前記少なくとも１つのプロセッサは、前記最も高い関連する相関を有する前記選択された逆色変換を示すインデックスシンタックス要素を復号するようにさらに構成された、Ｃ１００に記載のデバイス。
[Ｃ１０３]  データの前記第１のブロックは、再構成された信号のブロックを備える、Ｃ７８に記載のデバイス。
[Ｃ１０４]  ビデオデータの前記第１のブロックは、再構成された残差信号のブロックを備え、
ここにおいて、前記第１のブロックは、予測ブロックと残差ブロックとからなるグループのうちの少なくとも１つを備える、Ｃ７８に記載のデバイス。
[Ｃ１０５]  ビデオを復号するためのデバイスであって、前記デバイスは、
ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信するための手段と、前記シンタックスデータが複数の逆色変換のうちの１つを示す、
前記受信されたシンタックスデータに基づいて前記複数の逆色変換のうちの逆色変換を選択するための手段と、
前記複数の逆色変換のうちの前記選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに逆変換するための手段と、
前記第２のＲＧＢ色空間を有する前記第２のビデオブロックを復号するための手段とを備える、デバイス。
[Ｃ１０６]  実行されたとき、少なくとも１つのプロセッサに、
ビットストリーム中でコード化ユニットに関連するシンタックスデータを受信することと、前記シンタックスデータが複数の逆色変換のうちの１つを示す、
前記受信されたシンタックスデータに基づいて前記複数の逆色変換のうちの逆色変換を選択することと、
前記複数の逆色変換のうちの前記選択された逆色変換を使用して第１の色空間を有するビデオデータの第１のブロックを第２の赤、緑、青（ＲＧＢ）色空間を有するビデオの第２のブロックに逆変換することと、
前記第２のＲＧＢ色空間を有する前記第２のビデオブロックを復号することとを行わせる命令を記憶した非一時的コンピュータ可読記憶媒体。
【図１】
0006728039.tif 000079
【図２】
0006728039.tif 000080
【図３】
0006728039.tif 000081
【図４】
0006728039.tif 000082
【図５】
0006728039.tif 000083
【図６】
0006728039.tif 000084
【図７】
0006728039.tif 000085
【図８】
0006728039.tif 000086
【図９】
0006728039.tif 000087
【図１０】
0006728039.tif 000088
【図１１】
0006728039.tif 000089