(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、前記ビデオデータは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す残差データを備え、前記方法は、
前記ビデオデータのルーマ成分のビット深度と前記ビデオデータのクロマ成分のビット深度とを決定することと、
前記ルーマ成分の前記ビット深度が前記クロマ成分の前記ビット深度とは異なることに応答して、前記ビット深度が等しくなるように前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することと、
前記修正されたビデオデータに色空間変換プロセスを適用することと
を備える、方法。
【請求項２】
前記ビデオデータを符号化するために色空間変換プロセスを使用することを決定することをさらに備え、ここにおいて、前記ビデオデータを符号化するために色空間変換プロセスを使用することを決定することは、
色空間変換プロセスを使用して前記ビデオデータが符号化されたことを示すシンタックス要素の値を設定することを備え、
ここにおいて、前記シンタックス要素が好ましくは、１ビットフラグを備え、前記シンタックス要素についての１の値が好ましくは、色空間変換プロセスが前記ビデオデータを符号化するために使用されることを示す、請求項１に記載の方法。
【請求項３】
イントラコーディングされたコーディングユニットについて、イントラパルス符号変調（ＩＰＣＭ）モード以外のモードを使用して前記コーディングユニットが符号化されるときのみ、前記シンタックス要素は、シグナリングされ、および／または、
前記コーディングユニットの変換ユニット中に非０係数があるとき、前記シンタックス要素は、色空間変換プロセスを使用して前記コーディングユニットが符号化されたことを示す、および／または、
前記コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、前記シンタックス要素がシグナリングされない、および／または、
前記コーディングユニットがパレットモードでコーディングされるとき、前記シンタックス要素がシグナリングされない、請求項２に記載の方法。
【請求項４】
ビデオデータを記憶するように構成されたメモリと、前記ビデオデータは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す残差データを備える、
１つまたは複数のプロセッサと
を備えるビデオ符号化デバイスであって、前記１つまたは複数のプロセッサは、
前記ビデオデータのルーマ成分のビット深度と前記ビデオデータのクロマ成分のビット深度とを決定することと、
前記ルーマ成分の前記ビット深度が前記クロマ成分の前記ビット深度とは異なることに応答して、前記ビット深度が等しくなるように前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することと、
前記修正されたビデオデータに色空間変換プロセスを適用することと
を行うように構成された、ビデオ符号化デバイス。
【請求項５】
前記１つまたは複数のプロセッサが、前記ビデオデータを符号化するために色空間変換プロセスを使用することを決定するようにさらに構成され、ここにおいて、前記１つまたは複数のプロセッサが前記ビデオデータを符号化するために色空間変換プロセスを使用することを決定するように構成されることは、前記１つまたは複数のプロセッサが
色空間変換プロセスを使用して前記ビデオデータが符号化されたことを示すシンタックス要素の値を設定するように構成されることを備える、
ここにおいて、前記シンタックス要素が好ましくは、１ビットフラグを備え、前記シンタックス要素についての１の値が好ましくは、色空間変換プロセスが前記ビデオデータを符号化するために使用されることを示す、請求項４に記載のビデオ符号化デバイス。
【請求項６】
イントラコーディングされたコーディングユニットについて、イントラパルス符号変調（ＩＰＣＭ）モード以外のモードを使用して前記コーディングユニットがコーディングされるときのみ、前記シンタックス要素がシグナリングされる、および／または、
前記コーディングユニットの変換ユニット中に非０係数があるときのみ、前記シンタックス要素がシグナリングされる、および／または、
前記コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、前記シンタックス要素がシグナリングされない、および／または、
前記コーディングユニットがパレットモードでコーディングされるとき、前記シンタックス要素がシグナリングされない、請求項５に記載のビデオ符号化デバイス。
【請求項７】
ビデオデータを復号する方法であって、前記ビデオデータは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す残差データを備え、前記方法は、
前記ビデオデータのルーマ成分のビット深度と前記ビデオデータのクロマ成分のビット深度とを決定することと、
前記ルーマ成分の前記ビット深度が前記クロマ成分の前記ビット深度とは異なることに応答して、前記ビット深度が等しくなるように前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することと、
前記修正されたビデオデータに逆色空間変換プロセスを適用することと
を備える、方法。
【請求項８】
ビデオデータのコーディングユニットのシンタックス要素を復号することと、ここにおいて、前記シンタックス要素が、色空間変換プロセスを使用して前記コーディングユニットが符号化されたかどうかを示す、
前記シンタックス要素の値が、色空間変換プロセスを使用して前記コーディングユニットが符号化されたことを示すかどうかを決定することと、
前記シンタックス要素が、色空間変換プロセスを使用して前記コーディングユニットがコーディングされたことを示すと決定することに応答して、前記逆色空間変換プロセスを適用することと
をさらに備え、
ここにおいて、前記シンタックス要素が１ビットフラグを備え、前記シンタックス要素についての１の値が好ましくは、色空間変換プロセスが前記ビデオデータを符号化するために使用されることを示す、請求項７に記載の方法。
【請求項９】
前記シンタックス要素が、前記ＩＰＣＭモード以外のモードを使用するイントラコーディングされたコーディングユニットについてのみシグナリングされる、および／または、
前記コーディングユニットの変換ユニット中に非０係数があるとき、前記シンタックス要素は、色空間変換プロセスを使用して前記コーディングユニットが符号化されたことを示す、および／または、
前記コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、前記シンタックス要素は、色空間変換プロセスを使用して前記コーディングユニットが符号化されなかったことを示し、ここにおいて、前記シンタックス要素が、前記ビデオデータを備える受信ビットストリーム中に存在せず、および、ここにおいて、前記シンタックス要素を復号することが、前記シンタックス要素の前記値を推論することを備える、および／または、
前記コーディングユニットがパレットモードでコーディングされるとき、前記シンタックス要素は、色空間変換プロセスを使用して前記コーディングユニットが符号化されなかったことを示し、ここにおいて、前記シンタックス要素が、前記ビデオデータを備える受信ビットストリーム中に存在せず、および、ここにおいて、前記シンタックス要素を復号することが、前記シンタックス要素の前記値を推論することを備える、請求項８に記載の方法。
【請求項１０】
前記ビデオデータはビデオデータの第１のセットであり、前記方法は、
ビデオデータの第２のセットについて、
ビデオデータの前記第２のセットのルーマ成分のビット深度とビデオデータの前記第２のセットのクロマ成分のビット深度とを決定することと、
ビデオデータの前記第２のセットの前記ルーマ成分の前記ビット深度がビデオデータの前記第２のセットの前記クロマ成分の前記ビット深度とは異なることに応答して、ビデオデータの前記第２のセットについての前記色空間変換、または逆色空間変換を無効化することと
をさらに備え、
前記方法は、好ましくは、
ビデオデータの前記第２のセットのために前記色空間変換プロセスまたは前記逆色空間変換プロセスが無効化されることを示す、ビデオデータの前記第２のセットのピクチャパラメータセットの第２のシンタックス要素を復号することをさらに備える、請求項１または７に記載の方法。
【請求項１１】
前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することが、前記逆色空間変換プロセスを適用することの前に、前記ルーマ成分と前記クロマ成分の一方または両方の前記ビデオデータに対してビット単位シフト演算を実行することを備える、請求項１または７に記載の方法。
【請求項１２】
ビデオデータを記憶するように構成されたメモリと、前記ビデオデータは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す残差データを備える、
１つまたは複数のプロセッサと
を備えるビデオ復号デバイスであって、前記１つまたは複数のプロセッサは、
前記ビデオデータのルーマ成分のビット深度と前記ビデオデータのクロマ成分のビット深度とを決定することと、
前記ルーマ成分の前記ビット深度が前記クロマ成分の前記ビット深度とは異なることに応答して、前記ビット深度が等しくなるように前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することと、
前記修正されたビデオデータに逆色空間変換プロセスを適用することと
を行うように構成された、ビデオ復号デバイス。
【請求項１３】
前記１つまたは複数のプロセッサは、
ビデオデータのコーディングユニットのシンタックス要素を復号することと、ここにおいて、前記シンタックス要素が、色空間変換プロセスを使用して前記コーディングユニットが符号化されたかどうかを示す、
前記シンタックス要素の値が、色空間変換プロセスを使用して前記コーディングユニットが符号化されたことを示すかどうかを決定することと、
前記シンタックス要素が、色空間変換プロセスを使用して前記コーディングユニットがコーディングされたことを示すと決定することに応答して、前記逆色空間変換プロセスを適用することと
を行うようにさらに構成され、
ここにおいて、前記シンタックス要素が好ましくは、１ビットフラグを備え、前記シンタックス要素についての１の値が好ましくは、色空間変換プロセスが前記ビデオデータを符号化するために使用されることを示す、請求項１２に記載のビデオ復号デバイス。
【請求項１４】
前記シンタックス要素が、前記ＩＰＣＭモード以外のモードを使用するイントラコーディングされたコーディングユニットについてのみシグナリングされる、および／または、
前記コーディングユニットの変換ユニット中に非０係数があるときのみ、前記シンタックス要素がシグナリングされる、および／または、
前記コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、前記シンタックス要素は、色空間変換プロセスを使用して前記コーディングユニットが符号化されなかったことを示し、ここにおいて、前記シンタックス要素が、前記ビデオデータを備える受信ビットストリーム中に存在せず、および、ここにおいて、前記シンタックス要素を復号することが、前記シンタックス要素の前記値を推論することを備える、および／または、
前記コーディングユニットがパレットモードでコーディングされるとき、前記シンタックス要素は、色空間変換プロセスを使用して前記コーディングユニットが符号化されなかったことを示し、ここにおいて、前記シンタックス要素が、前記ビデオデータを備える受信ビットストリーム中に存在せず、および、ここにおいて、前記シンタックス要素を復号することが、前記シンタックス要素の前記値を推論することを備える、請求項１３に記載のビデオ復号デバイス。
【請求項１５】
実行されたとき、ビデオ符号化デバイスの１つまたは複数のプロセッサに、請求項１−３または８−１２のうちのいずれかに記載の方法を実施させる命令を備えるコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本出願は、その各々の内容全体が参照により本明細書に組み込まれる、２０１４年３月１４日に出願された米国仮出願第６１／９５３，５７３号、２０１４年４月１８日に出願された米国仮出願第６１／９８１，６４５号、および２０１４年１０月１０日に出願された米国仮出願第６２／０６２，６３７号の利益を主張する。
【０００２】
[0002]  本開示は、ビデオコーディング（video coding）に関し、より詳細には、色空間変換（color-space conversion）を使用するビデオコーディングに関する。
【背景技術】
【０００３】
[0003]  デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格、およびそのような規格の拡張によって定義された規格に記載されたものなどのビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]  ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（ピクチャ内）予測および／または時間的（ピクチャ間）予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもあるビデオブロック（video block）に区分され得る。ピクチャのイントラコーディングされた（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]  空間的または時間的予測は、コーディングされるべきブロックのための予測ブロック（predictive block）を生じる。残差データ（residual data）は、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分（pixel difference）を表す。インターコーディングされるブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル（motion vector）、およびコーディングされたブロックと予測ブロックとの差分を示す残差データに従って符号化される。イントラコーディングされるブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数（residual transform coefficient）が生じ得、その残差変換係数は、次いで量子化され得る。最初に２次元アレイで構成される量子化された変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディング（entropy coding）が適用され得る。
【発明の概要】
【０００６】
[0006]  概して、本開示では、色空間変換プロセス（color-space conversion process）を使用してビデオブロックをコーディングするための技法について説明する。ビデオエンコーダ（video encoder）またはビデオデコーダ（video decoder）などのビデオコーダ（video coder）が、ビデオデータ（video data）のルーマ成分（luma component）のビット深度（bit-depth）とビデオデータのクロマ成分（chroma component）のビット深度とを決定し得る。ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビデオコーダは、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正し得る。ビデオコーダは、ビデオデータを符号化することにおいて色空間変換プロセスをさらに適用し得る。
【０００７】
[0007]  一例では、ビデオデータを符号化するための方法について説明される。本方法は、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定することを備える。本方法はまた、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正することを含む。本方法は、修正されたビデオデータに色空間変換プロセスを適用することをさらに含む。
【０００８】
[0008]  別の例では、デバイスが、ビデオデータを記憶するように構成されたメモリと、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定するように構成された１つまたは複数のプロセッサとを含む。さらに、１つまたは複数のプロセッサはまた、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正するように構成される。１つまたは複数のプロセッサは、修正されたビデオデータに色空間変換プロセスを適用するようにさらに構成される。
【０００９】
[0009]  別の例では、デバイスが、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定するための手段とを含む。本デバイスは、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正するための手段をさらに含む。本デバイスはまた、修正されたビデオデータに色空間変換プロセスを適用するための手段を含む。
【００１０】
[0010]  別の例では、実行されたとき、１つまたは複数のプロセッサに、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定することと、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正することを行わせる命令を備えるコンピュータ可読記憶媒体。命令はまた、実行されたとき、プロセッサに、修正されたビデオデータに色空間変換プロセスを適用させる。
【００１１】
[0011]  一例では、ビデオデータを復号するための方法について説明される。本方法は、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定することを備える。本方法はまた、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正することを含む。本方法は、修正されたビデオデータに色空間逆変換プロセス（color-space inverse transform process）を適用することをさらに含む。
【００１２】
[0012]  別の例では、デバイスが、ビデオデータを記憶するように構成されたメモリと、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定するように構成された１つまたは複数のプロセッサとを含む。さらに、１つまたは複数のプロセッサはまた、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正するように構成される。１つまたは複数のプロセッサは、修正されたビデオデータに色空間逆変換プロセスを適用するようにさらに構成される。
【００１３】
[0013]  別の例では、デバイスが、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定するための手段とを含む。本デバイスは、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正するための手段をさらに含む。本デバイスはまた、修正されたビデオデータに色空間逆変換プロセスを適用するための手段を含む。
【００１４】
[0014]  別の例では、実行されたとき、１つまたは複数のプロセッサに、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定することと、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正することを行わせる命令を備えるコンピュータ可読記憶媒体。命令はまた、実行されたとき、プロセッサに、修正されたビデオデータに色空間逆変換プロセスを適用させる。
【００１５】
[0015]  本開示の１つまたは複数の例の詳細は、添付の図面および以下の説明に記載される。本開示の他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１６】
【図１】[0016]  本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0017]  本開示で説明される技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】[0018]  本開示で説明される技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図４】[0019]  本開示の１つまたは複数の技法による３５個のＨＥＶＣ予測モードを示す概念図。
【図５】[0020]  本開示の１つまたは複数の技法による、マージモードと高度動きベクトル予測（ＡＭＶＰ：advanced motion vector prediction）モードとのための空間隣接動きベクトル候補（spatial neighboring motion vector candidate）を示す概念図。
【図６】[0021]  本開示の１つまたは複数の技法によるイントラブロックコピー（ＢＣ：block copy）の一例を示す概念図。
【図７】[0022]  本開示の１つまたは複数の技法による、イントラ８×８ブロックのためのターゲットブロックおよび参照サンプルの一例を示す概念図。
【図８】[0023]  本開示の１つまたは複数の技法による符号化技法を示す流れ図。
【図９】[0024]  本開示の１つまたは複数の技法による復号技法を示す流れ図。
【発明を実施するための形態】
【００１７】
[0025]  いくつかの例では、本開示は、高クロマサンプリングフォーマット（chroma sampling format）４：４：４が使用されるスクリーンコンテンツコーディングに関係する。いくつかの例では、本開示は、場合によっては高いビット深度（bit depth）、（８ビットよりも大きい）、高クロマサンプリングフォーマット４：４：４のサポートを含む、範囲拡張（ＲＣＥｘ）にも適用可能である。いくつかの例では、本開示は、クロマサンプリングフォーマットが４：２：２であるなど、他の色フォーマットにも適用可能である。より詳細には、本開示では、色空間変換に関係する多くの異なる技法について説明される。
【００１８】
[0026]  ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１ビジュアルと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２ビジュアルと、ＩＴＵ−Ｔ  Ｈ．２６３と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４ビジュアルと、それのスケーラブルビデオコーディング（ＳＶＣ：Scalable Video Coding）およびマルチビュービデオコーディング（ＭＶＣ：Multiview Video Coding）拡張を含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとも呼ばれる）ＩＴＵ−Ｔ  Ｈ．２６４とを含む。
【００１９】
[0027]  新しいビデオコーディング規格、すなわち高効率ビデオコーディング（ＨＥＶＣ）の設計が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）およびＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ）のジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ）によって確定された。
【００２０】
[0028]  ＨＥＶＣでは、スライス中の最大コーディングユニットはコーディングツリーブロック（ＣＴＢ：coding tree block）と呼ばれる。ＣＴＢは、それのノードがコーディングユニットである４分木（quad-tree）を含んでいる。８×８ＣＴＢサイズがサポートされ得るが、ＣＴＢのサイズは、ＨＥＶＣメインプロファイルにおいて１６×１６から６４×６４にわたることができる。コーディングユニット（ＣＵ：coding unit）は、ＣＴＢと同じサイズであり、８×８程度に小さくなり得る。各ＣＵは１つのモードでコーディングされる。ＣＵがインターコーディングされるとき、ＣＵは、２つの予測ユニット（ＰＵ：prediction unit）にさらに区分され得るか、または、さらなる区分が適用しないとき、単一のＰＵになり得る。１つのＣＵ中に２つのＰＵが存在するとき、各ＰＵは、ＣＵのサイズの１／４または３／４に等しいサイズをもつ、ハーフサイズの矩形または２つの矩形であり得る。
【００２１】
[0029]  ＣＵがインターコーディングされるとき、ＰＵごとに動き情報の１つのセットが存在する。さらに、各ＰＵは、動き情報のセットを導出するために一意のインター予測モードでコーディングされる。ＨＥＶＣでは、最小ＰＵサイズは８×４および４×８である。
【００２２】
[0030]  ＨＥＶＣは、予測残差をコーディングするために４×４、８×８、１６×１６、および３２×３２のサイズをもつ４つの変換ユニット（ＴＵ：transform unit）を指定する。ＣＴＢは、４つ以上のＴＵに再帰的に区分され得る。ＴＵは、離散コサイン変換（ＤＣＴ：discrete cosine transform）関数と同様である整数ベースの関数を使用する。さらに、離散サイン変換（ＤＳＴ：discrete sine transform）関数から導出された整数変換を使用して、イントラコーディングされた領域に属する４×４ルーマ変換ブロックが変換される。クロマ（Chroma）は、ルーマ（luma）と同じＴＵサイズを使用する。
【００２３】
[0031]  現在のＨＥＶＣ規格では、各予測ユニット（ＰＵ）のルーマ成分のために、図４に関して以下で説明されるように、（２から３４までインデックス付けされた）３３個の角度予測モードと、（１でインデックス付けされた）ＤＣモードと、（０でインデックス付けされた）平面モードとをもつイントラ予測方法が利用される。
【００２４】
[0032]  上記の３５個のイントラモードに加えて、「Ｉ−ＰＣＭ」と称する、もう１つのモードもＨＥＶＣによって採用される。Ｉ−ＰＣＭモードでは、予測サンプルはあらかじめ定義されたビット数によってコーディングされるが、予測、変換、量子化、およびエントロピーコーディングはバイパスされる。Ｉ−ＰＣＭモードの主な目的は、信号が他のモードによって効率的にコーディングされ得ない状況を扱うことである。
【００２５】
[0033]  現在のＨＥＶＣ規格では、２つのインター予測モードが利用可能である。１つのそのようなモードはマージモード（merge mode）であり（スキップはマージの特殊な場合と見なされる）、第２のそのようなモードは、予測ユニット（ＰＵ）のための高度動きベクトル予測（ＡＭＶＰ：advanced motion vector prediction）モードである。
【００２６】
[0034]  ＡＭＶＰモードとマージモードの両方では、動きベクトル（ＭＶ：motion vector）候補リストは、複数の動きベクトル予測子（motion vector predictor）について維持される。現在ＰＵの、動きベクトル、ならびにマージモードにおける参照インデックスは、ＭＶ候補リストから１つの候補を取ることによって生成される。
【００２７】
[0035]  ＭＶ候補リストは、マージモードのために最高５つの候補を、およびＡＭＶＰモードのためにただ２つの候補を含んでいることがある。マージ候補は、動き情報のセット、たとえば、参照ピクチャリスト（リスト０およびリスト１）と参照インデックスの両方に対応する動きベクトルを含んでいることがある。マージ候補がマージインデックスによって識別される場合、参照ピクチャは現在ブロックの予測のために使用され、ならびに関連する動きベクトルが決定される。しかしながら、リスト０またはリスト１のいずれかからの各潜在的な予測方向に対するＡＭＶＰモードの下では、ＡＭＶＰ候補が動きベクトルのみを含んでいるので、ＭＶＰインデックスとともに参照インデックスがＭＶ候補リストに明示的にシグナリングされる必要がある。ＡＭＶＰモードでは、予測動きベクトルはさらに改善され得る。
【００２８】
[0036]  マージ候補は、動き情報の完全セットに対応するが、ＡＭＶＰ候補は、特定の予測方向についてのただ１つの動きベクトルと参照インデックスとを含んでいることがある。両方のモードに関する候補は、同じ空間的および時間的隣接ブロックから同様に導出される。
【００２９】
[0037]  図５に関して以下で説明されるように、特定のＰＵ（ＰＵ０）について、図５に示された隣接ブロックから空間的ＭＶ候補が導出される。しかしながら、ブロックから候補を生成する方法は、マージモードとＡＭＶＰモードとについて異なる。
【００３０】
[0038]  マージモードでは、番号で図５（ａ）に示された順序とともに、最高４つの空間的ＭＶ候補が導出され得る。順序は、図５（ａ）に示されているように、左（０）、上（１）、右上（２）、左下（３）、および左上（４）である。
【００３１】
[0039]  ＡＭＶＰモードでは、隣接ブロックは、図５（ｂ）に示されているように、ブロック０および１を含む左グループ、およびブロック２、３、および４を含む上グループという、２つのグループに分割される。各グループについて、シグナリングされた参照インデックスによって示された参照ピクチャと同じ参照ピクチャを参照する隣接ブロック中の潜在的候補は、そのグループの最終候補を形成するために選定されるべき最高優先順位を有する。すべての隣接ブロックが、同じ参照ピクチャを指す動きベクトルを含んでいるとは限らない可能性がある。したがって、そのような候補が見つけられ得ない場合、第１の利用可能な候補は、最終候補を形成するためにスケーリングされることになり、したがって、時間距離差分が補償され得る。
【００３２】
[0040]  図６に関して以下で説明されるように、ＳＣＣ中にイントラブロックコピー（ＢＣ）が含まれている。イントラＢＣの一例が図６に示されており、ここにおいて、現在ＣＵは、現在ピクチャ／スライスのすでに復号されたブロックから予測される。現在イントラＢＣブロックサイズは、８×８から６４×６４にわたるＣＵサイズ程度に大きくなり得るが、いくつかの適用例では、さらなる制約が適用され得る。
【００３３】
[0041]  いくつかの例では、残差信号のためのループ内色空間変換プロセスが、４：４：４クロマフォーマットにおけるシーケンスのために使用され得る。この方法は、ＲＧＢ／ＹＵＶクロマフォーマットにおける予測誤差信号を準最適色空間における予測誤差信号に変換する。この追加のステップとともに、色成分の間の相関がさらに低減され得る。変換行列は、特異値分解（ＳＶＤ：singular-value-decomposition）によって各コーディングユニットのピクセルサンプル値から導出される。色空間変換はイントラモードとインターモードの両方の予測誤差に適用される。
【００３４】
[0042]  いくつかの例では、色空間変換プロセスがインターモード（inter mode）に適用されるとき、残差は、最初に、導出された変換行列を用いて異なる領域に変換される。色空間変換の後に、ＤＣＴ／ＤＳＴ、量子化、およびエントロピーコーディングなど、従来のコーディングステップが順に実施される。
【００３５】
[0043]  いくつかの例では、色空間変換プロセスがイントラモード（intra mode）に適用されるとき、予測ブロックおよび現在ブロックは、最初に、それぞれ、導出された変換行列を用いて異なる領域に変換される。色空間変換の後に、現在ブロックとそれの予測子（predictor）との間の残差（residual）が、ＤＣＴ／ＤＳＴを用いてさらに変換され、量子化され、エントロピーコーディングされる。
【００３６】
[0044]  順方向演算（forward operation）では、色空間変換行列が、次のように３つの平面Ｇ、Ｂ、およびＲに適用される。
【００３７】
【数１】
0006657110.tif 000002
【００３８】
[0045]  いくつかの例では、値は最高
【００３９】
【数２】
0006657110.tif 000003
【００４０】
倍に拡大されるので、得られた値はＨＥＶＣ仕様の範囲内にクリッピングされる。逆方向演算では、色空間変換行列が、次のように３つの成分Ｐ’、Ｑ’、およびＲ’に適用される。
【００４１】
【数３】
0006657110.tif 000004
【００４２】
[0046]  図７に関して以下で説明されるように、変換行列は参照サンプル値から導出され得る。イントラの場合とインターの場合とのために異なる参照サンプルが利用され得る。イントラコーディングされたブロックの場合について、ターゲットブロックおよび参照サンプルが図７に示されている。この例では、ターゲットブロックは８×８のクロスハッチサンプルからなり、参照サンプルはストライプサンプルおよびドット付きサンプルである。
【００４３】
[0047]  インターコーディングされたブロックの場合、行列導出のための参照サンプルは動き補償のための参照サンプルと同じである。シフト演算を実現するために、ＡＭＰブロック中の参照サンプルは、サンプルの数が２のべき乗になるようにサブサンプリングされる。たとえば、１２×１６ブロック中の参照サンプルの数は２／３だけ低減される。
【００４４】
[0048]  本開示の技法によれば、色空間変換プロセスはＣＵごとに適用され得る。したがって、変換プロセスが呼び出されるか否かをシグナリングする必要はない。さらに、エンコーダ側とデコーダ側の両方は、変換行列をシグナリングするためのオーバーヘッドを回避するために同じ方法で変換行列を導出する。
【００４５】
[0049]  本開示の技法によれば、色空間変換行列など、色空間変換プロセスが使用される。１つのそのような行列は、以下のようなＹＣｂＣｒ変換行列である。
順（Forward）：
【００４６】
【数４】
0006657110.tif 000005
【００４７】
逆（Inverse）：
【００４８】
【数５】
0006657110.tif 000006
【００４９】
[0050]  別のそのような行列は、以下のようなＹＣｏＣｇ変換行列である。
順：
【００５０】
【数６】
0006657110.tif 000007
【００５１】
逆：
【００５２】
【数７】
0006657110.tif 000008
【００５３】
[0051]  別のそのような行列は、ＣｏおよびＣｇ成分を１／２にスケーリングするＹＣｏＣｇ行列の修正バージョンである、ＹＣｏＣｇ−Ｒ行列である。リフティング技法（lifting technique）を使用することによって、順変換および逆変換は以下の式によって達成され得る。
順：
【００５４】
【数８】
0006657110.tif 000009
【００５５】
逆：
【００５６】
【数９】
0006657110.tif 000010
【００５７】
[0052]  上記の式および行列において、順変換（forward transformation）は（たとえば、ビデオエンコーダによって）符号化プロセス中に実施され得、逆変換（inverse transformation）は（たとえば、ビデオデコーダによって）復号プロセスにおいて実施され得る。
【００５８】
[0053]  従来のビデオコーディングでは、画像は、連続的な色調を有し、空間的に滑らかであると仮定される。これらの仮定に基づいて、様々なツール（たとえば、ブロックベースの変換、フィルタ処理など）が開発されており、これらのツールは、自然のコンテンツをもつビデオでは良好な性能を示している。しかしながら、いくつかの適用例（たとえば、リモートデスクトップ、共同作業ディスプレイ、およびワイヤレスディスプレイ）では、コンピュータ生成されたスクリーンコンテンツが、圧縮されるべき支配的コンテンツであり得る。このタイプのコンテンツは、不連続な色調を有し、鋭利なラインと高コントラストのオブジェクト境界とを特徴とする傾向がある。連続的色調および滑らかさの仮定はもはや適用され得ず、したがって、従来のビデオコーディング技法は効率的に働かないことがある。
【００５９】
[0054]  上記の欠陥を克服するためにパレットモードコーディング（Palette mode coding）が使用され得る。パレットコーディング技法の例は、２０１３年４月１０日に出願された米国仮出願第６１／８１０，６４９号に記載されている。各ＣＵについて、現在ＣＵ中で最も優勢なピクセル値を含むパレットが導出され得る。パレットのサイズおよび要素が最初に送信される。送信後に、ＣＵ中のピクセルが、ある走査順序（scanning order）に従って符号化される。各ロケーションについて、フラグｐａｌｅｔｔｅ＿ｆｌａｇなどのシンタックス要素（syntax element）が、ピクセル値がパレット中にある（「ランモード（run mode）」）か、またはない（「ピクセルモード（pixel mode）」）か、を示すために最初に送信される。
【００６０】
[0055]  「ランモード（run mode）」では、パレットインデックス（palette index）がシグナリングされ得、それに「ラン（run）」が続く。ランは、現在コーディングされているピクセルと同じパレットインデックス値を有する連続ピクセルの数を走査順序で示すシンタックス要素である。走査順序ですぐ隣に連続する複数のピクセルが同じパレットインデックス値を有する場合、「ランモード」は、ｐａｌｅｔｔｅ＿ｆｌａｇなどのシンタックス要素によって示され得る。現在ピクセルと同じパレットインデックス値を有する、現在ピクセルに続いているピクセルの数に等しいカウンタ値が決定され得、ランはそのカウンタ値に等しく設定される。ｐａｌｅｔｔｅ＿ｆｌａｇもパレットインデックスも、「ラン」によって包含される後続の位置について送信される必要はなく、というのは、それらがすべて同じピクセル値を有するからである。デコーダ側で、現在ピクセルの第１のパレットインデックス値のみが復号され、結果は、「ラン」シンタックス要素中に示されるピクセルの「ラン」においてピクセルごとに複製され得る。
【００６１】
[0056]  「ピクセルモード」では、ピクセルサンプル値はこの位置について送信される。ｐａｌｅｔｔｅ＿ｆｌａｇなどのシンタックス要素が「ピクセルモード」を示す場合、パレットインデックス値は、復号されている１つのピクセルについてのみ決定される。
【００６２】
[0057]  従来の技法は様々な問題があり得る。たとえば、シーケンス特性およびローカルダイバーシティを考慮に入れない色空間変換が呼び出されることがある。したがって、コーディング性能は準最適であり得る。別の例では、変換行列の導出はデコーダにおいて必要とされ得、それは、デコーダの複雑さを著しく増加させる。さらに、変換行列は、インターコーディングされたＰＵの空間再構成されたピクセルまたは予測子（predictor）のいずれかを使用して導出され得る。しかしながら、ＰＵサイズが比較的小さいか、予測があまり正確でないか、または隣接ピクセルが利用不可能であるとき、変換行列の効率は低減され得る。本開示の技法は、これらの問題のうちの１つまたは複数を克服し得る。
【００６３】
[0058]  ビデオエンコーダ（video encoder）２０またはビデオデコーダ（video encoder）３０などのビデオコーダ（video coder）は、本開示で説明される技法を実行し得る。概して、本開示では、色空間変換プロセスを使用してビデオブロックをコーディングするための技法について説明する。ビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダが、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定し得る。ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビデオコーダは、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正し得る。ビデオコーダは、ビデオデータを符号化することにおいて色空間変換プロセスをさらに適用し得る。
【００６４】
[0059]  本開示では、ループ内色空間変換のコーディング性能を改善し得、デコーダの複雑さを低減し得る技法について説明する。図１は、高いクロマサンプリングフォーマットが使用される、スクリーンコンテンツコーディングのための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されているように、システム１０は、宛先デバイス１４によって後の時点で復号されるべき符号化ビデオデータを提供するソースデバイス１２を含む。具体的には、ソースデバイス１２は、コンピュータ可読媒体１６を介して宛先デバイス１４にビデオデータを提供する。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信のために装備され得る。
【００６５】
[0060]  宛先デバイス１４は、コンピュータ可読媒体１６を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動させることが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を容易にするために有用であり得る任意の他の機器を含み得る。
【００６６】
[0061]  いくつかの例では、符号化データは、出力インターフェース２２からストレージデバイスへ出力され得る。同様に、符号化データは、ストレージデバイスから入力インターフェースによってアクセスされ得る。ストレージデバイスは、ハードドライブ、Ｂｌｕｅ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または、ファイルサーバ上に記憶された符号化ビデオデータにアクセスするのに好適である、両方の組合せを含み得る。ストレージバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００６７】
[0062]  本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または両方向のビデオ送信をサポートするように構成され得る。
【００６８】
[0063]  図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、色空間変換プロセスを使用してビデオブロックをコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または配置を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００６９】
[0064]  図１の図示のシステム１０は一例にすぎない。色空間変換プロセスを使用してビデオブロックをコーディングするための技法は、どんなデジタルビデオ符号化および／または復号デバイスによっても実施され得る。概して、本開示の技法はビデオ符号化デバイス（video encoding device）によって実施されるが、本技法は、一般に「コーデック（CODEC）」と呼ばれるビデオエンコーダ／デコーダによっても実施され得る。その上、本開示の技法はビデオプリプロセッサによっても実施され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４への送信のためのコーディングされたビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素（video encoding component）とビデオ復号構成要素（video decoding component）とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのために、ビデオデバイス１２とビデオデバイス１４との間で一方向または双方向のビデオ送信をサポートし得る。
【００７０】
[0065]  ソースデバイス１２のビデオソース１８は、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなど、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてコンピュータグラフィックスベースのデータ、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータ生成ビデオの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。しかしながら、上述されたように、本開示で説明される技法は、一般にビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００７１】
[0066]  コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示されず）は、たとえば、ネットワーク送信を介して、ソースデバイス１２から符号化ビデオデータを受信し、符号化ビデオデータを宛先デバイス１４に提供し得る。同様に、ディスクスタンピング設備などの媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを製造し得る。したがって、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
【００７２】
[0067]  宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ブロックおよび他のコーディングされたユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、ビデオエンコーダ２０によって定義されビデオデコーダ３０によっても使用される、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号ビデオデータをユーザに表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００７３】
[0068]  ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格など、ビデオコーディング規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）と代替的に呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ（proprietary）規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれ、オーディオエンコーダおよびオーディオデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００７４】
[0069]  ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、ジョイントビデオチーム（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣムービングピクチャエキスパートグループ（ＭＰＥＧ）とともにＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明される技法は、Ｈ．２６４規格に概して準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ研究グループによる２００５年３月付のＩＴＵ−Ｔ勧告Ｈ．２６４、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓに記載されており、本明細書ではＨ．２６４規格もしくはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格もしくは仕様と呼ばれることがある。ジョイントビデオチーム（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣの拡張に取り組み続けている。
【００７５】
[0070]  ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、離散論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、本開示の技法を実施するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００７６】
[0071]  ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーダの発展型モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対して、ビデオコーダのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００７７】
[0072]  概して、ＨＭのワーキングモデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含むツリーブロックまたは最大コーディングユニット（ＬＣＵ：largest coding unit）のシーケンスに分割され得ることを記載している。ビットストリーム内のシンタックスデータは、ＬＣＵのサイズを定義し得、ＬＣＵは、ピクセルの個数に関して最大のコーディングユニットである。スライスは、コーディング順序で、いくつかの連続するツリーブロックを含む。ビデオフレームまたはビデオピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは４つのリーフノード（leaf node）を含み、それらの各々はサブＣＵのうちの１つに対応する。
【００７８】
[0073]  ４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを提供し得る。たとえば、４分木中のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、それはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しない場合でも、リーフＣＵの４つのサブＣＵはリーフＣＵとも呼ばれる。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵはリーフＣＵとも呼ばれることになる。
【００７９】
[0074]  ＣＵは、ＣＵがサイズ差異を有しないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、（サブＣＵとも呼ばれる）４つの子ノードに分割され得、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コーディングされたビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームはまた、最小コーディングユニット（ＳＣＵ：smallest coding unit）を定義し得る。本開示では、「ブロック（block）」という用語を、ＨＥＶＣのコンテキストにおいてＣＵ、ＰＵ、またはＴＵのうちのいずれかを、または他の規格のコンテキストにおいて類似のデータ構造（たとえば、Ｈ．２６４／ＡＶＣのマクロブロックおよびそのサブブロック）を指すために使用する。
【００８０】
[0075]  ＣＵは、コーディングノードと、コーディングノードに関連付けられる予測ユニット（ＰＵ）および変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４ピクセル以上をもつツリーブロックのサイズまでわたり得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含んでいることがある。ＣＵに関連付けられたシンタックスデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分を記述し得る。区分モードは、ＣＵがスキップモード符号化もしくは直接モード符号化されるのか、イントラ予測モード符号化されるのか、またはインター予測モード符号化されるのかの間で異なり得る。ＰＵは、形状が非正方形に区分され得る。ＣＵに関連付けられたシンタックスデータは、たとえば、４分木に従う１つまたは複数のＴＵへのＣＵの区分をも記述し得る。ＴＵは、形状が正方形または非正方形（たとえば、長方形）であり得る。
【００８１】
[0076]  ＨＥＶＣ規格は、異なるＣＵに対して異なり得る、ＴＵに従う変換を可能にする。ＴＵは通常、区分されたＬＣＵについて定義される所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、必ずそうであるとは限らない。ＴＵは通常、ＰＵと同じサイズであるか、またはそれよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quadtree）として知られる４分木構造を使用して、より小さいユニットにさらに分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連付けられたピクセル差分値は、変換係数を生成するために変換され得、その変換係数は量子化され得る。
【００８２】
[0077]  リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分に対応する空間エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵについてのデータは、残差４分木（ＲＱＴ）中に含まれ得、残差４分木は、ＰＵに対応するＴＵについてのイントラ予測モード（intra prediction mode）を記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、そのＰＵについての１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵについての動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの分解能（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００８３】
[0078]  １つまたは複数のＰＵを有するリーフＣＵは、１つまたは複数の変換ユニット（ＴＵ）をも含み得る。変換ユニットは、上述されたように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらなるサブＴＵに、さらに分割され得る。ＴＵがさらに分割されないとき、それはリーフＴＵと呼ばれることがある。概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは、同じイントラ予測モードを共有する。すなわち、リーフＣＵのすべてのＴＵの予測値を計算するために、同じイントラ予測モードが概して適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応するＣＵの部分と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに限定されるとは限らない。したがって、ＴＵは、ＰＵよりも大きくまたは小さくなり得る。イントラコーディングの場合、ＰＵは、同じＣＵの対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００８４】
[0079]  その上、リーフＣＵのＴＵは、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造にも関連付けられ得る。すなわち、リーフＣＵは、そのリーフＣＵがＴＵにどのように区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、別段に明記されていない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【００８５】
[0080]  ビデオシーケンスは、通常、ビデオフレームまたはピクチャのシーケンスを含む。ピクチャのグループ（ＧＯＰ：group of pictures）は、概して、ビデオピクチャのうちの１つまたは複数のシーケンスを備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中に、ピクチャのうちの１つまたは複数のヘッダ中に、あるいは他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに作用する。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
【００８６】
[0081]  一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測と、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称ＰＵサイズでのインター予測とをサポートする。ＨＭは、また、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための、非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％および７５％に区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分される２Ｎ×２Ｎ  ＣＵを指す。
【００８７】
[0082]  本開示では、「Ｎ×Ｎ」および「Ｎ  ｂｙ  Ｎ」は、垂直寸法および水平寸法の観点からビデオブロックのピクセル寸法、たとえば、１６×１６ピクセルまたは１６  ｂｙ  １６ピクセルを指すために互換的に使用されることがある。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）を有し、水平方向に１６ピクセル（ｘ＝１６）を有する。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ個のピクセル、および水平方向にＮ個のピクセルを有し、ここで、Ｎは非負整数値を表す。ブロック中のピクセルは行および列に配列され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ここで、Ｍは必ずしもＮに等しいとは限らない。
【００８８】
[0083]  ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングに続いて、ビデオエンコーダ２０は、ＣＵのＴＵについての残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後の、変換領域における係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵについての残差データを含むＴＵを形成し、次いで、ＣＵの変換係数を生成するためにＴＵを変換し得る。
【００８９】
[0084]  変換係数を生成するためのいずれかの変換に続いて、ビデオエンコーダ２０は、変換係数の量子化を実施し得る。量子化は概して、係数を表すために使用されるデータの量をできるだけ低減するために、変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、ｎビット値は、量子化中にｍビット値に切り捨てられ得、ここで、ｎはｍよりも大きい。
【００９０】
[0085]  量子化に続いて、ビデオエンコーダは、変換係数を走査して、量子化された変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、アレイの前部により高いエネルギー（したがって、より低い周波数）の係数を配置し、アレイの後部により低いエネルギー（したがって、より高い周波数）の係数を配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化された変換係数を走査するためのあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応走査を実施し得る。量子化された変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディングまたは別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０によって使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化し得る。
【００９１】
[0086]  ＣＡＢＡＣを実施するために、ビデオエンコーダ２０は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実施するために、ビデオエンコーダ２０は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、一方、より長いコードが劣勢シンボルに対応するように、構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビットの節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００９２】
[0087]  いくつかの例では、ビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダは、本開示に従って１つまたは複数の技法を実施し得る。たとえば、ビデオコーダが、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定し得る。ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビデオコーダは、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正し得る。ビデオコーダは、ビデオデータを符号化することにおいて色空間変換プロセスをさらに適用し得る。
【００９３】
[0088]  ビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダは、図１〜図８に関して説明される技法のいずれかを実施し得る。ルーマ成分および／またはクロマ成分のビット深度を修正することによって、ビデオデコーダは、色空間変換が使用されるとき、ビデオデータをより効率的に復号することが可能であり得、それにより、システムの全体的なコーディング効率が増加し、エネルギー消費量が低減する。
【００９４】
[0089]  本開示の技法と整合して様々なシンタックス要素が使用され得る。これらのシンタックス要素は以下を含み得る。
【００９５】
【表１−１】
0006657110.tif 000011
【表１−２】
0006657110.tif 000012
【表１−３】
0006657110.tif 000013
【００９６】
[0090]  シンタックス要素ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、復号プロセス中にループ内色空間変換プロセスが呼び出され得る。シンタックス要素ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しいとき、ループ内色空間変換は適用されないことがある。シンタックス要素が存在しないとき、シンタックス要素ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値は０に等しいと推論され得る。
【００９７】
[0091]  シンタックス要素ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ［ｘ０]［ｙ０]が１に等しいとき、現在コーディングユニットは、色空間変換を用いてコーディングされ得る。シンタックス要素ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ［ｘ０]［ｙ０]が０に等しいとき、現在コーディングユニットは、色空間変換を用いずにコーディングされる。シンタックス要素が存在しないとき、シンタックス要素ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇの値は０に等しいと推論され得る。アレイインデックスｘ０およびｙ０は、ピクチャの左上ルーマサンプルに対する当該コーディングブロックの左上ルーマサンプルのロケーション（ｘ０，ｙ０）を指定し得る。
【００９８】
[0092]  いくつかの例では、ビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダは、コーディングユニットのために色空間変換を使用すべきかどうかを決定し得る。ビデオコーダは、色空間変換の使用を示すようにコーディングユニットのシンタックス要素の値を設定し得る。ビデオコーダは、コーディングユニットの残差ブロック（residual block）に色空間変換行列を適用し得る。ビデオコーダは、コーディングユニットのシンタックス要素を復号し得、ここにおいて、シンタックス要素は、色空間変換を使用してコーディングユニットが符号化されたかどうかを示す。ビデオコーダは、シンタックス要素の値が、色空間変換を使用してコーディングユニットが符号化されたことを示すかどうかを決定し得る。ビデオコーダは、シンタックス要素が、色空間変換を使用してコーディングユニットがコーディングされたことを示すと決定することに応答して、コーディングユニットの残差ブロックに色空間逆変換行列（color-space inverse transform matrix）を適用し得る。
【００９９】
[0093]  一例では、イントラコーディングされたＣＵについて、フラグが直接シグナリングされ得る。代替的に、イントラコーディングされたＣＵについて、ＣＵがＩ−ＰＣＭモードでないときのみ、フラグはシグナリングされ得る。別の例では、インターコーディングされたＣＵおよび／またはイントラＢＣコーディングされたＣＵについて、現在ＣＵ中に非０係数（non-zero coefficient）がある、すなわち、ｒｑｔ＿ｒｏｏｔ＿ｃｂｆが１に等しいときのみ、フラグはシグナリングされ得る。別の例では、ＣＵがパレットモードでコーディングされるとき、フラグはシグナリングされない。すべての上記の例では、復号された色変換フラグ（color transform flag）が０に等しいか、または１つのＣＵについてビットストリーム中にフラグが存在しないとき、色空間変換プロセスはスキップされ得る。
【０１００】
[0094]  さらに、色空間変換の使用を制御するために、シーケンスパラメータセット（ＳＰＳ：sequence parameter set）／ピクチャパラメータセット（ＰＰＳ：picture parameter set）／スライスヘッダのいずれかの中の１つのフラグがシグナリングされ得る。ＳＰＳ／ＰＰＳ／スライスヘッダ中のフラグが０に等しいとき、ＣＵレベルフラグのシグナリングは、それぞれ、対応するシーケンス／ピクチャ／スライス中のすべてのＣＵにおいてスキップされ得る。代替的に、色空間変換はＰＵレベルまたはＴＵレベルで実施され得、ここにおいて、各ＰＵ／ＴＵは、色空間変換の使用を示すためのフラグを有する。
【０１０１】
[0095]  一例では、符号化および復号プロセスにおいて、修正されたＹＣｏＣｇ変換が適用され得る。修正されたＹＣｏＣｇ変換は次のように定義され得る。
順：
【０１０２】
【数１０】
0006657110.tif 000014
【０１０３】
、
逆：
【０１０４】
【数１１】
0006657110.tif 000015
【０１０５】
、
【０１０６】
【数１２】
0006657110.tif 000016
【０１０７】
、
【０１０８】
【数１３】
0006657110.tif 000017
【０１０９】
、
【０１１０】
【数１４】
0006657110.tif 000018
【０１１１】
、ここにおいて、オフセットは２に等しい。
【０１１２】
[0096]  代替的に、修正されたＹＣｏＣｇ変換は次のように定義され得る。
順：
【０１１３】
【数１５】
0006657110.tif 000019
【０１１４】
逆：
【０１１５】
【数１６】
0006657110.tif 000020
【０１１６】
、
【０１１７】
【数１７】
0006657110.tif 000021
【０１１８】
、
【０１１９】
【数１８】
0006657110.tif 000022
【０１２０】
、
【０１２１】
【数１９】
0006657110.tif 000023
【０１２２】
、ここにおいて、オフセットは１または０に等しい。
【０１２３】
[0097]  色変換を用いてコーディングされるＣＵまたはブロックによって使用される、対応する量子化パラメータ（quantization parameter）は（ｄＱＰ＋２）に等しいと推論され得るが、色変換を用いずにＣＵまたはブロックによって使用される量子化パラメータはｄＱＰに等しいと推論され得る。同時に、ビット深度は、量子化プロセスと変換プロセスの両方において１だけさらに増加され得る。
【０１２４】
[0098]  代替的に、変更なしの元のＹＣｏＣｇ変換＋正規化プロセスをもつ２ステップ順／逆変換が適用される。順変換（forward transform）では、元のＹＣｏＣｇ順変換が最初に適用される。次いで、各成分ｉ、すなわち、Ｙ、ＣｏおよびＣｇについて、成分は（ｉ＊ｆｏｒｗａｒｄ＿ｆａｃｔｏｒ＋オフセット）＞＞ＢＩＴ＿ＰＲＥＣＩＳＩＯＮにリセットされ、ここにおいて、ＢＩＴ＿ＰＲＥＣＩＳＩＯＮは符号なし整数であり、ｆｏｒｗａｒｄ＿ｆａｃｔｏｒはＢＩＴ＿ＰＲＥＣＩＳＩＯＮに依存する。一例では、ｆｏｒｗａｒｄ＿ｆａｃｔｏｒは１／√６＊（１＜＜ＢＩＴＳ＿ＴＲＡＮＳ）＋０．５に等しく、ＢＩＴ＿ＰＲＥＣＩＳＩＯＮは１５に等しく、オフセットは（１＜＜（ＢＩＴ＿ＰＲＥＣＩＳＩＯＮ−１））に等しい。
【０１２５】
[0099]  逆変換（inverse transform）では、元のＹＣｏＣｇ逆変換が最初に適用される。次いで、各成分ｉ、すなわち、Ｙ、ＣｏおよびＣｇについて、成分は（ｉ＊ｂａｃｋｗａｒｄ＿ｆａｃｔｏｒ＋オフセット）＞＞ＢＩＴ＿ＰＲＥＣＩＳＩＯＮにリセットされ、ここにおいて、ＢＩＴ＿ＰＲＥＣＩＳＩＯＮは、順変換において使用されるもの同じであり、ｂａｃｋｗａｒｄ＿ｆａｃｔｏｒはＢＩＴ＿ＰＲＥＣＩＳＩＯＮに依存する。一例では、ｂａｃｋｗａｒｄ＿ｆａｃｔｏｒは√６／４＊（１＜＜ＢＩＴＳ＿ＴＲＡＮＳ）＋０．５）に等しく、オフセットは（１＜＜（ＢＩＴ＿ＰＲＥＣＩＳＩＯＮ−１））に等しい。
【０１２６】
[0100]  代替的に／さらに、３つの色成分におけるコーディングされたブロックフラグ（すなわち、ｃｂｆ＿ｌｕｍａ、ｃｂｆ＿ｃｂおよびｃｂｆ＿ｃｒ）のうちの少なくとも１つが１に等しいときのみ、ＣＵレベルフラグはシグナリングされ得る。代替的に、色空間変換を用いたＣＵまたはブロックにおける残差の範囲が、色空間変換を用いないＣＵ／ブロックにおける残差の範囲と同じになることを確保するために、色空間変換後の修正された残差がさらに修正され得る。一例では、クリップ演算が適用される。
【０１２７】
[0101]  色空間変換行列は、再構成されるピクセルとは無関係であり得る。代わりに、それは、ロッシー（lossy）またはロスレス（lossless）コーディングモードに依存し得る。一例では、ＣＵがロッシーモードでコーディングされるとき、ＹＣｏＣｇが適用され得るが、ＣＵがロスレスモードでコーディングされるときはＹＣｏＣｇ−Ｒが適用される。その上、ＹＣｏＣｇ−Ｒが適用されるとき、ＣｏおよびＣｇ成分のビット深度は１だけ増加され得る。別の例では、変換行列は、イントラ、インター／イントラＢＣモードに依存し得る。この場合、各モード用のあらかじめ定義された行列がエンコーダとデコーダの両方において指定され得、ＣＵレベルフラグが１であるとき、コーディングモードに従ってエンコーダとデコーダの両方において同じ行列が使用され得る。さらに、３つの色成分におけるコーディングされたブロックフラグ（すなわち、ｃｂｆ＿ｌｕｍａ、ｃｂｆ＿ｃｂおよびｃｂｆ＿ｃｒ）のうちの少なくとも１つが１に等しいときのみ、ＣＵレベルフラグはシグナリングされ得る。
【０１２８】
[0102]  本開示の技法はまた、フレームレベルでなど、変換行列導出およびシグナリング方法を含み得る。一例では、フレームごとに、変換行列が、元の画像中の色成分にわたる統計値に基づいて導出され得る。変換行列は、ビットストリーム中にコーディングされ、デコーダに直接送信され得る。代替的に、連続的にコーディングされるフレーム間の変換行列予測が適用され得る。たとえば、行列が、前のフレームにおいて使用された行列と同じであるかどうかを示すために、１つのフラグが送信され得る。代替的に、変換行列は、元のフレームのセットに基づいて導出され、ビットストリーム中でシグナリングされ得る。
【０１２９】
[0103]  別の例では、変換行列のセットが、ＰＰＳなどの高レベルシンタックスで導出され、シグナリングされる。一例では、画像は特性に基づいて複数の領域に分類され、各領域について、変換行列が導出される。導出された行列は、高レベルシンタックスでコーディングされ、シグナリングされ得る。選択された変換行列のインデックスは、ＣＵ／ＴＵ／ＰＵレベルでさらにシグナリングされる。代替的に、選択された変換行列のインデックスは、スライスヘッダ中でまたはタイル領域ごとにシグナリングされる。代替的に、変換行列は、スライスヘッダ中でまたはタイル領域ごとに導出され得る。
【０１３０】
[0104]  ルーマ成分とクロマ成分とのビット深度が異なるとき、最初に、すべての色成分のビット深度が同じになるように修正され得、次いで、色変換がその後に適用され得る。代替的に、ビットストリームは、コーディングされたビットストリーム中でルーマ成分とクロマ成分とのビット深度が異なるとき、色変換が無効化（disable）される（すなわち、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しい）、という制約に準拠し得る。
【０１３１】
[0105]  色変換を用いてまたは用いずにコーディングされたＣＵ／ブロックに異なるＱＰが適用され得、ならびに／あるいは、量子化および変換プロセスにおいて使用されるビット深度は、そのような非正規化色変換のために修正され得る。一例では、上記の修正されたＹＣｏＣｇ変換が使用されるとき、以下のステップ（すなわち、デブロッキングフィルタプロセス（deblocking filter process）より前のスケーリング、変換およびアレイ構成プロセス）は、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇに基づいてさらに修正される。
【０１３２】
[0106]  一例では、上記で説明された、修正されたＹＣｏＣｇ変換が使用されるとき、対応する量子化パラメータ導出プロセスおよび逆変換プロセスが、それに応じて修正される。このプロセスへの入力は、現在ピクチャの左上ルーマサンプルに対する現在ルーマコーディングブロックの左上サンプルを指定するルーマロケーション（ｘＣｂ，ｙＣｂ）を含み得る。このプロセスでは、変数ＱｐＹ、ルーマ量子化パラメータＱｐ’Ｙ、ならびにクロマ量子化パラメータＱｐ’ＣｂおよびＱｐ’Ｃｒが導出され得る。ルーマロケーション（ｘＱｇ，ｙＱｇ）は、現在ピクチャの左上ルーマサンプルに対する現在量子化グループの左上ルーマサンプルを指定し得る。水平位置ｘＱｇおよび垂直位置ｙＱｇは、それぞれ、ｘＣｂ−（ｘＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））およびｙＣｂ−（ｙＣｂ＆（（１＜＜Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅ）−１））に等しく設定され得る。量子化グループのルーマサイズ（luma size）、Ｌｏｇ２ＭｉｎＣｕＱｐＤｅｌｔａＳｉｚｅは、同じｑＰＹ＿ＰＲＥＤを共有するコーディングツリーブロック内の最小エリアのルーマサイズを決定し得る。
【０１３３】
[0107]  変数ＱｐＹは次のように導出され得る。
【０１３４】
【数２０】
0006657110.tif 000024
【０１３５】
[0108]  ルーマ量子化パラメータＱｐ’Ｙは次のように導出され得る。
【０１３６】
【数２１】
0006657110.tif 000025
【０１３７】
[0109]  シンタックス要素ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが０に等しくないとき、以下が適用され得る。
変数ｑＰｉＣｂおよびｑＰｉＣｒは次のように導出され得る。
【０１３８】
【数２２】
0006657110.tif 000026
【０１３９】
【数２３】
0006657110.tif 000027
【０１４０】
[0110]  シンタックス要素ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが１に等しい場合、変数ｑＰＣｂおよびｑＰＣｒは、以下の表において指定されているように、それぞれｑＰｉＣｂおよびｑＰｉＣｒに等しいインデックスｑＰｉに基づいて、ＱｐＣの値に等しく設定され得る。そうでない場合、変数ｑＰＣｂおよびｑＰＣｒは、それぞれｑＰｉＣｂおよびｑＰｉＣｒに等しいインデックスｑＰｉに基づいて、Ｍｉｎ（ｑＰｉ，５１）に等しく設定される。
【０１４１】
【表２】
0006657110.tif 000028
【０１４２】
[0111]  ＣｂおよびＣｒ成分のクロマ量子化パラメータＱｐ’ＣｂおよびＱｐ’Ｃｒは、次のように導出され得る。
【０１４３】
【数２４】
0006657110.tif 000029
【０１４４】
【数２５】
0006657110.tif 000030
【０１４５】
[0112]  ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇが１に等しいとき、以下が適用され得る。
【０１４６】
【数２６】
0006657110.tif 000031
【０１４７】
ＣｈｒｏｍａＡｒｒａｙＴｙｐｅ≠０のとき、Ｑｐ’Ｃｂ＝（Ｑｐ’ｃｂ＋８）およびＱｐ’Ｃｒ＝（Ｑｐ’ｃｒ＋８）
【０１４８】
【数２７】
0006657110.tif 000032
【０１４９】
【数２８】
0006657110.tif 000033
【０１５０】
[0113]  このプロセスへの入力は、現在ピクチャの左上ルーマサンプルに対する現在ルーマ変換ブロックの左上サンプルを指定するルーマロケーション（ｘＴｂＹ，ｙＴｂＹ）と、現在変換ブロックのサイズを指定する変数ｎＴｂＳと、現在ブロックの色成分を指定する変数ｃＩｄｘと、量子化パラメータを指定する変数ｑＰとを含み得る。このプロセスの出力は、要素ｄ［ｘ]［ｙ]とともにスケーリングされた変換係数の（ｎＴｂＳ）×（ｎＴｂＳ）アレイｄを含み得る。
【０１５１】
[0114]  変数ｌｏｇ２ＴｒａｎｓｆｏｒｍＲａｎｇｅ、ｂｄＳｈｉｆｔ、ｃｏｅｆｆＭｉｎおよびｃｏｅｆｆＭａｘは次のように導出され得る。
ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ＝１のとき、以下が適用される。
【０１５２】
【数２９】
0006657110.tif 000034
【０１５３】
【数３０】
0006657110.tif 000035
【０１５４】
【数３１】
0006657110.tif 000036
【０１５５】
[0115]  リストｌｅｖｅｌＳｃａｌｅ［  ]は、ｋ＝０．．５の場合、ｌｅｖｅｌＳｃａｌｅ［ｋ]＝｛４０，４５，５１，５７，６４，７２｝として指定され得る。
【０１５６】
[0116]  ｘ＝０．．ｎＴｂＳ−１、ｙ＝０．．ｎＴｂＳ−１の場合、スケーリングされた変換係数ｄ［ｘ]［ｙ]の導出のために、以下が適用され得る。
スケーリングファクタｍ［ｘ]［ｙ]は次のように導出され得る。
以下の条件のうちの１つまたは複数が真である場合、ｍ［ｘ]［ｙ]は１６に等しく設定される。
【０１５７】
【数３２】
0006657110.tif 000037
【０１５８】
【数３３】
0006657110.tif 000038
【０１５９】
そうでない場合、以下が適用される。
【０１６０】
【数３４】
0006657110.tif 000039
【０１６１】
[0117]  シンタックス要素ｓｉｚｅＩｄが、（ｎＴｂＳ）×（ｎＴｂＳ）に等しい量子化行列のサイズについて指定され、ｍａｔｒｉｘＩｄが、ｓｉｚｅＩｄ、ＣｕＰｒｅｄＭｏｄｅ［ｘＴｂＹ]［ｙＴｂＹ]、およびｃＩｄｘについて表７−４において指定されたとき、スケーリングされた変換係数ｄ［ｘ]［ｙ]は次のように導出され得る。
【０１６２】
【数３５】
0006657110.tif 000040
【０１６３】
[0118]  ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇが１に等しいとき、以下が適用され得る。
【０１６４】
【数３６】
0006657110.tif 000041
【０１６５】
【数３７】
0006657110.tif 000042
【０１６６】
[0119]  一例では、色空間変換がイントラモードに適用されるとき、変換された色空間領域において残余（residue）が導出される。すなわち、イントラサンプル予測プロセスを呼び出す前に、現在ＣＵの隣接ピクセルは、最初に、修正された順ＹＣｏＣｇまたはＹＣｏＣｇ−Ｒ変換を用いて別の準最適な色空間に変換され得る。現在ＣＵの予測子（predictor）を導出するために、修正された隣接ピクセルが次いで使用され得る。準最適な領域において、現在ＣＵおよび現在ＣＵの隣接ピクセルから残差（すなわち、予測誤差（prediction error））が導出される。残差は、成分間残差予測、変換、量子化およびエントロピーコーディングなど、従来のコーディングフローと同様の方法でコーディングされる。エントロピーコーディングの後に、変換係数（transform coefficient）は、逆ＹＣｏＣｇまたはＹＣｏＣｇ−Ｒ変換を用いてさらに修正され得る。修正された変換係数は、現在ＣＵの再構成されたピクセルを導出するために、予測子に次いで加算され得る。再構成プロセス（reconstruction process）が呼び出された後に、逆ＹＣｏＣｇまたはＹＣｏＣｇ−Ｒ変換が、修正された隣接ピクセルに適用され得る。したがって、デコーダ側において、再構成プロセスを呼び出す前に、導出された変換係数に逆色空間変換（inverse color-space transform）が適用される、１つの追加のプロセスが適用され得る。
【０１６７】
[0120]  色空間変換がイントラモードに適用されるとき、変換された色領域において現在ブロックから予測子を減算することによって残余を生成する代わりに、残余は、色空間変換の前のピクセルを使用して生成され得、それに続いて色空間変換が行われる。この場合、ルーマイントラモードとクロマイントラモードは、等しいモードに設定され得る。代替的に、クロマモードのシグナリングがスキップされ得る。代替的に、ルーマイントラモードとクロマイントラモードが同じであるときのみ、色変換フラグはシグナリングされ得る。
【０１６８】
[0121]  上記で説明されたように、いくつかの例では、ロスレス方法とロッシーコーディング方法は、同じ行列、たとえば、ＹＣｏＣｇ−Ｒを共有し得る。追加または代替として、ＹＣｏＣｇ−Ｒ変換がロッシーコーディングに適用されるとき、色変換を用いたブロックのクロマ成分のビット深度は、色変換を用いないブロックと比較して１だけ増加され得る。色変換を用いたブロックのルーマ成分ＱＰは、色変換を用いないブロックのルーマ成分ＱＰ−４に等しくなり得る。一例では、色変換を用いたブロックの２つのクロマ成分ＱＰは、色変換を用いないブロックのクロマ／ルーマ成分ＱＰ＋２に等しくなり得る。一例では、色変換を用いたブロックのＣｇクロマ成分ＱＰは、色変換を用いないブロックのルーマ／クロマ成分ＱＰ＋２に等しくなり得る。色変換を用いたブロックのＣｏクロマ成分ＱＰは、色変換を用いないブロックのルーマ／クロマ成分ＱＰ＋３に等しくなり得る。
【０１６９】
[0122]  そのような例では、ＹＣｏＣｇ−Ｒがロッシー（lossy）モードとロスレス（lossless）モードの両方に使用されるとき、現在ブロックがロッシーコーディングされる場合、ルーマおよびクロマのビット深度は、適応色変換を有効化（enable）することなしにコーディングされたそれらのブロックについて同じであり得る。この場合、ロッシーコーディングが適用されるとき、ＹＣｏＣｇ−Ｒの順変換の後に、ＣｏおよびＣｇ成分は、順ＹＣｏＣｇ−Ｒ変換により増加したビット深度を減少させるためにＮビット右シフトによってスケーリングされ、ビット深度精度をＹ成分のビット深度精度と同じにさせ得る。さらに、逆ＹＣｏＣｇ−Ｒ変換を実施する前に、ＣｏおよびＣｇ成分はＮビット左シフトを用いて修正され得る。一例では、Ｎは１に等しい。
【０１７０】
[0123]  一例では、ルーマ成分とクロマ成分との入力ビット深度が同じであると仮定され得る。ロッシーコーディングモード（lossy coding mode）では、シフト演算は、順変換の後に、および逆変換の前に２つのクロマ成分（すなわち、Ｃｇ、Ｃｏ）に適用され得る。一例では、以下のプロセスが順に適用される。
【０１７１】
１．  順ＹＣｏＣｇ−Ｒが不変である。
【０１７２】
【数３８】
0006657110.tif 000043
【０１７３】
、
２．  現在ブロックがロッシーモードでコーディングされる場合、以下がさらに適用され得る。
【０１７４】
【数３９】
0006657110.tif 000044
【０１７５】
、
【０１７６】
【数４０】
0006657110.tif 000045
【０１７７】
、
[0124]  別の例では、右シフトプロセスにおいてオフセットが考慮され得る。たとえば、上記のハイライトされた式は、以下によって置き換えられ得る。
【０１７８】
【数４１】
0006657110.tif 000046
【０１７９】
、
【０１８０】
【数４２】
0006657110.tif 000047
【０１８１】
、
[0125]  逆ＹＣｏＣｇ−Ｒ変換を呼び出す前に、以下が適用され得る。
現在ブロックがロッシーモードでコーディングされる場合、以下が適用され得る。
【０１８２】
【数４３】
0006657110.tif 000048
【０１８３】
、
【０１８４】
【数４４】
0006657110.tif 000049
【０１８５】
、
および逆ＹＣｏＣｇ−Ｒは不変のままであり得る。
【０１８６】
【数４５】
0006657110.tif 000050
【０１８７】
[0126]  そのような例では、ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが３に等しいとき、適応色変換を使用する変換ブロックのための残差修正プロセスが呼び出され得る。このプロセスへの入力は、ブロックサイズを指定する変数ｂｌｋＳｉｚｅと、要素ｒＹ［ｘ]［ｙ]をもつルーマ残差サンプルｒＹの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイと、要素ｒＣｂ［ｘ]［ｙ]をもつクロマ残差サンプルｒＣｂの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイと、要素ｒＣｒ［ｘ]［ｙ]をもつクロマ残差サンプルｒＣｒの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイとを含み得る。このプロセスへの出力は、ルーマ残差サンプルの修正された（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイｒYと、クロマ残差サンプルの修正された（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイｒCbと、クロマ残差サンプルの修正された（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイｒCrとを含み得る。
【０１８８】
[0127]  ｘ＝０．．ｂｌｋＳｉｚｅ−１、ｙ＝０．．ｂｌｋＳｉｚｅ−１の場合、残差サンプルｒY、ｒCbおよびｒCrの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイは次のように修正され得る。
【０１８９】
【数４６】
0006657110.tif 000051
【０１９０】
[0128]  代替的に、「ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇ＝０、ｒCb［ｘ]［ｙ]＝ｒCb［ｘ]［ｙ]＜＜１およびｒCr［ｘ]［ｙ]＝ｒCr［ｘ]［ｙ]＜＜１の場合」は、「ｒCb［ｘ]［ｙ]＝ｒCb［ｘ]［ｙ]＜＜（１−ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇ）およびｒCr［ｘ]［ｙ]＝ｒCr［ｘ]［ｙ]＜＜（１−ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇ）」によって置き換えられ得る。
【０１９１】
[0129]  色変換行列を共有しているロッシーコーディング方法およびロスレスコーディング方法の別の例では、ルーマ成分とクロマ成分との入力ビット深度は異なり得る。そのような例では、ルーマ成分とクロマ成分との入力ビット深度が異なり、ＹＣｏＣｇ−Ｒがロッシーコーディングモードとロスレスコーディングモードの両方のために使用されるとき、逆変換の前に、Ｙ、Ｃｏ、Ｃｇ成分の値のうちの少なくとも１つは、すべての３つの成分が同じビット深度精度を有するようになるために、最初にＮビットシフトされ得る。さらに、２つのクロマ成分（すなわち、Ｃｏ、およびＣｇ）にもう１ビットがシフトされ得る。すべての３つの成分の予測値のうちの少なくとも１つは、順ＹＣｏＣｇ−Ｒ変換を呼び出す前に同じビット深度精度を有するように修正され得る。および順変換の後に、２つのクロマ成分は１ビットで右シフトされ得る。ロスレスコーディングモードでは、異なるビット深度は考慮されないことがあり、したがって、適応色空間変換は無効化され得る。一例では、ビットストリームは、コーディングされたビットストリーム中でルーマ成分とクロマ成分とのビット深度が異なるとき、色変換が無効化される（すなわち、ｃｏｌｏｒ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しい）、という制約を含み得る。
【０１９２】
[0130]  この例では、ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが３に等しいとき、適応色変換を使用する変換ブロックのための残差修正プロセスが呼び出され得る。このプロセスへの入力は、ブロックサイズを指定する変数ｂｌｋＳｉｚｅと、要素ｒＹ［ｘ]［ｙ]をもつルーマ残差サンプルｒＹの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイと、要素ｒＣｂ［ｘ]［ｙ]をもつクロマ残差サンプルｒＣｂの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイと、要素ｒＣｒ［ｘ]［ｙ]をもつクロマ残差サンプルｒＣｒの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイとを含み得る。このプロセスへの出力は、ルーマ残差サンプルの修正された（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイｒYと、クロマ残差サンプルの修正された（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイｒCbと、クロマ残差サンプルの修正された（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイｒCrとを含み得る。
【０１９３】
[0131]  変数ｄｅｌｔａＢＤYおよびｄｅｌｔａＢＤCは次のように導出され得る。
【０１９４】
【数４７】
0006657110.tif 000052
【０１９５】
[0132]  ｘ＝０．．ｂｌｋＳｉｚｅ−１、ｙ＝０．．ｂｌｋＳｉｚｅ−１の場合、残差サンプルｒY、ｒCbおよびｒCrの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイは次のように修正され得る。
残差サンプルｒＹ［ｘ]［ｙ]、ｒＣｂ［ｘ]［ｙ]およびｒＣｒ［ｘ]［ｙ]は次のように修正され得る。
【０１９６】
【数４８】
0006657110.tif 000053
【０１９７】
[0133]  上記の例では、２つの変数の間でより大きい値を導出するために関数Ｍａｘが使用され得る。代替的に、丸めオフセットＯYおよびＯcのうちの少なくとも１つが０に等しく設定され得る。
【０１９８】
[0134]  代替的に、ロスレスコーディングの場合でさえ、ルーマ成分とクロマ成分とのビット深度が異なるとき、成分は、必要な場合、同じビット深度精度にシフトされ得る。エンコーダ側において、順変換の後に、元のビット深度精度にシフトし戻すことは不要であり得る。言い換えれば、３つの成分のコーディングされた残差は、それがロスレスコーディングになることを確保するために同じビット深度であり得る。ロッシーコーディングとは異なり、入力は、ロスレスコーディングのために逆方向ＹＣｏＣｇ−Ｒ変換を呼び出す前に修正されないことがある。出力が元の入力と同じビット深度であることを確保するために、右シフトは依然として必要とされ得る。
【０１９９】
[0135]  この例では、ＣｈｒｏｍａＡｒｒａｙＴｙｐｅが３に等しいとき、適応色変換を使用する変換ブロックのための残差修正プロセスが呼び出され得る。このプロセスへの入力は、ブロックサイズを指定する変数ｂｌｋＳｉｚｅと、要素ｒＹ［ｘ]［ｙ]をもつルーマ残差サンプルｒＹの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイと、要素ｒＣｂ［ｘ]［ｙ]をもつクロマ残差サンプルｒＣｂの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイと、要素ｒＣｒ［ｘ]［ｙ]をもつクロマ残差サンプルｒＣｒの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイとを含み得る。このプロセスへの出力は、ルーマ残差サンプルの修正された（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイｒYと、クロマ残差サンプルの修正された（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイｒCbと、クロマ残差サンプルの修正された（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイｒCrとを含み得る。
【０２００】
[0136]  変数ｄｅｌｔａＢＤYおよびｄｅｌｔａＢＤCは次のように導出され得る。
【０２０１】
【数４９】
0006657110.tif 000054
【０２０２】
[0137]  ｘ＝０．．ｂｌｋＳｉｚｅ−１、ｙ＝０．．ｂｌｋＳｉｚｅ−１の場合、残差サンプルｒＹ、ｒＣｂおよびｒＣｒの（ｂｌｋＳｉｚｅ）×（ｂｌｋＳｉｚｅ）アレイは次のように修正され得る。
ｃｕ  ｔｒａｎｓｑｕａｎｔ  ｂｙｐａｓｓ  ｆｌａｇが０に等しいとき、残差サンプルｒＹ［ｘ]［ｙ]、ｒＣｂ［ｘ]［ｙ]およびｒＣｒ［ｘ]［ｙ]は次のように修正され得る。
【０２０３】
【数５０】
0006657110.tif 000055
【０２０４】
[0138]  代替的に、ＯYとＯcとのうちの１つが０に等しくなり得る。
【０２０５】
[0139]  ビデオエンコーダ２０は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダ中で、ビデオデコーダ３０に送り得る。ＧＯＰシンタックスデータは、それぞれのＧＯＰ中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用された符号化／予測モードを示し得る。
【０２０６】
[0140]  ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、離散論理回路、ソフトウェア、ハードウェア、ファームウェアあるいはそれらの任意の組合せなど、様々な好適なエンコーダまたはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として組み込まれ得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【０２０７】
[0141]  図２は、色空間変換プロセスを使用してビデオブロックを符号化するための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースコーディングモードのいずれかを指すことがある。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースコーディングモードのいずれかを指すことがある。
【０２０８】
[0142]  図２に示されているように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット（entropy encoding unit）５６とを含む。モード選択ユニット４０は、今度は、動き補償ユニット（motion compensation unit）４４と、動き推定ユニット（motion estimation unit）４２と、イントラ予測ユニット（intra-prediction unit）４６と、区分ユニット（partition unit）４８とを含む。ビデオブロックの再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット（inverse quantization unit）５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクト（blockiness artifact）を除去するためにブロック境界をフィルタ処理するためのデブロッキングフィルタ（deblocking filter）（図２に図示されず）も含まれ得る。所望される場合、デブロッキングフィルタは、通常、加算器６２の出力をフィルタリングすることになる。デブロッキングフィルタに加えて、追加のフィルタ（ループ内またはループ後）も使用され得る。そのようなフィルタは簡潔のために示されていないが、所望される場合、（ループ内フィルタとして）加算器５０の出力をフィルタ処理し得る。
【０２０９】
[0143]  符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間的予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実施する。イントラ予測ユニット４６は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して、受信されたビデオブロックのイントラ予測コーディングを実施し得る。ビデオエンコーダ２０は、たとえば、ビデオデータの各ブロックに適切なコーディングモードを選択するために、複数のコーディングパスを実施し得る。
【０２１０】
[0144]  その上、区分ユニット４８は、以前のコーディングパスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、区分ユニット４８は、最初にフレームまたはスライスをＬＣＵに区分し、レートひずみ分析（たとえば、レートひずみ最適化）に基づいてＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、サブＣＵへのＬＣＵの区分を示す４分木データ構造をさらに生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。
【０２１１】
[0145]  モード選択ユニット４０は、たとえば、誤差結果に基づいて、コーディングモードのうちの１つ、すなわち、イントラまたはインターを選択し得、得られたイントラまたはインターコーディングされたブロックを、残差ブロックデータ（residual block data）を生成するために加算器５０に、および参照フレームとしての使用のために符号化ブロックを再構成するために加算器６２に提供する。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などのシンタックス要素を、エントロピー符号化ユニット５６に提供する。
【０２１２】
[0146]  動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念上の目的から別々に示されている。動き推定ユニット４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在フレーム（または他のコーディングされたユニット）内でコーディングされている現在ブロックに対する参照フレーム（または他のコーディングされたユニット）内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数のピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置および分数ピクセル位置に対して動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【０２１３】
[0147]  動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス中のビデオブロックのＰＵについての動きベクトルを計算する。参照ピクチャは、その各々が、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得る。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０２１４】
[0148]  動き補償ユニット４４によって実施される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴い得る。同じく、動き推定ユニット４２および動き補償ユニット４４は、いくつかの例では、機能的に一体化され得る。現在ビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックを位置特定し得る。加算器５０は、下記で論じられるように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット４２は、ルーマ成分に対して動き推定を実施し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方について、ルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際のビデオデコーダ３０による使用のために、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成し得る。
【０２１５】
[0149]  イントラ予測ユニット４６は、上述されたように、動き推定ユニット４２と動き補償ユニット４４とによって実施されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば別々の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用すべき適切なイントラ予測モードを選択し得る。
【０２１６】
[0150]  たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの間で最も良好なレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに、符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックの最も良好なレートひずみ値を呈するかを決定するために、様々な符号化ブロックのためのひずみおよびレートから比を計算し得る。
【０２１７】
[0151]  ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックのための符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
【０２１８】
[0152]  ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって、残差ビデオブロックを形成する。加算器５０は、この減算演算を実施する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロック（residual block）に適用して、残差変換係数値（residual transform coefficient value）を備えるビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴに概念的に同様である他の変換を実施し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプ変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、ピクセル値領域からの残差情報を、周波数領域などの変換領域に変換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット５６が走査を実施し得る。
【０２１９】
[0153]  量子化に続いて、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実施し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコーディングに続いて、符号化ビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、または後で送信するかもしくは取り出すためにアーカイブされ得る。
【０２２０】
[0154]  本開示の技法によれば、ビデオエンコーダ２０のエントロピー符号化ユニット（entropy encoding unit）５６は、本開示の１つまたは複数の技法を実施し得る。たとえば、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定し得る。エントロピー符号化ユニット５６は、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方をさらに修正し得る。ビデオエンコーダ２０のエントロピー符号化ユニット５６は、修正されたビデオデータに色空間変換プロセスをさらに適用し得る。
【０２２１】
[0155]  逆量子化ユニット５８および逆変換ユニット６０は、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成するために、それぞれ逆量子化と逆変換とを適用する。動き補償ユニット４４は、参照ピクチャメモリ６４のフレームのうちの１つの予測ブロックに残差ブロックを加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用し得る。加算器６２は、参照ピクチャメモリ６４に記憶するための再構成されたビデオブロックを生成するために、動き補償ユニット４４によって生成された動き補償予測ブロックに再構成された残差ブロックを加算する。再構成されたビデオブロックは、動き推定ユニット４２および動き補償ユニット４４によって、後続のビデオフレーム中のブロックをインターコーディングするために参照ブロックとして使用され得る。
【０２２２】
[0156]  このようにして、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、本開示の１つまたは複数の技法を実施し得る。たとえば、本開示の技法によれば、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、本開示の１つまたは複数の技法を実施し得る。たとえば、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定し得る。エントロピー符号化ユニット５６は、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方をさらに修正し得る。ビデオエンコーダ２０のエントロピー符号化ユニット５６は、修正されたビデオデータに色空間変換プロセスをさらに適用し得る。
【０２２３】
[0157]  いくつかの例では、ビデオデータはビデオデータの第１のセットであり得る。そのようなものとして、ビデオデータの第２のセットについて、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータの第２のセットのルーマ成分のビット深度とビデオデータの第２のセットのクロマ成分のビット深度とを決定し得る。ビデオデータの第２のセットのルーマ成分のビット深度がビデオデータの第２のセットのクロマ成分のビット深度とは異なることに応答して、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータの第２のセットについての色変換を無効化し得る。いくつかのそのような例では、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータの第２のセットのために色空間変換プロセスが無効化されることを示す、ビデオデータの第２のセットのピクチャパラメータセットの第２のシンタックス要素をさらに設定し得る。
【０２２４】
[0158]  いくつかの例では、ビデオエンコーダ２０のエントロピー符号化ユニット５６がルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正するとき、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、色空間変換プロセスを適用する前に、ルーマ成分とクロマ成分の一方または両方のビデオデータに対してビット単位シフト演算（bitwise shift operation）を実行し得る。ビット単位シフト演算、ビット単位演算（bitwise operation）は、１つまたは複数のビットパターン（bit pattern）または２進数字（binary numeral）をそれらの個々のビットのレベルで操作し、０が、廃棄されたビットに取って代わる。
【０２２５】
[0159]  いくつかの例では、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータを符号化するために色空間変換を使用することをさらに決定し得る。そのように行う際に、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、コーディングユニットのために色空間変換を使用することを決定することに応答して、色空間変換の使用を示すようにビデオデータのシンタックス要素の値を設定し得る。いくつかの例では、シンタックス要素は１ビットフラグ（one-bit flag）を備える。いくつかの例では、イントラパルス符号変調（ＩＰＣＭ：intra-pulse code modulation）モード以外のモードを使用してコーディングユニットがコーディングされるとき、シンタックス要素はシグナリングされる。他の例では、コーディングユニットの変換ユニット中に非０係数があるときのみ、シンタックス要素はシグナリングされる。いくつかの例では、シンタックス要素についての１の値は、色空間変換を使用してコーディングユニットが符号化されたことを示す。
【０２２６】
[0160]  いくつかの例では、シンタックス要素はシグナリングされないことがある。たとえば、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測ユニット（prediction unit）のルーマ予測モード（luma prediction mode）とクロマ予測モード（chroma prediction mode）とが異なるとき、シンタックス要素はシグナリングされないことがある。別の例では、コーディングユニットがパレットモードでコーディングされるとき、シンタックス要素はシグナリングされないことがある。
【０２２７】
[0161]  いくつかの例では、シンタックス要素は第１のシンタックス要素であり、ビデオデータはビデオデータの第１のセットである。そのような例では、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータの第２のセットの第２のコーディングユニット中の第１のピクセルのためのパレットインデックスの値を決定し得る。ビデオエンコーダ２０のエントロピー符号化ユニット５６は、走査順序で第１のピクセルのすぐ隣に続いている１つまたは複数の次のピクセルのためのパレットインデックスの値をさらに決定し得る。パレットインデックスの値を決定することは、ピクセルが、第１のピクセルのためのパレットインデックスの値とは異なる値をもつパレットインデックスを有するまで、パレットインデックスの値を決定することを備え得る。ビデオエンコーダ２０のエントロピー符号化ユニット５６は、次のピクセルのために決定されるパレットインデックス値の数をさらに決定し得る。パレットインデックス値の数に基づいて、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、第１のモードまたは第２のモードのいずれかを使用してパレットインデックスを符号化し得る。パレットインデックス値の数が１よりも大きいとき、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、パレットインデックスをエンコーディングために第１のモードが使用されたことを示すように第２のシンタックス要素の値を設定し、第３のシンタックス要素の値をパレットインデックス値の数に等しく設定し得る。パレットインデックス値の数が１よりも小さいかまたはそれに等しいとき、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、パレットインデックスをエンコーディングために第２のモードが使用されたことを示すように第２のシンタックス要素の値を設定し得る。いくつかの例では、第１のモードはランモード（run mode）であり、第２のモードはピクセルモード（pixel mode）である。
【０２２８】
[0162]  いくつかの例では、シンタックス要素を符号化することは、ビデオエンコーダ２０のエントロピー符号化ユニット５６が、色空間変換を使用してコーディングユニットが符号化されたかどうかを示す補足エンハンスメント情報（ＳＥＩ：supplemental enhancement information）メッセージのデータを符号化することを備え得る。
【０２２９】
[0163]  図３は、色空間変換プロセスを使用してそのうちのいくつかが符号化された、ビデオブロックを復号するための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット（entropy decoding unit）７０と、動き補償ユニット（motion compensation unit）７２と、イントラ予測ユニット（intra prediction unit）７４と、逆量子化ユニット（inverse quantization unit）７６と、逆変換ユニット（inverse transformation unit）７８と、参照ピクチャメモリ（reference picture memory）８２と、加算器（summer）８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明された符号化パスとは概して逆の復号パスを実施し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて、予測データを生成し得、一方、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて、予測データを生成し得る。
【０２３０】
[0164]  復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す、符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他のシンタックス要素とを動き補償ユニット７２に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０２３１】
[0165]  本開示の技法によれば、ビデオデコーダ３０のエントロピー復号ユニット７０は、本開示の１つまたは複数の技法を実施し得る。たとえば、ビデオエンコーダ３０のエントロピー復号ユニット７０は、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定し得る。ビデオエンコーダ３０のエントロピー復号ユニット７０は、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方をさらに修正し得る。ビデオエンコーダ３０のエントロピー復号ユニット７０は、修正されたビデオデータに色空間逆変換プロセスをさらに適用し得る。
【０２３２】
[0166]  ビデオスライスが、イントラコーディングされた（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、現在フレームまたはピクチャの以前に復号されたブロックから、シグナリングされたイントラ予測モード（intra prediction mode）およびデータに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームが、インターコーディングされた（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づくデフォルト構成技法を使用して、参照フレームリスト、リスト０およびリスト１を構成し得る。動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパース（parse）することによって現在ビデオスライスのビデオブロックのための予測情報を決定し、この予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスのための参照ピクチャリストのうちの１つまたは複数についての構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコーディングされたビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０２３３】
[0167]  動き補償ユニット７２はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット７２は、参照ブロックのサブ整数ピクセルの補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０２３４】
[0168]  逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化された変換係数を逆量子化する（inverse quantize）、すなわち、逆量子化する（de-quantize）。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０２３５】
[0169]  逆変換ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０２３６】
[0170]  動き補償ユニット７２が、動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器８０は、この加算演算を実施する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためのデブロッキングフィルタも適用され得る。（コーディングループ内またはコーディングループ後のいずれかの）他のループフィルタも、ピクセル遷移を平滑化するか、または場合によってはビデオ品質を改善するために使用され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、参照ピクチャメモリ８２に記憶され、この参照ピクチャメモリ８２は、後続の動き補償のために使用される参照ピクチャを記憶する。参照ピクチャメモリ８２はまた、復号ビデオを、図１のディスプレイデバイス３２などのディスプレイデバイス上に後で提示するために記憶する。
【０２３７】
[0171]  このようにして、ビデオエンコーダ３０のエントロピー復号ユニット７０は、本開示の１つまたは複数の技法を実施し得る。たとえば、ビデオエンコーダ３０のエントロピー復号ユニット７０は、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定し得る。ビデオエンコーダ３０のエントロピー復号ユニット７０は、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方をさらに修正し得る。ビデオエンコーダ３０のエントロピー復号ユニット７０は、修正されたビデオデータに色空間逆変換プロセスをさらに適用し得る。
【０２３８】
[0172]  いくつかの例では、ビデオデータはビデオデータの第１のセットであり得る。そのようなものとして、ビデオデータの第２のセットについて、ビデオエンコーダ３０のエントロピー復号ユニット７０は、ビデオデータの第２のセットのルーマ成分のビット深度とビデオデータの第２のセットのクロマ成分のビット深度とを決定し得る。ビデオデータの第２のセットのルーマ成分のビット深度がビデオデータの第２のセットのクロマ成分のビット深度とは異なることに応答して、ビデオエンコーダ３０のエントロピー復号ユニット７０は、ビデオデータの第２のセットについての色変換を無効化し得る。いくつかのそのような例では、ビデオエンコーダ３０のエントロピー復号ユニット７０は、ビデオデータの第２のセットのために色空間変換プロセスが無効化されることを示す、ビデオデータの第２のセットのピクチャパラメータセットの第２のシンタックス要素をさらに設定し得る。
【０２３９】
[0173]  いくつかの例では、ビデオエンコーダ３０のエントロピー復号ユニット７０がルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正するとき、ビデオエンコーダ３０のエントロピー復号ユニット７０は、色空間変換プロセスを適用する前に、ルーマ成分とクロマ成分の一方または両方のビデオデータに対してビット単位シフト演算を実行し得る。ビット単位シフト演算、ビット単位演算は、１つまたは複数のビットパターンまたは２進数字をそれらの個々のビットのレベルで操作し、０が、廃棄されたビットに取って代わる。
【０２４０】
[0174]  いくつかの例では、ビデオデコーダ３０のエントロピー復号ユニット７０は、ビデオデータのコーディングユニットのシンタックス要素を復号し得る。シンタックス要素は、色空間変換を使用してコーディングユニットが符号化されたかどうかを示し得る。いくつかの例では、シンタックス要素は１ビットフラグを備え得る。いくつかの例では、コーディングユニットはイントラパルス符号変調（ＩＰＣＭ）モード以外のモードでコーディングされ、シンタックス要素は、ＩＰＣＭモード以外のモードを使用するコーディングユニットについてのみシグナリングされる。いくつかの例では、コーディングユニットの変換ユニット中に非０係数があるとき、シンタックス要素は、色空間変換を使用してコーディングユニットが符号化されたことを示す。いくつかの例では、シンタックス要素についての１の値は、色空間変換を使用してコーディングユニットが符号化されたことを示す。ビデオデコーダ３０のエントロピー復号ユニット７０は、シンタックス要素の値が、色空間変換を使用してコーディングユニットが符号化されたことを示すかどうかをさらに決定し得る。シンタックス要素が、色空間変換を使用してコーディングユニットがコーディングされたことを示すと決定することに応答して、ビデオデコーダ３０のエントロピー復号ユニット７０は、色空間逆変換プロセスを適用し得る。
【０２４１】
[0175]  いくつかの例では、シンタックス要素は、コーディングユニットを符号化するために色空間変換が使用されなかったことを示し得る。たとえば、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、シンタックス要素は、コーディングユニットを符号化するために色空間変換が使用されなかったことを示し得る。別の例では、コーディングユニットがパレットモードでコーディングされるとき、シンタックス要素は、コーディングユニットを符号化するために色空間変換が使用されなかったことを示し得る。これらの例では、受信ビットストリームはシンタックス要素を含まないことがある。
【０２４２】
[0176]  いくつかの例では、シンタックス要素は第１のシンタックス要素であり、ビデオデータはビデオデータの第１のセットである。そのような例では、ビデオデコーダ３０のエントロピー復号ユニット７０は、ビデオデータの第２のセットの第２のシンタックス要素の値をさらに決定し得る。第２のシンタックス要素は、ビデオデータの第２のセットを符号化するためにパレットモードが使用されたかどうかを示し得る。第２のシンタックス要素が、ビデオデータを符号化するためにパレットモードが使用されたことを示すことに応答して、ビデオデコーダ３０のエントロピー復号ユニット７０は第３のシンタックス要素の値を決定し得る。第３のシンタックス要素は、コーディングユニット中のピクセルのためのパレットインデックスを復号するために第１のモードが使用されるのか第２のモードが使用されるのかを示し得る。第２のシンタックス要素の決定された値に基づいて、ビデオデコーダ３０のエントロピー復号ユニット７０は、第１のモードまたは第２のモードのいずれかを使用してパレットインデックスを復号し得る。第１のモードを使用するとき、ビデオデコーダ３０のエントロピー復号ユニット７０は、パレットインデックスの値を決定し、走査順序で現在復号されているピクセルのすぐ隣に続いているピクセルの数を示す第４のシンタックス要素の値を決定し、走査順序で次のＮ個のピクセルのためのパレットインデックスの値を決定した結果を複製し得、ただし、Ｎは第４のシンタックス要素の値に等しい。いくつかの例では、第１のモードはランモードである。第２のモードを使用するとき、ビデオデコーダ３０のエントロピー復号ユニット７０は、パレットインデックスの値を決定し、ピクセルのピクセルサンプル値を出力し得、ここで、ピクセルサンプル値はパレットインデックスの値に等しい。いくつかの例では、第２のモードはピクセルモードである。
【０２４３】
[0177]  いくつかの例では、シンタックス要素を復号することは、ビデオデコーダ３０のエントロピー復号ユニット７０が、色空間変換を使用してコーディングユニットが符号化されたかどうかを示す補足エンハンスメント情報（ＳＥＩ）メッセージのデータを復号するように構成されることを備える。
【０２４４】
[0178]  図４は、本開示の１つまたは複数の技法による３５個のＨＥＶＣ予測モードを示す概念図である。現在のＨＥＶＣでは、各予測ユニット（ＰＵ）のルーマ成分のために、図４に関して説明されるように、（２から３４までインデックス付けされた）３３個の角度予測モードと、（１でインデックス付けされた）ＤＣモードと、（０でインデックス付けされた）平面モードとをもつイントラ予測方法が利用される。
【０２４５】
[0179]  上記の３５個のイントラモードに加えて、「Ｉ−ＰＣＭ」と称する、もう１つのモードもＨＥＶＣによって採用される。Ｉ−ＰＣＭモードでは、予測サンプルはあらかじめ定義されたビット数によってコーディングされるが、予測、変換、量子化、およびエントロピーコーディングはバイパスされる。Ｉ−ＰＣＭモードの主な目的は、信号が他のモードによって効率的にコーディングされ得ない状況を扱うことである。
【０２４６】
[0180]  図５は、本開示の１つまたは複数の技法による、マージモードと高度動きベクトル予測（ＡＭＶＰ）モードとのための空間隣接動きベクトル候補を示す概念図である。図５に関して説明されるように、空間的ＭＶ候補が、特定のＰＵ（ＰＵ０）に関して図５に示されている隣接ブロックから導出されるが、ブロックから候補を生成する方法はマージモードとＡＭＶＰモードとについて異なる。
【０２４７】
[0181]  マージモードでは、番号で図５（ａ）に示された順序とともに、最高４つの空間的ＭＶ候補が導出され得、順序は、図５（ａ）に示されているように、左（０）、上（１）、右上（２）、左下（３）、および左上（４）である。
【０２４８】
[0182]  ＡＭＶＰモードでは、隣接ブロックは、図５（ｂ）に示されているように、ブロック０および１からなる左グループ、ならびにブロック２、３、および４からなる上グループという、２つのグループに分割される。各グループについて、シグナリングされた参照インデックスによって示された参照ピクチャと同じ参照ピクチャを参照する隣接ブロック中の潜在的候補は、そのグループの最終候補を形成するために選定されるべき最高優先順位を有する。すべての隣接ブロックが、同じ参照ピクチャを指す動きベクトルを含んでいるとは限らない可能性がある。したがって、そのような候補が見つけられ得ない場合、第１の利用可能な候補は、最終候補を形成するためにスケーリングされることになり、したがって、時間距離差分が補償され得る。
【０２４９】
[0183]  図６は、本開示の１つまたは複数の技法によるイントラブロックコピー（ＢＣ）の一例を示す概念図である。図６に関して説明されるように、ＲＥｘｔ中にイントラブロックコピー（ＢＣ）が含まれている。イントラＢＣの一例は図６に示されている通りであり、ここにおいて、現在ＣＵは、現在ピクチャ／スライスのすでに復号されたブロックから予測される。現在イントラＢＣブロックサイズは、８×８から６４×６４にわたるＣＵサイズ程度に大きくなり得るが、いくつかの適用例では、さらなる制約が追加として適用され得る。
【０２５０】
[0184]  図７は、本開示の１つまたは複数の技法による、イントラ８×８ブロックのためのターゲットブロックおよび参照サンプルの一例を示す概念図である。図７に関して以下で説明されるように、変換行列は参照サンプル値から導出される。イントラの場合とインターの場合とのために異なる参照サンプルが利用される。イントラブロックの場合について、ターゲットブロックおよび参照サンプルが図７に示されている。この図では、ターゲットブロックは８×８のクロスハッチサンプルからなり、参照はストライプサンプルおよびドット付きサンプルである。
【０２５１】
[0185]  インターブロックの場合、行列導出のための参照サンプルは動き補償のための参照サンプルと同じである。シフト演算を実現するために、ＡＭＰブロック中の参照サンプルは、サンプルの数が２のべき乗になるようにサブサンプリングされる。たとえば、１２×１６ブロック中の参照サンプルの数は２／３に低減される。
【０２５２】
[0186]  本開示のいくつかの技法によれば、色空間変換プロセスが適用され得る。そのような例では、変換プロセスが呼び出されるか否かをシグナリングする必要はない。さらに、エンコーダ側とデコーダ側の両方は、変換行列をシグナリングするためのオーバーヘッドを回避するために同じ方法で変換行列を導出し得る。
【０２５３】
[0187]  図８は、現在ブロックを符号化するための例示的な方法を示すフローチャートである。現在ブロックは、現在ＣＵ、または現在ＣＵの一部分を備え得る。ビデオエンコーダ２０（図１および図２）に関して説明されるが、他のデバイスが図８の方法と同様の方法を実施するように構成され得ることを理解されたい。
【０２５４】
[0188]  この例では、ビデオエンコーダ２０は、初めに、現在ブロックを予測する（１５０）。たとえば、ビデオエンコーダ２０は、現在ブロックのための１つまたは複数の予測ユニット（ＰＵ）を計算し得る。ビデオエンコーダ２０は、次いで、たとえば、変換ユニット（ＴＵ）を生成するために、現在ブロックの残差ブロックを計算し得る（１５２）。残差ブロックを計算するために、ビデオエンコーダ２０は、元のコーディングされていないブロックと、現在ブロックのための予測ブロックとの間の差分を計算し得る。ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定し得る（１５４）。エントロピー符号化ユニット５６は、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方をさらに修正し得る（１５６）。ビデオエンコーダ２０のエントロピー符号化ユニット５６は、修正されたビデオデータに色空間変換プロセスをさらに適用し得る（１５８）。ビデオエンコーダ２０は、次いで、残差ブロックの係数を変換し量子化し得る（１６０）。次に、ビデオエンコーダ２０は、残差ブロックの量子化変換係数を走査し得る（１６２）。走査中に、または走査に続いて、ビデオエンコーダ２０は、係数をエントロピー符号化し得る（１６４）。たとえば、ビデオエンコーダ２０は、ＣＡＶＬＣまたはＣＡＢＡＣを使用して係数を符号化し得る。ビデオエンコーダ２０は、次いで、ブロックのエントロピーコーディングされたデータを出力し得る（１６６）。ビデオエンコーダ２０のエントロピー符号化ユニット５６は、符号化プロセスの復号ループにおいて色空間逆変換プロセスをさらに適用し得る（１６８）。本開示の技法では、色空間逆変換プロセスは、コーディングモードがロッシーコーディングモード（lossy coding mode）であるかロスレスコーディングモード（lossless coding mode）であるかに依存しない。
【０２５５】
[0189]  いくつかの例では、ビデオデータはビデオデータの第１のセットであり得る。そのようなものとして、ビデオデータの第２のセットについて、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータの第２のセットのルーマ成分のビット深度とビデオデータの第２のセットのクロマ成分のビット深度とを決定し得る。ビデオデータの第２のセットのルーマ成分のビット深度がビデオデータの第２のセットのクロマ成分のビット深度とは異なることに応答して、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータの第２のセットについての色変換を無効化し得る。いくつかのそのような例では、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータの第２のセットのために色空間変換プロセスが無効化されることを示す、ビデオデータの第２のセットのピクチャパラメータセットの第２のシンタックス要素をさらに設定し得る。
【０２５６】
[0190]  いくつかの例では、ビデオエンコーダ２０のエントロピー符号化ユニット５６がルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正するとき、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、色空間変換プロセスを適用する前に、ルーマ成分とクロマ成分の一方または両方のビデオデータに対してビット単位シフト演算を実行し得る。ビット単位シフト演算、ビット単位演算は、１つまたは複数のビットパターンまたは２進数字をそれらの個々のビットのレベルで操作し、０が、廃棄されたビットに取って代わる。
【０２５７】
[0191]  いくつかの例では、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータを符号化するために色空間変換を使用することをさらに決定し得る。そのように行う際に、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、コーディングユニットのために色空間変換を使用することを決定することに応答して、色空間変換の使用を示すようにビデオデータのシンタックス要素の値を設定し得る。いくつかの例では、シンタックス要素は１ビットフラグを備える。いくつかの例では、イントラパルス符号変調（ＩＰＣＭ）モード以外のモードを使用してコーディングユニットがコーディングされるとき、シンタックス要素はシグナリングされる。他の例では、コーディングユニットの変換ユニット中に非０係数があるときのみ、シンタックス要素はシグナリングされる。いくつかの例では、シンタックス要素についての１の値は、色空間変換を使用してコーディングユニットが符号化されたことを示す。
【０２５８】
[0192]  いくつかの例では、シンタックス要素はシグナリングされないことがある。たとえば、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、シンタックス要素はシグナリングされないことがある。別の例では、コーディングユニットがパレットモードでコーディングされるとき、シンタックス要素はシグナリングされないことがある。これらの例では、シンタックス要素は、ビデオデータを備える受信ビットストリーム中に存在しないことがあり、シンタックス要素を復号することは、シンタックス要素の値を推論することを備え得る。
【０２５９】
[0193]  いくつかの例では、シンタックス要素は第１のシンタックス要素であり、ビデオデータはビデオデータの第１のセットである。そのような例では、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、ビデオデータの第２のセットの第２のコーディングユニット中の第１のピクセルのためのパレットインデックスの値を決定し得る。ビデオエンコーダ２０のエントロピー符号化ユニット５６は、走査順序（scanning order）で第１のピクセルのすぐ隣に続いている１つまたは複数の次のピクセルのためのパレットインデックスの値をさらに決定し得る。パレットインデックスの値を決定することは、ピクセルが、第１のピクセルのためのパレットインデックスの値とは異なる値をもつパレットインデックスを有するまで、パレットインデックスの値を決定することを備え得る。ビデオエンコーダ２０のエントロピー符号化ユニット５６は、次のピクセルのために決定されるパレットインデックス値の数をさらに決定し得る。パレットインデックス値の数に基づいて、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、第１のモードまたは第２のモードのいずれかを使用してパレットインデックスを符号化し得る。パレットインデックス値の数が１よりも大きいとき、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、パレットインデックスをエンコーディングために第１のモードが使用されたことを示すように第２のシンタックス要素の値を設定し、第３のシンタックス要素の値をパレットインデックス値の数に等しく設定し得る。パレットインデックス値の数が１よりも小さいかまたはそれに等しいとき、ビデオエンコーダ２０のエントロピー符号化ユニット５６は、パレットインデックスをエンコーディングために第２のモードが使用されたことを示すように第２のシンタックス要素の値を設定し得る。いくつかの例では、第１のモードはランモードであり、第２のモードはピクセルモードである。
【０２６０】
[0194]  いくつかの例では、シンタックス要素を符号化することは、ビデオエンコーダ２０のエントロピー符号化ユニット５６が、色空間変換を使用してコーディングユニットが符号化されたかどうかを示す補足エンハンスメント情報（ＳＥＩ）メッセージのデータを符号化することを備え得る。
【０２６１】
[0195]  図９は、ビデオデータの現在ブロックを復号するための例示的な方法を示すフローチャートである。現在ブロックは、現在ＣＵ、または現在ＣＵの一部分を備え得る。ビデオデコーダ３０（図１および図３）に関して説明されるが、他のデバイスが図９の方法と同様の方法を実施するように構成され得ることを理解されたい。
【０２６２】
[0196]  ビデオデコーダ３０は、現在ブロックのための予測ブロックを計算するために、たとえば、イントラ予測モードまたはインター予測モードを使用して、現在ブロックを予測し得る（２００）。ビデオデコーダ３０はまた、現在ブロックに対応する残差ブロックの係数についてのエントロピーコーディングされたデータなど、現在ブロックについてのエントロピーコーディングされたデータを受信し得る（２０２）。ビデオデコーダ３０は、残差ブロックの係数を再生するために、エントロピーコーディングされたデータをエントロピー復号し得る（２０４）。次いで、ビデオデコーダ３０は、量子化された変換係数のブロックを作成するために、再生された係数を逆走査し得る（２０６）。ビデオデコーダ３０は、次いで、係数を逆変換し逆量子化し得る（２０８）。ビデオデコーダ３０のエントロピー復号ユニット７０は、ビデオデータのルーマ成分のビット深度とビデオデータのクロマ成分のビット深度とを決定し得る（２１０）。ビデオデコーダ３０のエントロピー復号ユニット７０は、ルーマ成分のビット深度がクロマ成分のビット深度とは異なることに応答して、ビット深度が等しくなるようにルーマ成分のビット深度とクロマ成分のビット深度の一方または両方をさらに修正し得る（２１２）。ビデオエンコーダ３０のエントロピー復号ユニット７０はまた、修正されたビデオデータに色空間逆変換プロセスを適用し得る（２１４）。ビデオデコーダ３０は、最終的に、予測ブロックと残差ブロックとを結合することによって現在ブロックを復号し得る（２１６）。
【０２６３】
[0197]  いくつかの例では、ビデオデータはビデオデータの第１のセットであり得る。そのようなものとして、ビデオデータの第２のセットについて、ビデオエンコーダ３０のエントロピー復号ユニット７０は、ビデオデータの第２のセットのルーマ成分のビット深度とビデオデータの第２のセットのクロマ成分のビット深度とを決定し得る。ビデオデータの第２のセットのルーマ成分のビット深度がビデオデータの第２のセットのクロマ成分のビット深度とは異なることに応答して、ビデオエンコーダ３０のエントロピー復号ユニット７０は、ビデオデータの第２のセットについての色変換を無効化し得る。いくつかのそのような例では、ビデオエンコーダ３０のエントロピー復号ユニット７０は、ビデオデータの第２のセットのために色空間変換プロセスが無効化されることを示す、ビデオデータの第２のセットのピクチャパラメータセットの第２のシンタックス要素をさらに設定し得る。
【０２６４】
[0198]  いくつかの例では、ビデオエンコーダ３０のエントロピー復号ユニット７０がルーマ成分のビット深度とクロマ成分のビット深度の一方または両方を修正するとき、ビデオエンコーダ３０のエントロピー復号ユニット７０は、色空間変換プロセスを適用する前に、ルーマ成分とクロマ成分の一方または両方のビデオデータに対してビット単位シフト演算を実行し得る。ビット単位シフト演算、ビット単位演算は、１つまたは複数のビットパターンまたは２進数字をそれらの個々のビットのレベルで操作し、０が、廃棄されたビットに取って代わる。
【０２６５】
[0199]  いくつかの例では、ビデオデコーダ３０のエントロピー復号ユニット７０は、ビデオデータのコーディングユニットのシンタックス要素を復号し得る。シンタックス要素は、色空間変換を使用してコーディングユニットが符号化されたかどうかを示し得る。いくつかの例では、シンタックス要素は１ビットフラグを備え得る。いくつかの例では、コーディングユニットはイントラパルス符号変調（ＩＰＣＭ）モード以外のモードでコーディングされ、シンタックス要素は、ＩＰＣＭモード以外のモードを使用するコーディングユニットについてのみシグナリングされる。いくつかの例では、コーディングユニットの変換ユニット中に非０係数があるとき、シンタックス要素は、色空間変換を使用してコーディングユニットが符号化されたことを示す。いくつかの例では、シンタックス要素についての１の値は、色空間変換を使用してコーディングユニットが符号化されたことを示す。ビデオデコーダ３０のエントロピー復号ユニット７０は、シンタックス要素の値が、色空間変換を使用してコーディングユニットが符号化されたことを示すかどうかをさらに決定し得る。シンタックス要素が、色空間変換を使用してコーディングユニットがコーディングされたことを示すと決定することに応答して、ビデオデコーダ３０のエントロピー復号ユニット７０は、色空間逆変換プロセスを適用し得る。
【０２６６】
[0200]  いくつかの例では、シンタックス要素は、コーディングユニットを符号化するために色空間変換が使用されなかったことを示し得る。たとえば、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、シンタックス要素は、コーディングユニットを符号化するために色空間変換が使用されなかったことを示し得る。別の例では、コーディングユニットがパレットモードでコーディングされるとき、シンタックス要素は、コーディングユニットを符号化するために色空間変換が使用されなかったことを示し得る。これらの例では、受信ビットストリームはシンタックス要素を含まないことがある。
【０２６７】
[0201]  いくつかの例では、シンタックス要素は第１のシンタックス要素であり、ビデオデータはビデオデータの第１のセットである。そのような例では、ビデオデコーダ３０のエントロピー復号ユニット７０は、ビデオデータの第２のセットの第２のシンタックス要素の値をさらに決定し得る。第２のシンタックス要素は、ビデオデータの第２のセットを符号化するためにパレットモードが使用されたかどうかを示し得る。第２のシンタックス要素が、ビデオデータを符号化するためにパレットモードが使用されたことを示すことに応答して、ビデオデコーダ３０のエントロピー復号ユニット７０は第３のシンタックス要素の値を決定し得る。第３のシンタックス要素は、コーディングユニット中のピクセルのためのパレットインデックスを復号するために第１のモードが使用されるのか第２のモードが使用されるのかを示し得る。第２のシンタックス要素の決定された値に基づいて、ビデオデコーダ３０のエントロピー復号ユニット７０は、第１のモードまたは第２のモードのいずれかを使用してパレットインデックスを復号し得る。第１のモードを使用するとき、ビデオデコーダ３０のエントロピー復号ユニット７０は、パレットインデックスの値を決定し、走査順序で現在復号されているピクセルのすぐ隣に続いているピクセルの数を示す第４のシンタックス要素の値を決定し、走査順序で次のＮ個のピクセルのためのパレットインデックスの値を決定した結果を複製し得、ただし、Ｎは第４のシンタックス要素の値に等しい。いくつかの例では、第１のモードはランモードである。第２のモードを使用するとき、ビデオデコーダ３０のエントロピー復号ユニット７０は、パレットインデックスの値を決定し、ピクセルのピクセルサンプル値を出力し得、ここで、ピクセルサンプル値はパレットインデックスの値に等しい。いくつかの例では、第２のモードはピクセルモードである。
【０２６８】
[0202]  いくつかの例では、シンタックス要素を復号することは、ビデオデコーダ３０のエントロピー復号ユニット７０が、色空間変換を使用してコーディングユニットが符号化されたかどうかを示す補足エンハンスメント情報（ＳＥＩ）メッセージのデータを復号するように構成されることを備える。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを符号化する方法であって、
前記ビデオデータのルーマ成分のビット深度と前記ビデオデータのクロマ成分のビット深度とを決定することと、
前記ルーマ成分の前記ビット深度が前記クロマ成分の前記ビット深度とは異なることに応答して、前記ビット深度が等しくなるように前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することと、
前記修正されたビデオデータに色空間変換プロセスを適用することと
を備える、方法。
［Ｃ２］
前記ビデオデータを符号化するために色空間変換を使用することを決定することをさらに備え、ここにおいて、前記ビデオデータを符号化するために色空間変換を使用することを決定することは、
色空間変換を使用して前記ビデオデータが符号化されたことを示すシンタックス要素の値を設定することを備える、Ｃ１に記載の方法。
［Ｃ３］
前記シンタックス要素が１ビットフラグを備える、Ｃ２に記載の方法。
［Ｃ４］
コーディングユニットがイントラパルス符号変調（ＩＰＣＭ）モード以外のモードでコーディングされ、前記コーディングユニットがイントラパルス符号変調（ＩＰＣＭ）モード以外のモードを使用してコーディングされるとき、前記シンタックス要素が、色空間変換を使用して前記コーディングユニットが符号化されたことを示す、Ｃ２に記載の方法。
［Ｃ５］
コーディングユニットの変換ユニット中に非０係数があるとき、前記シンタックス要素は、色空間変換を使用して前記コーディングユニットが符号化されたことを示す、Ｃ２に記載の方法。
［Ｃ６］
コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、前記シンタックス要素がシグナリングされない、Ｃ２に記載の方法。
［Ｃ７］
コーディングユニットがパレットモードでコーディングされるとき、前記シンタックス要素がシグナリングされない、Ｃ２に記載の方法。
［Ｃ８］
シンタックス要素についての１の値は、コーディングユニットを符号化するために色空間変換が使用されることを示す、Ｃ２に記載の方法。
［Ｃ９］
前記ビデオデータはビデオデータの第１のセットであり、前記方法は、
ビデオデータの第２のセットについて、
ビデオデータの前記第２のセットのルーマ成分のビット深度とビデオデータの前記第２のセットのクロマ成分のビット深度とを決定することと、
ビデオデータの前記第２のセットの前記ルーマ成分の前記ビット深度がビデオデータの前記第２のセットの前記クロマ成分の前記ビット深度とは異なることに応答して、ビデオデータの前記第２のセットについての色変換を無効化することとをさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
ビデオデータの前記第２のセットのために前記色空間変換プロセスが無効化されることを示す、ビデオデータの前記第２のセットのピクチャパラメータセットの第２のシンタックス要素を設定することをさらに備える、Ｃ９に記載の方法。
［Ｃ１１］
前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することが、前記色空間変換プロセスを適用することの前に、前記ルーマ成分と前記クロマ成分の一方または両方の前記ビデオデータに対してビット単位シフト演算を実行することを備える、Ｃ１に記載の方法。
［Ｃ１２］
ビデオデータを記憶するように構成されたメモリと、
１つまたは複数のプロセッサと
を備えるビデオ符号化デバイスであって、前記１つまたは複数のプロセッサは、
前記ビデオデータのルーマ成分のビット深度と前記ビデオデータのクロマ成分のビット深度とを決定することと、
前記ルーマ成分の前記ビット深度が前記クロマ成分の前記ビット深度とは異なることに応答して、前記ビット深度が等しくなるように前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することと、
前記修正されたビデオデータに色空間変換プロセスを適用することと
を行うように構成された、ビデオ符号化デバイス。
［Ｃ１３］
前記１つまたは複数のプロセッサが、前記ビデオデータを符号化するために色空間変換を使用することを決定するようにさらに構成され、ここにおいて、前記１つまたは複数のプロセッサが前記ビデオデータを符号化するために色空間変換を使用することを決定するように構成されることは、前記１つまたは複数のプロセッサが
色空間変換を使用して前記ビデオデータが符号化されたことを示すシンタックス要素の値を設定するように構成されることを備える、Ｃ１２に記載のビデオ符号化デバイス。
［Ｃ１４］
前記シンタックス要素が１ビットフラグを備える、Ｃ１３に記載のビデオ符号化デバイス。
［Ｃ１５］
イントラパルス符号変調（ＩＰＣＭ）モード以外のモードを使用してコーディングユニットがコーディングされるとき、前記シンタックス要素がシグナリングされる、Ｃ１３に記載のビデオ符号化デバイス。
［Ｃ１６］
コーディングユニットの変換ユニット中に非０係数があるときのみ、前記シンタックス要素がシグナリングされる、Ｃ１３に記載のビデオ符号化デバイス。
［Ｃ１７］
コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、前記シンタックス要素がシグナリングされない、Ｃ１３に記載のビデオ符号化デバイス。
［Ｃ１８］
コーディングユニットがパレットモードでコーディングされるとき、前記シンタックス要素がシグナリングされない、Ｃ１３に記載のビデオ符号化デバイス。
［Ｃ１９］
前記シンタックス要素についての１の値は、色空間変換を使用してコーディングユニットが符号化されたことを示す、Ｃ１３に記載のビデオ符号化デバイス。
［Ｃ２０］
前記ビデオデータがビデオデータの第１のセットであり、ここにおいて、前記１つまたは複数のプロセッサは、
ビデオデータの第２のセットについて、
ビデオデータの前記第２のセットのルーマ成分のビット深度とビデオデータの前記第２のセットのクロマ成分のビット深度とを決定することと、
ビデオデータの前記第２のセットの前記ルーマ成分の前記ビット深度がビデオデータの前記第２のセットの前記クロマ成分の前記ビット深度とは異なることに応答して、ビデオデータの前記第２のセットについての色変換を無効化することとを行うようにさらに構成される、Ｃ１２に記載のビデオ符号化デバイス。
［Ｃ２１］
前記１つまたは複数のプロセッサは、
ビデオデータの前記第２のセットのために前記色空間変換プロセスが無効化されることを示す、ビデオデータの前記第２のセットのピクチャパラメータセットの第２のシンタックス要素を設定するようにさらに構成される、Ｃ２０に記載のビデオ符号化デバイス。
［Ｃ２２］
前記１つまたは複数のプロセッサが前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正するように構成されることが、前記１つまたは複数のプロセッサが前記色空間変換プロセスを適用することの前に、前記ルーマ成分と前記クロマ成分の一方または両方の前記ビデオデータに対してビット単位シフト演算を実行するように構成されることを備える、Ｃ１２に記載のビデオ符号化デバイス。
［Ｃ２３］
ビデオデータのルーマ成分のビット深度と前記ビデオデータのクロマ成分のビット深度とを決定するための手段と、
前記ルーマ成分の前記ビット深度が前記クロマ成分の前記ビット深度とは異なることに応答して、前記ビット深度が等しくなるように前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正するための手段と、
前記修正されたビデオデータに色空間変換プロセスを適用するための手段と
を備えるビデオ符号化装置。
［Ｃ２４］
前記ビデオデータはビデオデータの第１のセットであり、前記ビデオコーディング装置は、
ビデオデータの第２のセットについて、
ビデオデータの前記第２のセットのルーマ成分のビット深度とビデオデータの前記第２のセットのクロマ成分のビット深度とを決定するための手段と、
ビデオデータの前記第２のセットの前記ルーマ成分の前記ビット深度がビデオデータの前記第２のセットの前記クロマ成分の前記ビット深度とは異なることに応答して、ビデオデータの前記第２のセットについての色変換を無効化するための手段とをさらに備える、Ｃ２３に記載のビデオ符号化装置。
［Ｃ２５］
ビデオデータの前記第２のセットのために前記色空間変換プロセスが無効化されることを示す、ビデオデータの前記第２のセットのピクチャパラメータセットの第２のシンタックス要素を設定するための手段をさらに備える、Ｃ２４に記載のビデオ符号化装置。
［Ｃ２６］
前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正するための前記手段が、前記色空間変換プロセスを適用することの前に、前記ルーマ成分と前記クロマ成分の一方または両方の前記ビデオデータに対してビット単位シフト演算を実行するための手段を備える、Ｃ２３に記載のビデオ符号化装置。
［Ｃ２７］
実行されたとき、ビデオ符号化デバイスの１つまたは複数のプロセッサに、
ビデオデータのルーマ成分のビット深度と前記ビデオデータのクロマ成分のビット深度とを決定することと、
前記ルーマ成分の前記ビット深度が前記クロマ成分の前記ビット深度とは異なることに応答して、前記ビット深度が等しくなるように前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することと、
前記修正されたビデオデータに色空間変換プロセスを適用することと
を行わせる命令を備えるコンピュータ可読記憶媒体。
［Ｃ２８］
前記ビデオデータがビデオデータの第１のセットであり、ここにおいて、前記命令は、前記１つまたは複数のプロセッサに、
ビデオデータの第２のセットについて、
ビデオデータの前記第２のセットのルーマ成分のビット深度とビデオデータの前記第２のセットのクロマ成分のビット深度とを決定することと、
ビデオデータの前記第２のセットの前記ルーマ成分の前記ビット深度がビデオデータの前記第２のセットの前記クロマ成分の前記ビット深度とは異なることに応答して、ビデオデータの前記第２のセットについての色変換を無効化することとをさらに行わせる、Ｃ２７に記載のコンピュータ可読記憶媒体。
［Ｃ２９］
前記命令は、前記１つまたは複数のプロセッサに、
ビデオデータの前記第２のセットのために前記色空間変換プロセスが無効化されることを示す、ビデオデータの前記第２のセットのピクチャパラメータセットの第２のシンタックス要素を設定することをさらに行わせる、Ｃ２８に記載のコンピュータ可読記憶媒体。
［Ｃ３０］
前記１つまたは複数のプロセッサに、前記前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正させる前記命令は、前記１つまたは複数のプロセッサに、前記色空間変換プロセスを適用する前に、前記ルーマ成分と前記クロマ成分の一方または両方の前記ビデオデータに対してビット単位シフト演算を実行させる命令を備える、Ｃ２７に記載のコンピュータ可読記憶媒体。
［Ｃ３１］
ビデオデータを復号する方法であって、
前記ビデオデータのルーマ成分のビット深度と前記ビデオデータのクロマ成分のビット深度とを決定することと、
前記ルーマ成分の前記ビット深度が前記クロマ成分の前記ビット深度とは異なることに応答して、前記ビット深度が等しくなるように前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することと、
前記修正されたビデオデータに色空間変換プロセスを適用することと
を備える、方法。
［Ｃ３２］
ビデオデータのコーディングユニットのシンタックス要素を復号することと、ここにおいて、前記シンタックス要素が、色空間変換を使用して前記コーディングユニットが符号化されたかどうかを示す、
前記シンタックス要素の値が、色空間変換を使用して前記コーディングユニットが符号化されたことを示すかどうかを決定することと、
前記シンタックス要素が、色空間変換を使用して前記コーディングユニットがコーディングされたことを示すと決定することに応答して、色空間逆変換プロセスを適用することとをさらに備える、Ｃ３１に記載の方法。
［Ｃ３３］
前記シンタックス要素が１ビットフラグを備える、Ｃ３２に記載の方法。
［Ｃ３４］
前記コーディングユニットがイントラパルス符号変調（ＩＰＣＭ）モード以外のモードでコーディングされ、前記シンタックス要素が、前記ＩＰＣＭモード以外のモードを使用するコーディングユニットについてのみシグナリングされる、Ｃ３２に記載の方法。
［Ｃ３５］
前記コーディングユニットの変換ユニット中に非０係数があるとき、前記シンタックス要素は、色空間変換を使用して前記コーディングユニットが符号化されたことを示す、Ｃ３２に記載の方法。
［Ｃ３６］
前記コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、前記シンタックス要素は、色空間変換を使用して前記コーディングユニットが符号化されなかったことを示し、ここにおいて、前記シンタックス要素が、前記ビデオデータを備える受信ビットストリーム中に存在せず、およびここにおいて、前記シンタックス要素を復号することが、前記シンタックス要素の前記値を推論することを備える、Ｃ３２に記載の方法。
［Ｃ３７］
前記コーディングユニットがパレットモードでコーディングされるとき、前記シンタックス要素は、色空間変換を使用して前記コーディングユニットが符号化されなかったことを示し、ここにおいて、前記シンタックス要素が、前記ビデオデータを備える受信ビットストリーム中に存在せず、およびここにおいて、前記シンタックス要素を復号することが、前記シンタックス要素の前記値を推論することを備える、Ｃ３２に記載の方法。
［Ｃ３８］
前記シンタックス要素についての１の値は、前記コーディングユニットを符号化するために色空間変換が使用されることを示す、Ｃ３２に記載の方法。
［Ｃ３９］
前記ビデオデータはビデオデータの第１のセットであり、前記方法は、
ビデオデータの第２のセットについて、
ビデオデータの前記第２のセットのルーマ成分のビット深度とビデオデータの前記第２のセットのクロマ成分のビット深度とを決定することと、
ビデオデータの前記第２のセットの前記ルーマ成分の前記ビット深度がビデオデータの前記第２のセットの前記クロマ成分の前記ビット深度とは異なることに応答して、ビデオデータの前記第２のセットについての色変換を無効化することとをさらに備える、Ｃ３１に記載の方法。
［Ｃ４０］
ビデオデータの前記第２のセットのために前記色空間変換プロセスが無効化されることを示す、ビデオデータの前記第２のセットのピクチャパラメータセットの第２のシンタックス要素を復号することをさらに備える、Ｃ３９に記載の方法。
［Ｃ４１］
前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することが、色空間逆変換プロセスを適用することの前に、前記ルーマ成分と前記クロマ成分の一方または両方の前記ビデオデータに対してビット単位シフト演算を実行することを備える、Ｃ３１に記載の方法。
［Ｃ４２］
ビデオデータを記憶するように構成されたメモリと、
１つまたは複数のプロセッサと
を備えるビデオ復号デバイスであって、前記１つまたは複数のプロセッサは、
前記ビデオデータのルーマ成分のビット深度と前記ビデオデータのクロマ成分のビット深度とを決定することと、
前記ルーマ成分の前記ビット深度が前記クロマ成分の前記ビット深度とは異なることに応答して、前記ビット深度が等しくなるように前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正することと、
前記修正されたビデオデータに色空間逆変換プロセスを適用することと
を行うように構成された、ビデオ復号デバイス。
［Ｃ４３］
前記１つまたは複数のプロセッサは、
ビデオデータのコーディングユニットのシンタックス要素を復号することと、ここにおいて、前記シンタックス要素が、色空間変換を使用して前記コーディングユニットが符号化されたかどうかを示す、
前記シンタックス要素の値が、色空間変換を使用して前記コーディングユニットが符号化されたことを示すかどうかを決定することと、
前記シンタックス要素が、色空間変換を使用して前記コーディングユニットがコーディングされたことを示すと決定することに応答して、前記色空間逆変換プロセスを適用することとを行うようにさらに構成される、Ｃ４２に記載のビデオ復号デバイス。
［Ｃ４４］
前記シンタックス要素が１ビットフラグを備える、Ｃ４３に記載のビデオ復号デバイス。
［Ｃ４５］
前記コーディングユニットがイントラパルス符号変調（ＩＰＣＭ）モード以外のモードでコーディングされ、前記シンタックス要素が、前記ＩＰＣＭモード以外のモードを使用するコーディングユニットについてのみシグナリングされる、Ｃ４３に記載のビデオ復号デバイス。
［Ｃ４６］
前記コーディングユニットの変換ユニット中に非０係数があるときのみ、前記シンタックス要素がシグナリングされる、Ｃ４３に記載のビデオ復号デバイス。
［Ｃ４７］
前記コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測ユニットのルーマ予測モードとクロマ予測モードとが異なるとき、前記シンタックス要素は、色空間変換を使用して前記コーディングユニットが符号化されなかったことを示し、ここにおいて、前記シンタックス要素が、前記ビデオデータを備える受信ビットストリーム中に存在せず、および、ここにおいて、前記シンタックス要素を復号することが、前記シンタックス要素の前記値を推論することを備える、Ｃ４３に記載のビデオ復号デバイス。
［Ｃ４８］
前記コーディングユニットがパレットモードでコーディングされるとき、前記シンタックス要素は、色空間変換を使用して前記コーディングユニットが符号化されなかったことを示し、ここにおいて、前記シンタックス要素が、前記ビデオデータを備える受信ビットストリーム中に存在せず、およびここにおいて、前記シンタックス要素を復号することが、前記シンタックス要素の前記値を推論することを備える、Ｃ４３に記載のビデオ復号デバイス。
［Ｃ４９］
前記シンタックス要素についての１の値は、色空間変換を使用して前記コーディングユニットが符号化されたことを示す、Ｃ４３に記載のビデオ復号デバイス。
［Ｃ５０］
前記ビデオデータがビデオデータの第１のセットであり、ここにおいて、前記１つまたは複数のプロセッサは、
ビデオデータの第２のセットについて、
ビデオデータの前記第２のセットのルーマ成分のビット深度とビデオデータの前記第２のセットのクロマ成分のビット深度とを決定することと、
ビデオデータの前記第２のセットの前記ルーマ成分の前記ビット深度がビデオデータの前記第２のセットの前記クロマ成分の前記ビット深度とは異なることに応答して、ビデオデータの前記第２のセットについての色変換を無効化することとを行うようにさらに構成される、Ｃ４２に記載のビデオ復号デバイス。
［Ｃ５１］
前記１つまたは複数のプロセッサは、
ビデオデータの前記第２のセットのために前記色空間逆変換プロセスが無効化されることを示す、ビデオデータの前記第２のセットのピクチャパラメータセットの第２のシンタックス要素を設定するようにさらに構成される、Ｃ５０に記載のビデオ復号デバイス。
［Ｃ５２］
前記１つまたは複数のプロセッサが前記ルーマ成分の前記ビット深度と前記クロマ成分の前記ビット深度の一方または両方を修正するように構成されることが、前記１つまたは複数のプロセッサが前記色空間逆変換プロセスを適用する前に、前記ルーマ成分と前記クロマ成分の一方または両方の前記ビデオデータに対してビット単位シフト演算を実行するように構成されることを備える、Ｃ４２に記載のビデオ復号デバイス。
【図１】
0006657110.tif 000056
【図２】
0006657110.tif 000057
【図３】
0006657110.tif 000058
【図４】
0006657110.tif 000059
【図５（ａ）】
0006657110.tif 000060
【図５（ｂ）】
0006657110.tif 000061
【図６】
0006657110.tif 000062
【図７】
0006657110.tif 000063
【図８】
0006657110.tif 000064
【図９】
0006657110.tif 000065