YUV 颜色编码方式 及其 YUV和RGB的区别

YUV 和 RGB 是两种不同的颜色空间,用于图像和视频处理。它们的主要区别在于表示颜色的方式和应用场景。

 Hi~!欢迎来到碧波空间,平时喜欢用博客记录学习的点滴,欢迎大家前来指正,欢迎欢迎~~
✨✨ 主页:碧波
📚 📚 专栏:音视频

目录

YUV采样格式

YUV存储方式

YUV和RGB的区别

颜色表示方式

用途

数据量和压缩

人眼感知

YUV和RGB的转换

YUV采样格式

    YUV的采样有许多种,常用的有YUV444,YUV422,YUV420等。

    YUV 4:4:4采样,一个Y使用一组UV分量。

    YUV 4:2:2采样,两个Y共用一组UV分量。

    YUV 4:2:0采样,四个Y共用一组UV分量。

    YUV利用亮度"Y",色彩“UV”代替RGB三原色来压缩图像。

例YUV与RGB的大小对比:  YUV420

假如一个4x4图像,如果使用RGB来表示,则占用3 * 8 * 4 * 4 = 384bits。

如果使用YUV420来表示,(Y)4 * 4 * 8+(UV)4 * 4 * 8 * 0.5  = 128 + 64  = 192bits。

YUV存储方式

YUV的存储格式有两大类:packed 和 planar。

packed的存储格式 :每个像素点的Y,U,V是连续交错存储的。

YUYV422:Y1 U1 Y2 V1 Y3 U2 Y4 V2 …

planar的存储格式:先连续存储所有像素点的Y,接着存储所有像素点的U,随后是所有像素点的V。

YUV420P:Y1 Y2 Y3 Y4 Y5  Y6 Y7 Y8  U1 U2 V1 V2 ...

semi-planar 存储格式:先连续存储所有像素点的Y,接着交错存储像素点U,V,即UVUVUV

YUV420SP:Y1 Y2 Y3 Y4 Y5  Y6 Y7 Y8  U1 V1 U2 V2 ...

其中 YUV420P 和 YUV420SP根据 U,V的顺序,又可分出2种格式。

YUV420P:

U前V后:YUV420P,也叫I420。 V前U后:叫YV12


YUV420SP:

U前V后叫 NV12,   V前U后叫 NV21

数据排列如下:

I420:YYYYYYYY UU VV

YV12:YYYYYYYY VV UU

NV12:YYYYYYYY UVUV

NV21:YYYYYYYY VUVU

YUV和RGB的区别

颜色表示方式

  • RGB

    • 定义:RGB 颜色空间基于红色(R)、绿色(G)和蓝色(B)三种颜色的组合来表示颜色。每个颜色分量通常由 8 位(0-255)表示,因此每个像素由三个分量组成,总共 24 位。
    • 直观性:直接与显示设备相关,适合显示器和图像编辑。
  • YUV

    • 定义:YUV 颜色空间将颜色信息分为亮度(Y)和两个色度分量(U 和 V)。Y 分量表示亮度信息,U 和 V 分量表示色度信息。
    • 分量
      • Y:亮度分量,表示图像的灰度级别。
      • U:蓝色色度分量,表示蓝色的偏差。
      • V:红色色度分量,表示红色的偏差。

用途

  • RGB

    • 应用:主要用于计算机显示、数字图像处理、摄影等领域。RGB 是显示器的原生颜色模型。
    • 优势:直接表示图像显示的颜色,处理直观,适合图像编辑和设计。
  • YUV

    • 应用:广泛用于视频编解码、广播和传输。YUV 的分离亮度和色度信息的特点使其更适合视频数据的压缩和处理。
    • 优势:通过色度子采样(例如 YUV 4:2:0)来减少数据量,优化存储和传输效率。适合于视频压缩标准,如 MPEG 和 H.264。

数据量和压缩

  • RGB

    • 数据量:每个像素包含三个分量(R、G 和 B),因此数据量较大。
    • 压缩:通常需要较高的带宽,压缩时可能会损失图像质量。
  • YUV

    • 数据量:通过分离亮度和色度,并且可以对色度分量进行子采样(例如 YUV 4:2:0),从而减少数据量。
    • 压缩:更适合进行高效的数据压缩,减少了传输和存储的带宽需求。

人眼感知

  • RGB:人眼对颜色和亮度信息的感知相对直接,但在色彩压缩和视频传输中不如 YUV 处理效率高。

  • YUV:人眼对亮度变化更敏感,而对色度变化的敏感度较低。YUV 通过将亮度和色度分开处理,可以利用这一特性进行更高效的数据压缩。

总结而言,RGB 更适合于显示和图像编辑领域,而 YUV 则在视频处理和压缩中具有优势。这两种颜色空间各有其特定的应用场景和优缺点。

YUV和RGB的转换

RGB 和 YUV 是两种不同的色彩空间,它们在视频处理、图像处理和编码中各有不同的用途。

转换这两种色彩空间时,不同的标准和格式(如 BT.601、BT.709)可能会有细微的公式差别,因此实际应用中应参考相关标准文档。

​除了色彩空间,不同的 YUV 表示形式和范围会影响颜色转换的结果。总结一下:

  • YUV:通常用于模拟视频,Y 的范围是 [0, 1],U 和 V 的范围是 [-0.5, 0.5]。

  • YCbCr数字视频信号的表示            Y->Y   Cb->U    Cr->V

    • TV Range(广播电视标准):Y ∈ [16, 235],Cb 和 Cr ∈ [16, 240]。
    • Full Range(PC 标准):Y, Cb 和 Cr ∈ [0, 255]。

在进行色彩空间转换时,确保所用的范围和标准一致,以避免色彩失真。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

碧 波

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

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

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

打赏作者

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

抵扣说明:

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

余额充值