音视频开发—视频相关概念: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 各有优势,具体选择取决于应用需求和具体场景。

相关推荐
LNTON羚通8 小时前
视频共享融合赋能平台LnyonCVS国标视频监控平台包含哪些功能
大数据·网络·人工智能·算法·音视频
山雨楼11 小时前
ExoPlayer架构详解与源码分析(14)——ProgressiveMediaPeriod
android·架构·音视频·源码·exoplayer·media3
Maynor99614 小时前
如何利用GPT-4o生成有趣的梗图
gpt·音视频
aqi0018 小时前
FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt
ffmpeg·音视频·直播·流媒体
陪你去流浪_18 小时前
Vue 使用Audio或AudioContext播放本地音频
前端·vue.js·音视频
TSINGSEE18 小时前
从“钓”到“管”:EasyCVR一体化视频解决方案助力水域安全管理
人工智能·安全·音视频·视频监控·钓鱼·安防监控系统
Likeadust18 小时前
从海上长城到数字防线:视频技术在海域边防现代化中的创新应用
人工智能·音视频·安防监控·视频监控
标贝科技18 小时前
AI视频生成技术爆发 引领虚拟数字人产业新潮流
数据库·人工智能·音视频·人机交互·交互·语音识别·虚拟现实
大象机器人20 小时前
使用myCobot280和OAK-D OpenCV DepthAI摄像头制作一个实时脸部跟踪的手机支架!
人工智能·python·opencv·智能手机·机器人·开源·音视频
Susu_afmx21 小时前
ghost恢复?电脑文件恢复如何操作?电脑数据恢复工具!5款!
windows·深度学习·新媒体运营·电脑·音视频·音频