音视频开发—视频相关概念:YUV与RGB

文章目录

YUV相关概念

YUV 是一种颜色编码格式,用于视频和图像处理。它与 RGB(红、绿、蓝)颜色模型不同,将颜色信息分为亮度(Y)和色度(U 和 V)分量。YUV 格式主要用于模拟视频和数字视频系统。

组成部分

  1. Y(亮度)

    • 代表图像的明暗信息。
    • 不包含颜色信息,仅表示图像的亮度。
  2. U 和 V(色度)

    • U(蓝色色度)和 V(红色色度)代表颜色信息。
    • 这些分量描述颜色的饱和度和色调。

优点

  • 带宽效率:通过分离亮度和色度分量,可以在压缩视频时减少带宽需求,因为人眼对亮度的变化比对色度的变化更敏感。
  • 兼容性:YUV 格式与黑白电视兼容,因为黑白电视只读取亮度信息。

常见的 YUV 格式

  • YUV 4:4:4:每个像素都有完整的亮度和色度信息。

  • YUV 4:2:2 :色度分量的水平分辨率是亮度分量的一半。

  • YUV 4:2:0:色度分量的水平和垂直分辨率都是亮度分量的一半。

    4:2:0 表示在一个 2x2 的像素块中,亮度(Y)分量有 4 个样本,而色度(U 和 V)分量各有 1 个样本。这意味着色度信息的水平和垂直分辨率都是亮度分辨率的一半。

YUV 格式广泛应用于视频压缩、电视广播和各种视频处理任务中。

RGB 和 YUV 是两种不同的颜色编码方式,各有其特定的应用场景和优缺点。它们之间的关系可以通过颜色空间转换来理解。

数据量的计算

YUV = Y*1.5

在 YUV 4:2:0 采样格式下,YUV 数据量是亮度(Y)数据量的 1.5 倍。这是因为:

  1. 亮度数据:每个像素都有一个 Y 分量。
  2. 色度数据:每 4 个像素共享 1 个 U 分量和 1 个 V 分量(在一个 2x2 像素块中)。

假设一个图像有 N 个像素:

  • 亮度(Y)数据量:N 个样本。
  • 色度(U 和 V)数据量:每个色度分量有 N/4 个样本,因此两个色度分量共计 N/2 个样本。

总的数据量 = Y 数据量 + U 数据量 + V 数据量 = N + N/4 + N/4 = N + N/2 = 1.5N

因此,YUV 数据量是亮度(Y)数据量的 1.5 倍。

YUV = RGB / 2

这个表达式表明,在数据量上,YUV 4:2:0 格式比 RGB 格式节省一半的数据量。这是因为:

  • RGB 格式:每个像素有 3 个分量(R、G、B),总数据量是 3N(N 是像素数)。
  • YUV 4:2:0 格式:总数据量是 1.5N(如上所述)。

将 YUV 数据量与 RGB 数据量比较:YUV = RGB / 2

这意味着 YUV 4:2:0 格式的数据量是 RGB 格式数据量的一半。

这两个表达式说明了 YUV 4:2:0 在视频压缩中的优势,即通过减少色度数据量,显著降低了总数据量,而不显著影响视觉质量。

YUV4:2:0 存储格式

是安装分层存储的,先按照Y分量存储,最后读取UV相关的,兼容性比较好,黑白电视直接读取,前四行即可。YUV的关系为 4个Y 对应一个U 一个V

平面模式(planar):
  1. Y 平面:首先存储所有像素的亮度数据(Y 分量)。
  2. U 平面:接着存储所有像素的色度数据(U 分量),每个色度值对应 2x2 像素块。
  3. V 平面:最后存储所有像素的色度数据(V 分量),每个色度值对应 2x2 像素块。

假设图像尺寸为 W×H,则:

  • Y 平面大小:W×H
  • U 平面大小:W/2×H/2
  • V 平面大小:W/2×H/2

总数据量为:W×H + (W×H)/4 + (W×H)/4 = W×H × 1.5

I420 : YYYYYYYY UU VV ------------>YUV420P

YV12: YYYYYYYY VV UU------------>YUV420P

打包模式(packed)

在某些情况下,色度分量 U 和 V 可以交织存储,以减少存取操作的复杂性。

在这种模式下,U 和 V 的存储大小与平面模式相同,但存储顺序不同。

常见的格式有NV12 和NV21

NV12: YYYYYYYY UVUV ---------->YUV420SP

NV21: YYYYYYYY VUVU ---------->YUV420SP

RGB 和 YUV 的定义

  • RGB(红、绿、蓝):

    • 一种加色法颜色模型,通过混合红色、绿色和蓝色光来创建各种颜色。
    • 常用于显示器、相机和其他捕获设备。
  • YUV(亮度、色度 - U 和 V):

    • 将颜色信息分为亮度(Y)和两个色度分量(U 和 V)。
    • 主要用于视频压缩和传输。

关系与转换

RGB 到 YUV 的转换

RGB 转 YUV 可以通过以下数学公式实现:

Y = 0.299R + 0.587G + 0.114B

U = 0.492 (B - Y)

V = 0.877 (R - Y)

这些公式表示如何从 RGB 值计算 YUV 值。

YUV 到 RGB 的转换

从 YUV 转回 RGB 可以通过以下公式:

R = Y + 1.140V

G = Y - 0.395U - 0.581V

B = Y + 2.032U

使用场景

  • RGB:用于需要精确颜色表示的应用,如计算机图形学、图像编辑和显示设备。
  • YUV:用于视频压缩和传输,因其更有效的带宽利用和与模拟电视的兼容性。

优缺点

  • RGB

    • 优点:直观,易于理解和操作。
    • 缺点:不适合视频压缩,带宽需求较高。
  • YUV

    • 优点:更适合视频压缩,带宽效率高,兼容性好。
    • 缺点:需要转换过程,色彩操作较复杂。

总的来说,RGB 和 YUV 各有优势,具体选择取决于应用需求和具体场景。

相关推荐
一条数据库19 小时前
南京方言数据集|300小时高质量自然对话音频|专业录音棚采集|方言语音识别模型训练|情感计算研究|方言保护文化遗产数字化|语音情感识别|方言对话系统开发
人工智能·音视频·语音识别
therese_100861 天前
音视频demo
音视频
~远在太平洋~1 天前
Debian 系统上安装与配置 MediaMTX
音视频
杨天天.2 天前
小程序原生实现音频播放器,下一首上一首切换,拖动进度条等功能
前端·javascript·小程序·音视频
面向星辰2 天前
html音视频和超链接标签,颜色标签
前端·html·音视频
SXJR2 天前
Java mp4parser 实现视频mp4 切割
java·python·音视频
却道天凉_好个秋2 天前
音视频学习(六十三):AVCC和HVCC
音视频·h264·h265·avcc·hvcc
victory04312 天前
疾病语音数据集 WAV格式音频
深度学习·音视频
电商API_180079052472 天前
淘宝商品视频批量自动化获取的常见渠道分享
java·爬虫·自动化·网络爬虫·音视频