1 简介
-
像素:像素是一个图片的基本单位。单位 px 是 picture element 的缩写,所以像素有“图像元素”之意。 -
分辨率:是指图像的大小或尺寸,比如 1920*1080(行周期数*场周期数)。 -
位深:是指在记录数字图像颜色时,计算机实际上是用每个像素所需要的位深来表示的,比如红色、绿色、蓝色的分量用 8bit。 -
帧率:在 1 秒钟时间里传输的图片的帧数,也可以理解为图像处理器每秒中能够刷新的次数,比如 25fps 每秒中有 25 张图片(帧率通常也称为刷新率)。 -
码率:视频文件在单位时间内使用的数据流量,比如 1Mbps。(码率就是通常我们描述速率) -
Stride:指在内存中每行像素的所占的空间大小,目的是为了实现内存对齐,每行像素在内存中所占的空间并不一定是图像的宽度。
2 RGB 格式
3 YUV 格式
3.1 YUV 的编码格式
3.2 YUV 的存储格式
YUV 的存储格式可分为两种:平面格式(Plannr)和紧凑模式(Packed)。
-
平面格式(Plannr):对于 planar 的 YUV 格式,先连续存储所有像素点的 Y,紧接着存储所有像素点的 U,再存储所有像素点的 V,或者是先 V 后 U。
-
紧凑模式(Packed):对于 packed 的 YUV 格式,每个像素点的 Y,U,V 是连续交替存储的。比如 YUV420P,其中 P 表示紧凑,YUV420SP 其中的 SP 表示“半紧凑”。
其中,p 表示逐行采样,i 表示隔行采样。
3.3 YUV 的采样方式
- YUV4:4:4 格式
YUV4:4:4 这种格式占用的空间最大,每个像素都有一个 Y 分量、U 分量、V 分量。YUV4:4:4 大小和 RGB 存储的大小是一样的,为 3 个字节。根据 U 和 V 的顺序不同,又有两种不同的格式。YUV4:4:4每个像素包含一个 Y 分量和一个 UV 分量。
每个像素的占用的空间:
-
单个像素
-
2*2 个像素
- YUV4:2:2 格式
- 2 个像素
- 4*4 个像素
- YUV4:2:0 格式
- 四个像素
- 4*4 个像素
4 RGB与YUV的转换
-
R = Y + 1.403V -
G = Y – 0.344U – 0.714V -
B = Y + 1.770U
-
R = Y + 1.403(V-128) -
G = Y – 0.344(U -128)– 0.714(V-128) -
B = Y + 1.770(U-128)
-
R = 0+ 1.403(0-128) = -179.584 -
G = 0 – 0.344(0 -128)– 0.714(0-128) = 135.424 -
B = 0 + 1.770(0-128) = -226.56