YCoCgカラー モデル( YCgCoカラー モデルとも呼ばれる) は、関連するRGBカラー スペースを輝度値 (Y) とオレンジ色クロミナンス(Co) および緑色クロミナンス(Cg)と呼ばれる 2 つの彩度値に単純に変換して形成されるカラー スペースです。H.264 /MPEG-4 AVC、HEVC、VVC、JPEG XR、Diracなどのビデオおよび画像圧縮設計でサポートされています。[ 1 ]計算が簡単で、変換コーディング ゲインが良好であり、他のカラー モデルで必要なビット数よりも少ないビット数で RGB との間でロスレス変換できます。これらの設計のほとんどでは、さらに低いビット深度の可逆的なスケーリング バージョンであるYCoCg-Rもサポートされており、ディスプレイ ストリーム圧縮でも使用されています。Y および彩度値の可変ビット深度に関するより完全な定義は、ITU-T H.273で提供されています。

最も初期の文書(2003年頃)では、このカラーモデルはYCoCgと呼ばれていました。[ 2 ] [ 3 ]このカラーモデルは、主にYCbCrカラーモデルを使用するように設計されたH.264/AVC(第2版プロフェッショナル拡張プロジェクト[ 4 ])で初めて国際標準規格に採用されました。採用時に、Co成分が赤への偏りを持ち、CbよりもCrに近いことが指摘されたため、標準規格では信号の割り当てと命名が変更され、結果としてYCgCoという別名が生まれました(YCgCoはITU-T H.273で使用されています)。
YCoCgカラーモデルは、YCbCrと比較していくつかの利点があります。2で割る単純な係数を使用するため、計算速度がはるかに高速です。さらに、YCoCgは色平面の相関関係がより良好で、圧縮性能が向上します。また、完全にロスレスで可逆変換可能です。[ 5 ] [ 6 ]
YCoCgカラーモデルの3つの値は、RGBカラーモデルの3つの色値から次のように計算されます。[ 2 ]
Y の値は0から1の範囲ですが、CoとCgはYCbCrなどの「YCC」カラーモデルで典型的に見られるように、-0.5から0.5の範囲です。例えば、純粋な赤はRGBシステムでは(1, 0, 0)、YCoCgシステムでは( 1/4、1/2、 − 1/4)。[ 5 ] [ 6 ]しかし、変換行列の係数は単純な2進小数であるため、他のYCC変換よりも計算が容易です。ビット深度nのRGB信号の場合、結果の信号はnビットに丸められるか、この形式でデータを処理する際に通常はn +2ビットになります(ただし、Coの場合はn +1ビットで十分です)。
逆行列は、YCoCg カラー モデルを RGB カラー モデルに変換します。
逆変換を実行するには、次のように実装することで、整数値の係数を使用して 2 回の加算と 2 回の減算のみが必要です。
tmp = Y - Cg ; R = tmp + Co ; G = Y + Cg ; B = tmp - Co ;この変換のスケール版は、YCoCg-R("-R"は可逆性を意味する)と呼ばれることもあり、[ 7 ]、ビット深度を低くすることで効率的に実装できる。スケール版では、リフティングスキームを用いて、3つの色成分のビット深度を最小限に抑えながら、正確に可逆性を実現する。ビット深度がnのRGB信号の場合、YCoCg-Rを用いた場合のY信号のビット深度はn、CoとCgのビット深度はn +1となる。これは、通常のYCoCgではYとCgにn +2ビット、 Coにn +1ビットが必要となるのとは対照的である。 [ 8 ]
ここで、Y の可能な値は依然として [0, 1] 内ですが、Co と Cg の可能な値は [-1, 1] 内になります。
RGB から YCoCg-R への変換は次のとおりです。
Co = R - B ; tmp = B + Co / 2 ; Cg = G - tmp ; Y = tmp + Cg / 2 ;YCoCg-R から RGB への変換は次のようになります。
tmp = Y - Cg / 2 ; G = Cg + tmp ; B = tmp - Co / 2 ; R = B + Co ;(すべての除算は C と同様に切り捨てられます。順方向変換を適用して、YCoCg の同様の実装を生成することができます。)
モジュロ演算を使用して3つの要素すべてを3nビットにパックすることも可能です。[ 9 ]しかし、ラップアラウンドで生じる不連続性により、後続の圧縮段階で混乱が生じる可能性があります。[ 10 ] [ 11 ]
HEVC(H.265)規格およびVVC(H.266)規格のスクリーンコンテンツコーディング(SCC)拡張には、残差符号化プロセス内に適応型カラー変換が含まれており、これはRGBビデオの符号化をYCoCg-R領域に切り替えることに対応しています。HEVC-SCCでRGBビデオをエンコードするためにYCoCg色空間を使用した場合、非可逆符号化では大きな(約20%)符号化ゲインが得られましたが、YCoCg-Rを使用してロスレス符号化した場合はわずかなゲインしか得られませんでした。[ 12 ]
可逆変種では4.21 dBの符号化ゲインが得られるが、BT.470カラーマトリックスでは3.54 dB、JPEG 2000可逆カラー変換では3.98 dBである。[ 8 ] [ 2 ]