YUV和GRB

作者: MonKey_Money | 来源:发表于2020-08-27 21:37 被阅读0次

RGBA

对于一副图像,一般使用整数表示方法来进行描述,比如计算一张1280*720的GRBA_8888的图形的大小,可采用如下方法:

1280*720*4/1024/1024 = 3.516MB.

这也是位图在内存中所占用的大小,所以每一张图像的裸数据都是很大的。
视频是一张一张的图片组成的,如果帧率是60,我们计算一下视频为1小时,视频所占有的内存
3.5166060*60/1024 = 741.65625G,可想而之占用的内存太大,这就出现了YUV颜色编码.

YUV颜色编码

YUV 颜⾊编码采⽤的是 明亮度 和 ⾊度 来指定像素的颜⾊。其中,Y 表示明亮度
(Luminance、Luma),⽽ U 和 V 表示⾊度(Chrominance、Chroma)。⽽⾊
度⼜定义了颜⾊的两个⽅⾯:⾊调和饱和度
和 RGB 表示图像类似,每个像素点都包含 Y、U、V 分量。但是它的 Y 和 UV 分量是可以分离
的,如果没有 UV 分量⼀样可以显示完整的图像,只不过是⿊⽩的。
对于 YUV 图像来说,并不是每个像素点都需要包含了 Y、U、V 三个分量,根据不同的采样格式,可以每个 Y 分量都对应⾃⼰的 UV 分量,也可以⼏个 Y 分量共⽤ UV 分量。

YUV 采样格式 — YUV4 : 4 : 4

YUV 4:4:4 采样,意味着 Y、U、V 三个分量的采样⽐例相同,因此在⽣成的图像⾥,每个像素的三个分量信息完整,都是 8 bit,也就是⼀个字节。这种采样方式和RGB这种方式所占的内存一样大,没有减少内存的使用。

原始像素为[Y0,U0,V0],[Y1,U1,V1],[Y2,U2,V2],[Y3,U3,V3]
经过YUV4 : 4 : 4采样的像素也为[Y0,U0,V0],[Y1,U1,V1],[Y2,U2,V2],[Y3,U3,V3]

YUV 采样格式 — YUV4 : 2 : 2

YUV 4:2:2 采样,意味着 UV 分量是 Y 分量采样的⼀半,Y 分量和 UV 分量按照 2 : 1 的⽐例采样。如果⽔平⽅向有 10 个像素点,那么采样了 10 个 Y 分量,⽽只采样了 5 个 UV 分量。通过YUV4 : 4 : 4每个像素占3个字节,通过YUV4 : 2 : 2,每个像素占2个字节。通过YUV4 : 2 : 2采样格式,还是节省内存的

原始像素为[Y0,U0,V0],[Y1,U1,V1],[Y2,U2,V2],[Y3,U3,V3]
经过YUV4 : 2 : 2采样的像素也为[Y0,U0],[Y1,V1],[Y2,U2],[Y3,V3]
最后还原的像素为[Y0,U0,V1],[Y1,U0,V1],[Y2,U2,V3],[Y3,U2,V3]

YUV 采样格式 — YUV4 : 2 : 0

YUV 4:2:0 采样,并不是指只采样 U 分量⽽不采样 V 分量。⽽是指,在每⼀⾏扫描时,只扫描⼀种⾊度分量(U 或者 V),和 Y 分量按
照 2 : 1 的⽅式采样。⽐如,第⼀⾏扫描时,YU 按照 2 : 1 的⽅式采样,那么第⼆⾏扫描时,YV 分量按照 2:1 的⽅式采样。对于每个⾊
度分量来说,它的⽔平⽅向和竖直⽅向的采样和 Y 分量相⽐都是 2:1 。假设第⼀⾏扫描了 U 分量,第⼆⾏扫描了 V 分量,那么需要扫描两⾏才能够组成完整的 UV 分量,一个像素占1.5字节

原始像素
[Y0,U0,V0],[Y1,U1,V1],[Y2,U2,V2],[Y3,U3,V3]
[Y8,U8,V8],[Y9,U9,V9],[Y10,U10,V10],[Y11,U11,V11]
[Y16,U16,V16],[Y17,U17,V17],[Y18,U18,V18],[Y19,U19,V19]
采样像素为
[Y0,U0],[Y1],[Y2,U2],[Y3]
[Y8,V8],[Y9,],[Y10,V10],[Y11]
[Y16,U16],[Y17,],[Y18,U18],[Y19]
还原的像素为
[Y0,U0,V8],[Y1,U0,V8],[Y2,U2.V10],[Y3,U2,V10]
[Y8,U0,V8],[Y9,,U0,V8],[Y10,U2,V10],[Y11,U2,V10]
[Y16,U16,V8],[Y17,U16,V8,],[Y18,U18,V10],[Y19,U18,V10]

YUV 转化 RGB

R = 1.164*Y + 1.596 * V - 222.9
G = 1.164*Y - 0.392 * U - 0.823 * V+ 135.6
B = 1.164*Y + 2.017 * U- 276.8 

RGB砖YUV

Y = 0.257*R' + 0.504*G' + 0.098*B' + 16
U = -0.148*R' - 0.291*G' + 0.439*B' + 128
V = 0.439*R' - 0.368*G' - 0.071*B' + 128

相关文章

  • YUV和GRB

    RGBA 对于一副图像,一般使用整数表示方法来进行描述,比如计算一张1280*720的GRBA_8888的图形的大...

  • SA645GrB!SA645GrB!SA645GrB美标容器板

    SA645GrB!SA645GrB!SA645GrB美标容器板 一、SA645GrB美标容器板的简介: (1)SA...

  • YUV格式初探

    目录 一、 YUV起源 二、 YUV的类型 三、 YUV的采样和存储格式 四、 YUV的相关Enum 五、 YUV...

  • LibYUV转码裁剪缩放 C++

    32bgra to yuv420转换 yuv420 旋转和镜像 yuv420镜像 yuv保持最大可视范围缩放和裁剪...

  • 舞钢A588GrB钢板

    舞钢A588GrB钢板 A588GrB系舞钢科技部核电所牌号 A588GrB对应中国标准:GB/T1591 A58...

  • A588GrB|高耐候桥梁结构钢板|A588GrB

    A588GrB|高耐候桥梁结构钢板|A588GrB A588GrB、A588GrA、A588GrC制造厂房,一般建...

  • 2020-01-10

    SA645GrA现货_SA645GrB切割SA645GrA价格_SA645GrB5%和5.5%镍合金钢板 SA64...

  • 美标板SA738GrB钢板(中低温用碳锰硅钢板)

    SA738GrB钢板是核电用钢板,是美标容器钢板,因为SA738GrB钢板具有优异的低温冲击性能和高温拉伸性能,所...

  • SA738GrB核电用钢板

    SA738GrB钢板是核电用钢板的美标容器钢板,因为SA738GrB钢板具有优异的低温冲击性能和高温拉伸性能,所以...

  • YUV格式

    【第一部分】YUV描述YUV存储方式有YUV420P(YV12)、YUV420SP(NV12)等。YUV420P和...

网友评论

    本文标题:YUV和GRB

    本文链接:https://www.haomeiwen.com/subject/bkqhsktx.html