YCoCg

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

上記のオリジナル画像と、個々のコンポーネント Y、クロミナンス グリーン Cg、クロミナンス オレンジ Co の表現。

歴史と命名

最も初期の文書(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 ]

RGBカラーモデルによる変換

YCoCgカラーモデルの3つの値は、RGBカラーモデルの3つの色値から次のように計算されます。[ 2 ][はいCoCグラム][14121412012141214][RGB]{\displaystyle {\begin{bmatrix}Y\\Co\\Cg\end{bmatrix}}={\begin{bmatrix}{\frac {1}{4}}&{\frac {1}{2}}&{\frac {1}{4}}\\{\frac {1}{2}}&0&-{\frac {1}{2}}\\-{\frac {1}{4}}&{\frac {1}{2}}&-{\frac {1}{4}}\end{bmatrix}}\cdot {\begin{bmatrix}R\\G\\B\end{bmatrix}}

Y の値は0から1の範囲ですが、CoとCgはYCbCrなどの「YCC」カラーモデルで典型的に見られるように、-0.5から0.5の範囲です。例えば、純粋な赤はRGBシステムでは(1, 0, 0)、YCoCgシステムでは( 1/41/2、 − 1/4)。[ 5 ] [ 6 ]しかし、変換行列の係数は単純な2進小数であるため、他のYCC変換よりも計算が容易です。ビット深度nのRGB信号の場合、結果の信号はnビットに丸められるか、この形式でデータを処理する際に通常はn +2ビットになります(ただし、Coの場合はn +1ビットで十分です)。

逆行列は、YCoCg カラー モデルを RGB カラー モデルに変換します。 [RGB][111101111][はいCoCグラム]{\displaystyle {\begin{bmatrix}R\\G\\B\end{bmatrix}}={\begin{bmatrix}1&1&-1\\1&0&1\\1&-1&-1\end{bmatrix}}\cdot {\begin{bmatrix}Y\\Co\\Cg\end{bmatrix}}}

逆変換を実行するには、次のように実装することで、整数値の係数を使用して 2 回の加算と 2 回の減算のみが必要です。

tmp = Y - Cg ; R = tmp + Co ; G = Y + Cg ; B = tmp - Co ;

リフティングベースのYCoCg-R変異

この変換のスケール版は、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 ;
[はいCoCグラム]R[14121410112112][RGB]{\displaystyle {\begin{bmatrix}Y\\Co\\Cg\end{bmatrix}}_{R}={\begin{bmatrix}{\frac {1}{4}}&{\frac {1}{2}}&{\frac {1}{4}}\\1&0&-1\\-{\frac {1}{2}}&1&-{\frac {1}{2}}\end{bmatrix}}\cdot {\begin{bmatrix}R\\G\\B\end{bmatrix}}}

YCoCg-R から RGB への変換は次のようになります。

tmp = Y - Cg / 2 ; G = Cg + tmp ; B = tmp - Co / 2 ; R = B + Co ;
[RGB][11212101211212][はいCoCグラム]R{\displaystyle {\begin{bmatrix}R\\G\\B\end{bmatrix}}={\begin{bmatrix}1&{\frac {1}{2}}&-{\frac {1}{2}}\\1&0&{\frac {1}{2}}\\1&-{\frac {1}{2}}&-{\frac {1}{2}}\end{bmatrix}}\cdot {\begin{bmatrix}Y\\Co\\Cg\end{bmatrix}}_{R}}

(すべての除算は 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 ]

文学

参考文献

  1. ^ 「ディラック仕様」(PDF) BBC p. 136。2015年5月3日時点のオリジナルよりアーカイブ2010年5月4日閲覧。
  2. ^ a b c Henrique MalvarGary Sullivan、「プロフェッショナル拡張機能の変換、スケーリング、および色空間への影響」。Moving Picture Experts GroupVideo Coding Experts Groupの文書JVT-H031、JVT第8回会議、ジュネーブ、2003年5月。
  3. ^ Shijun Sun、「 YCoCg-Rを用いた残差色変換」。Moving Picture Experts GroupおよびVideo Coding Experts Group文書JVT-L014、第12回JVT会議:ワシントン州レドモンド、米国、2004年7月。
  4. ^ Woo-Shik Kim、Dmitry Birinov、Dae-Sung Cho、Hyun Mun Kim(マルチメディアラボ、Samsung AIT)、「 H.264/MPEG-4 AVC FRExtにおけるRGBコーディングの強化」。ビデオコーディング専門家グループ文書VCEG-Z16、第26回VCEG会議:韓国、釜山、2005年4月。
  5. ^ a b「YCoCg: RGB可逆性を備えた色空間」テキサス大学アーリントン校。2010年7月2日時点のオリジナル(ppt)からアーカイブ。 2010年5月2日閲覧
  6. ^ a b Yair Moshe. 「H.264修正:忠実度範囲拡張」(PDF) .イスラエル工科大学テクニオン校信号・画像処理ラボ(SIPL). p. 15. 2014年10月6日時点のオリジナル(pdf)からアーカイブ。 2010年5月2日閲覧
  7. ^ Henrique MalvarGary Sullivan、「 YCoCg-R:RGB可逆性と低ダイナミックレンジを備えた色空間」。Moving Picture Experts GroupVideo Coding Experts Groupの文書JVT-I014、JVT PExt Ad Hoc Group Meeting:ノルウェー、トロンハイム、2003年7月。
  8. ^ a b Malvar, Henrique S.; Sullivan, Gary J.; Srinivasan, Sridhar (2008年8月28日).画像圧縮のためのリフティングベースの可逆カラー変換(PDF) . Optical Engineering + Applications, 2008. p. 707307. doi : 10.1117/12.797091 .
  9. ^ Cary, David. 「ロスレスRGBからY'CbCrへの変換」 . Stack Overflow .
  10. ^ Tilo Strutz、「乗算器なしの可逆カラー変換と画像データ圧縮のための自動選択」( Wayback Machineに2016年2月6日アーカイブ IEEE Transactions on Circuits and Systems for Video Technology、第23巻、第7号、1249~1259頁、2013年7月。
  11. ^ Tilo StrutzとAlexander Leipnitz、「ビット深度の増加なしの可逆カラースペースと適応的選択 」(2016年2月6日アーカイブ、 Wayback Machine IEEE Signal Processing Letters、第22巻、第9号、1269~1273頁、2015年9月。
  12. ^ Shan Liu、Xiaozhong Xu、Shawmin Lei、Kevin Jou(2015年9月)。「スクリーンコンテンツコーディングにおけるHEVC拡張の概要」 p.8。