YUV 和 RGB 是两种不同的颜色空间,用于图像和视频处理。它们的主要区别在于表示颜色的方式和应用场景。
Hi~!欢迎来到碧波空间,平时喜欢用博客记录学习的点滴,欢迎大家前来指正,欢迎欢迎~~
✨✨ 主页:碧波
📚 📚 专栏:音视频![]()
目录
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]。
在进行色彩空间转换时,确保所用的范围和标准一致,以避免色彩失真。