RGB与YUV

什么是YUV

YUV也叫YCbCr模型,是相对于RGB模型的一种广泛使用的颜色表示模型,YUV格式是1938年由一个法国通信工程师M. Georges Valensi发明的。

YUV中的Y表示亮度luminance,UV表示色度chrominance;

 我们知道人眼是个复杂的器官,有许多部分组成,但我们最感兴趣的是视锥细胞和视杆细胞。眼睛有1.2亿个视杆细胞和6百万个视锥细胞。让我们把颜色和亮度放在眼睛的功能部位上。视杆细胞主要负责亮度,而视锥细胞负责颜色,有三种类型的视锥,每个都有不同的颜料,叫做:S-视锥(蓝色),M-视锥(绿色),L-视锥(红色)。既然我们的视杆细胞(亮度)比视锥细胞多很多,一个合理的推断是相比颜色,我们有更好的能力去区分黑暗和光亮。

一旦我们知道我们对亮度(图像中的亮度)更敏感,我们就可以利用它,这样另一种模型被发明出来,能将亮度(光亮)和色度(颜色)分离开,它被称为 YCbCr*,也就是我们熟知的的YUV。

为什么用YUV

YUV主要是解决了两个问题,导致其被广泛运用。

1.YUV 可以完美兼容黑白电视机,黑白电视收到YUV信号时只需要丢掉UV显示Y即可。全球两大主要的电视广播制式(PAL/NTSC)都使用YUV作为信号传输格式。

2.YUV采样可以大大的节约存储空间和传输带宽。并且不会造成太多的信息丢失。如使用YUV420采样相较于RGB可以节约1/2的存储空间。

采样分类

  • 4:4:4表示完全取样。

  • 4:2:2表示2:1的水平取样,垂直完全采样。

  • 4:2:0表示2:1的水平取样,垂直2:1采样。

  • 4:1:1表示4:1的水平取样,垂直完全采样。

未采样前:

第一行四个像素为:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]  

第二行四个像素为:[Y4 U4 V4] [Y5 U5 V5] [Y6 U6 V6] [Y7 U7 V7]  

4:2:0 采样

它指得是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。

相邻的扫描行存储不同的色度分量, 也就是说,如果一行是4:2:0的话,下一行就是4:0:2

第一行采样像素为:[Y0 U0     ] [Y1           ] [Y2 U2      ] [Y3           ]  

第二行采样像素为:[Y4      V4] [Y5           ] [Y6       V6] [Y7           ]  

映射的像素:             [Y0 U0 V4] [Y1 U0 V4] [Y2 U2 V6] [Y3 U2 V6]                              

                                [Y4 U0 V4] [Y5 U0 V4] [Y6 U2 V6] [Y7 U2 V6]

4:1:1 采样

在水平方向上对色度进行4:1抽样

第一行采样像素为:[Y0 U0     ] [Y1           ] [Y2       V2 [Y3           ]  

映射的像素:             [Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]

存储格式

YUV 在存储上通常分为平面格式(Planar),半平面格式(Semi-Planar)以及打包格式(Packed)。

平面格式

平面格式有时也称为三面格式(Triplanar),即 Y, U, V 三个分量各自使用单独的数组保存,这种三平面分离的格式比较方便视频编码。

半平面格式

半平面格式有两个平面而不是三个,一个平面用于亮度,一个平面用于两个色度分量。它们有时也被称为双平面格式。

打包格式

在打包格式中,通常只有一个平面,所有亮度和色度数据交错。这类似于 RGB 像素格式,只是使用不同的颜色空间。

打包格式在网络摄像头中非常流行。在硬件中,使用单独的平面效率低下:每个像素需要多次内存访问。打包格式更容易,因此使用起来更便宜。

另一方面,数据包格式通常无法处理垂直子采样。否则,扫描线将具有不同的大小。因此,通常,打包格式是水平子采样的,尤其是 2 倍(即 YUV 4:2:2)。

存储格式采样形式格式名称格式说明第一平面第二平面第三平面
PlanarYUV 4:2:0I420/YU2

12bits per Pixel

3planars

YYYY...U...V...
PlanarYUV 4:2:0J420于I420存储相同,但具有完整范围(0-255,full range)的亮度(Y)分量,而不是有限范围(16-240,limited range,在 iOS 上也叫做 video range)YYYY...U...V...
PlanarYUV 4:2:0YV12改变UV存储顺序YYYY...V...U...
PlanarYUV 4:2:0IMC1

16 Bits per Pixel

3 Planars

YYYY...V...U...
PlanarYUV 4:2:0IMC3

16 Bits per Pixel

3 Planars

YYYY...U...V...
PlanarYUV 4:2:2I422

16 Bits per Pixel

3 Planars

YYYY...UU...VV...
PlanarYUV 4:2:2J422与I422相同,但具有完整范围(0-255,full range)的亮度(Y)分量,而不是有限范围(16-240,limited range,在 iOS 上也叫做 video range)YYYY...UU...VV...
PlanarYUV 4:4:4I444

24 Bits per Pixel

3 Planars

YYYY...UUUU...VVVV...
Semi-PlanarYUV 4:2:0NV12

12 Bits per Pixel

2 Planars

YYYY...UV...
Semi-PlanarYUV 4:2:0NV21

12 Bits per Pixel

2 Planars

YYYY...VU...
PackedYUV 4:2:2YUYV (V422 / YUY2 / YUNV)

16 Bits per Pixel

1 Planars

YUYV YUYV YUYV ...
PackedYUV 4:2:2YVYU

16 Bits per Pixel

1 Planars

YVYU YVYU YVYU ...
PackedYUV 4:2:2UYVY(Y422 / UYNV)

16 Bits per Pixel

1 Planars

UYVY UVUY UVUY ...
PackedYUV 4:4:4AYUV

24 Bits per Pixel

1 Planars

A 指 alpha 通道

VUYA VYUA VYUA ...

1.为什么系数有变化?

由RGB计算YUV的系数有非常多种版本:BT601、BT709、BT2020、甚至PAL、NTSC等,都规定了不同版本的加权系数,上表只标明了BT601和BT709的。

2.YUV和YCbCr什么关系?
以前YUV特指模拟信号,YCbCr特指数字信号;但现在说法已经没有那么严格,基本可以等同了

3.为什么Y的取值范围是16~235?
为了规避吉布斯现象。YUV的取值范围有以下两种,适用于不同的传输方式:

Studio swing/TV levels:用于电视广播传输,Y的范围是16~235,UV范围是16~240。传输时由于频域可能丢失或截断,接收端的空域像素值会失真,出现吉布斯现象。失真与原始空域信号的最大差值为8.9%,因此传输端将有效信号值限制在一定范围内,避免接受端产生小于0或大于255的无效值。 注:(255-235)/(235-16)=9.1%,16/(235-16)=7.3%

转换

RGB 与 YUV 转换

4:2:0与4:2:2转换

最简单的方式:
YUV4:2:2 —> YUV4:2:0 Y不变,将U和V信号值在行(垂直方向)在进行一次隔行抽样。
YUV4:2:0 —> YUV4:2:2 Y不变,将U和V信号值的每一行分别拷贝一份形成连续两行数据。

(5条消息) 详解 YUV 格式(I420/YUV420/NV12/NV12/YUV422)_yuv格式_2012newborn的博客-CSDN博客

图文详解YUV420 数据格式 | Technology Blog (markrepo.github.io)

(2条消息) RGB与YUV的来源_有了rgb ,为何引入yuv__沥川往事的博客-CSDN博客

图文详解YUV420 数据格式 | Technology Blog (markrepo.github.io)

(4条消息) YUV RGB 相互转换矩阵_yuv与rgb的转换矩阵_xhh-cy的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

破浪征程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值