RGB、YUV和YCrCb之间的关系

YUV和 YCbCr之间的差

一、和rgb之间换算公式的差异

yuv<-->rgb

Y'= 0.299*R' + 0.587*G' + 0.114*B' [0~255]

U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y') [-111.18~111.18]

V'= 0.615*R' - 0.515*G' - 0.100*B' = 0.877*(R'- Y') [-156.825~156.825]

R' = Y' + 1.140*V'

G' = Y' - 0.394*U' - 0.581*V'

B' = Y' + 2.032*U'

YCbCr<-->rgb

Y’ = 0.257*R' + 0.504*G' + 0.098*B' + 16 [16~235.045]

Cb' = -0.148*R' - 0.291*G' + 0.439*B' + 128 [16.055~239.945]

Cr' = 0.439*R' - 0.368*G' - 0.071*B' + 128 [ 16.055~239.945 ]

R' = 1.164*(Y’-16) + 1.596*(Cr'-128)

G' = 1.164*(Y’-16) - 0.813*(Cr'-128) - 0.392*(Cb'-128)

B' = 1.164*(Y’-16) + 2.017*(Cb'-128)

二、来源上的差异

yuv色彩模型来源于rgb模型,

该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。

应用:basic color model used in analogue color TV broadcasting.

YCbCr模型来源于yuv模型。YCbCr is a scaled and offset version of the YUV color space.

应用:数字视频,ITU-R BT.601 recommendation

ps:

通过上面的比较可以确定,我们在h.264,mpeg等编码标准中用的yuv其实是YCbCr,大家不要被名称搞混淆了。

YUV的格式在存储上有两类布局: Packed和Plannar。Packed的方式就是把相邻几个象素打包起来。比如把水平方向2个象素打包到一个DWORD里。Planner方式则相反。Y分量和UV分量完全分开来保存。

YUY2 是packed方式的。水平方向两个像素打包到一个DWORD,并且UV采样率只有Y的一半,这符合人的视觉特征能有效的压缩数据,具体布局为[Y0, U0,Y1,V0]。 这种格式常见于MPEG1的解码“器”。

YV12 是plannar方式。对于一个MxN大小的视频来说,数据布局为[Y:M x N] [U:M/2 x N/2] [V:M/2 x N/2]. 也就是说UV的采样率在水平和垂直方向上都只有Y的一半。则常见于H.264的解码“器”。

NV12、NV21也都属于plannar方式,叫做YUV420SP、YVU420SP,而前面说的YV12是YUV420P,区别在于NV12、NV21的U、V是交叉放一起的。NV12、NV21这两种方式唯一的差别是U、V的顺序。

NV12

[Y0, Y1]

[Y2, Y3]

[U0, V0]

NV21

[Y0, Y1]

[Y2, Y3]

[V0, U0]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值