日記移転先(゜▽゜)

という名前の適当な日記ブログ


| Home | Index | Links | About |

Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

YCbCr⊃RGB


+0.5
↑Cr
+0.5
→Cb

YCbCr⇔RGB辺りの事もメモ。
上はY=0.5でのCbCr面を描いたもの。計算上RGB範囲外の値が出てしまう部分はグレーで表示。
描き分けてみると0.5でもRGBに変換できない部分が意外と広い。

使う計算方法はjpeglibでも使われてる(?)もの。jccolor.c辺り。
http://en.wikipedia.org/wiki/YUV#SDTV_with_BT.601辺りが詳しい。
YCbCrはUMax、VMaxの値に0.5を使って変形する。
RとBのウエイト値とU,V最大値以外の係数は計算で作れる。
他で適当に変換式を探すと小数部分の丸め方が色々だがこれで計算すると実際の値が分かる。
Y = 0.299*R+0.587*G+0.114*B
Cb= -(0.299/0.886/2)*R-(0.587/0.886/2)*G+0.5*B
Cr= 0.5*R-(0.587/0.701/2)*G-(0.114/0.701/2)*B
R = Y+(0.701*2)*Cr =Y+1.402*Cr
G = Y-(0.114*0.886*2/0.587)*Cb-(0.299*0.701*2/0.587)*Cr
B = Y+(0.886*2)*Cb =Y+1.772*Cb

RGB基本色のYCbCr上の位置等は以下。
# RGB YCbCrd
0.000.000.000.000 0.000 0.000 - 0.000(1.000)
0.001.000.000.114 0.500 -0.081 350.7° 0.519
1.000.000.000.299 -0.168 0.500 108.6° 0.606
1.001.000.000.413 0.331 0.418 51.6° (0.606)
0.000.001.000.587 -0.331 -0.418 231.6° 0.793
0.001.001.000.701 0.168 -0.500 288.6° (0.793)
1.000.001.000.886 -0.500 0.081 170.7° (0.519)
1.001.001.001.000 0.000 0.000 - 1.000(0.000)

以下はY値を色々変えたCbCr面.

↑Y=0.0000.0500.1000.1500.2000.2500.300

↑Y=0.3500.4000.4500.5000.5500.6000.650

↑Y=0.7000.7500.8000.8500.9000.9501.000


Y値に基本色のあるCbCr面

↑Y=0.1140.2990.4130.5870.7010.886



図の六角形の外側はYがどの値でもRGB範囲外になる。
上の図で例を挙げると画像左上端(Cr=+0.5,Cb=-0.5)はRGBにすると
 R=1.201(306.26),G=0.315(80.33),B=-0.386(-98.43) となる。(括弧内は×255)

赤や青の単色はCbCr面の端になってるので単色で1.00超はYCbCrの範囲外になる R=256/255,G=0.00,B=0.00→Y=0.30017,Cb=-0.16940,Cr=0.50196


↑CbCr平面を1枚でもっと分かりやすいようにと六角形の頂点でそれぞれのY値になるよう原点から角度と距離でY値等を変化させるように描画。 (手抜き版)
描いてみるといつもの色が強調されてYUV系の説明っぽくない画像に(゜▽゜;



↑角度や距離で…というのは見た目も処理もあまり綺麗でないので計算方法を変えてみた。
CbCr座標で一番彩度の高い色を計算しようとしたのだが…RGB部分の上下端の位置を得る計算を見つけたのでCbCr面の上下から見たRGB空間を見る図ができた。
Y値固定のCbCrの画像で以ってYUV系を説明されるよりこちらのほうが分かりやすいと思うのだが…。

まあこれはこれでRGB空間が正六面体かと誤解されそうになる問題も…(距離は上に書いた表内に有)
Y*Cb、Y*Cr面も描くと以下のように。見ての通り2面しか見えない角度になってる。




↑横から見たYCbCr空間内のRGB空間の回転画像。(要inline svg対応ブラウザ)
#chromeだと透過辺りの描画が怪しい。
これを上から見ると割と綺麗な六角形というのは面白い。
YPbPrがちといびつなのはRGB空間を広く取りたいからかな?



Jpegで使う色の記事書いてるのに画像の色が崩れないように全部png形式だわ...(・ω・ ;)





新規
←管理者にだけ表示する場合チェック



トラックバック用URL:
http://r2089.blog36.fc2.com/tb.php/176-d1f37a28

Appendix

profile

那駕〇

Author:那駕〇

recent entries

アクセスの多い記事

過去の記事


義援金募集

FC2「東北地方太平洋沖地震」義援金募集につきまして

ブロとも申請フォーム

この人とブロともになる

カウンタ

※ここより下の部分に掲示板とかまとめとかいうリンクがあってもそれはfc2blogの広告なので当blog内コンテンツではないです(゜д゜)
....
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。