视频格式大全
+ -

YUV格式简介

2023-03-20 163 0

在计算机图形学中,使用最常见的就是RGB颜色。
RGB 颜色使用三个值进行编码:红色、绿色和蓝色。 这些值直接对应于可见光谱的部分。 这三个 RGB 值构成数学坐标系,称为 颜色空间。 红色分量定义此坐标系的一个轴,蓝色定义第二个轴,绿色定义第三个轴。 任何有效的 RGB 颜色都位于此颜色空间中的某个位置。 例如,纯洋红为 100% 蓝色、100% 红色和 0% 绿色。
颜色坐标系

YUV由Y分量和两个UV分量组成。

  • Y:称为颜色的亮度值(Luminance or Luma)。
  • U:称为蓝色投影Cb。
  • V:称为红色投影Cr.
    所以UV表示了图像的色度(Chrominance or Chroma)信息,Y称为图像的亮度或者灰度信息。

YUV计算公式

Y变量采用红色、绿色和蓝色分量的加权平均值来计算。其计算公式如下:
BT.601

Y' = 0.299R + 0.587G + 0.114B

上面这公式也反映了不同的颜色对于人眼亮度的敏感程度。蓝色浅色显示为最暗,绿色显示最亮,红色位于两者之间。不过随着数字计算机工艺的发展,经常使用修正过的公式来计算Y分量。

BT.709

Y' = 0.2125R + 0.7154G + 0.0721B

UV分量也称为也称为色度值或颜色差异值,其通过从原始 RGB 颜色的红色和蓝色分量中减去 Y 值来得到。

U = B - Y'
V = R - Y'

可以看到,这里的UV包含的是是蓝色和红色的信息,而绿色的信息则由Y分量分担。
当然这样的计算方法对RGB的信息会有损失,但对于我们眼睛来说,其包含了足够的数据信息,也是足够了。
比如RGB(100,255,110)和RGB(100,252,110),对于人眼来说,可能根本就区分不出区别,这也就是YUV的优势。

YUV的取值范围

使用BT.601的计算方法:

Y' = 0.299R + 0.587G + 0.114B

那么对于 (B - Y’) ,这些值的范围为 +/- 0.886,对于 (R - Y’) ,这些值为 +/- 0.701

为了使其值在相同的取值范围,如尽量在(0~255)之内,需进行缩放。采用的公式如下:

Pb = (0.5 / (1 - 0.114) ) × (B - Y')
Pr = (0.5 / (1 - 0.299) ) × (R - Y')

所以最终的计算公式如下:

Y' = 16 + 219 × Y'
Cb = 128 + 224 × Pb
Cr = 128 + 224 × Pr

所以最终YUV的取值范围就成了:

取值范围
Y 16–235
U/V 16–240, 128 表示零

下表展示了BT.601下各种颜色在RGB和YUV之间的取值

Color R G B Y’ Cb Cr
黑色 0 0 0 16 128 128
红色 255 0 0 81 90 240
绿色 0 255 0 145 54 34
蓝色 0 0 255 41 240 110
青色 0 255 255 170 166 16
洋红色 255 0 255 106 202 222
黄色 255 255 0 210 16 146
白色 255 255 255 235 128 128

YUV参考文档:

https://learn.microsoft.com/en-us/windows/win32/medfound/about-yuv-video

0 篇笔记 写笔记

I420/YU12/YUV420P/IYUV格式详解
I420介绍I420也叫YU12,也叫 IYUV,属于 YUV420P 格式。三个平面,分别存储 Y U V 分量。每四个 Y 分量共享一组 UV 分量。U、V 平面的 strides, width 和 height 都是 Y 平面的一半,因此一个像素 12 bits。I420字节大小4:2:0......
YUV格式简介
在计算机图形学中,使用最常见的就是RGB颜色。RGB 颜色使用三个值进行编码:红色、绿色和蓝色。 这些值直接对应于可见光谱的部分。 这三个 RGB 值构成数学坐标系,称为 颜色空间。 红色分量定义此坐标系的一个轴,蓝色定义第二个轴,绿色定义第三个轴。 任何有效的 RGB 颜色都位于此颜色空间中的某个......
YUV数据格式采样
经常说YUV422,YUV420等,前面的YUV我们知道是什么,后面的数字代表的是什么呢?其实后面的数字每一个代表Y的采样因子,后面2个表示UV在横坐标和竖坐标的采样因子。如以下图:X表示Y,圈代表UV。YUV的采样方式主要包括以下:YUV444 4:4:4:表示4:4:4的采样,表示完全取......
YUV格式分类
前面我们说的是按YUV比例因子分为YUV444,YUV422,YUV420和YUV411这些是按YUV数据的比例做了一个粗的分类,其决字一幅图其数据量的大小。但是这些YUV数据的组成顺序也就是内存排布顺序不同,又衍生了很多不同的格式。YUV按数据组织方式可分为2大类:YUV 的存储格式YUV 的存......
YV12格式详解
YV12(属于 YUV 420 Plannar)YV12 是 YUV 420 Planar 的一种,YUV 分量分别存放.先是 w * h 长度的 Y,后面跟 w/2 * h/2 长度的 V, 最后是 w/2 * h/2 长度的 U,总长度为 w * h * 1.5。与 I420 不同的是,YV......
NV12格式详解
NV12(属于 YUV 420 Semi-Planar) NV12 是 YUV 420 Semi-Planar 的一种,Y 分量单独存放,UV 分量交错存放,UV 在排列的时候,从 U 开始。总长度为 w * h * 1.5。NV12中的12代表每像素平均12位,即1.5个字节。先Y,再UV交替存......
NV21格式详解
NV21(属于 YUV 420 Semi-Planar).NV21 是 YUV 420 Semi-Planar 的一种,Y 分量单独存放,UV 分量交错存放,与 NV12 不同的是,UV 在排列的时候,从 V 开始。总长度为 w * h * 1.5。同样,对于一个6*4的图像,这四种像素格式的存......
I422/YUV422P格式详解
I422(属于 YUV 422 Plannar),又叫YUV422P 格式 I422 是 YUV 422 Planar 的一种,YUV 分量分别存放,先是 w * h 长度的 Y,后面跟 w * h * 0.5 长度的 U, 最后是 w* h * 0.5 长度的 V,总长度为 w * h * 2。......
YV16格式详解
YV16(属于 YUV 422 Plannar)YV16 是 YUV 422 Planar 的一种,YUV 分量分别存放,先是 w * h 长度的 Y,后面跟 w * h * 0.5 长度的 V, 最后是 w * h * 0.5 长度的 U,总长度为 w * h * 2。与 I422 不同的是,YV......
NV16格式详解
NV16(属于 YUV 422 Semi-Planar)NV16 是 YUV 422 Semi-Planar 的一种,Y 分量单独存放,UV 分量交错存放,UV 在排列的时候,从 U 开始。总长度为 w * h * 2。Y Y Y Y Y YY Y Y Y Y YY Y Y Y Y YY Y......
NV61格式详解
NV61(属于 YUV 422 Semi-Planar)NV61 是 YUV 422 Semi-Planar 的一种,Y 分量单独存放,UV 分量交错存放,UV 在排列的时候,从 V 开始。总长度为 w * h * 2。Y Y Y Y Y YY Y Y Y Y YY Y Y Y Y YY ......
YUVY格式详解
UVY(属于 YUV 422 Interleaved) YUVY 属于 YUV 422 Interleaved 的一种。事实上,Interleaved 是属于 Packed 的,但是在 422 中,用 Interleaved 更加形象一些。在 Packed 内部,YUV 的排列顺序是 Y U V Y......
VYUY格式详解
VYUY(属于 YUV 422 Interleaved) VYUY 属于 YUV 422 Interleaved 的一种。在 Packed 内部,YUV 的排列顺序是 VYUY,两个 Y 共用一组 UV。V Y U Y V Y U Y V Y U YV Y U Y V Y U Y ......
UYVY格式详解
UYVY(属于 YUV 422 Interleaved) UYVY 属于 YUV 422 Interleaved 的一种。在 Packed 内部,YUV 的排列顺序是 UYVY,两个 Y 共用一组 UV。U Y V Y U Y V Y U Y V YU Y V Y U Y V Y ......
I444格式详解
I444(属于 YUV 444 Plannar) I444 属于 YUV 444 Plannar 的一种。YUV 分量分别存放,先是 w * h 长度的 Y,后面跟 w * h 长度的 U, 最后是 w * h 长度的 V,总长度为 w * h * 3。Y Y Y Y Y YY Y Y Y Y ......
作者信息
站长漫谈
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!