5. 【视频基础知识】
2022-04-26 本文已影响0人
东也_
视频是由一帧帧的图像组成的
常用关键字解释
- RGB 三原色,表示红绿蓝;
- BGR 颠倒的三原色,有的图像格式使用的是BGR表示的,如BMP;
- PPI 表示每英寸的像素的个数,像素点越多,显示越细腻,当PPI > 300的时候就达到了视网膜级别,人眼就分辨不出像素点了;
- DPI 表示每英寸的点数个数,每个点又包含了多个像素;
1. 图像
- 图像是由很多个像素组成的;
- 每个像素由RGB表示的;
- 图像的分辨率是指,该图像是由多少个像素点组成的;
- 像素的位深通常是RGB每个颜色占8位,也就是24位表示一个像素。也有RGBA32位表示,最后的A是透明度;
2. 屏幕显示器
- 屏幕是显示设备,将图像数据通过驱动程序让屏幕显示图像
3. 码流
- 分辨率
用水平轴上的像素个数 乘以 垂直轴上的像素个数表示
常见的宽高比是16:9,以前的老电视机都是4:3;
常见的分辨率有:360p/720p/1k/2k 如:720p = 1280pixels * 720pixels;
分辨率越高,显示的就越清楚 - 帧率
每秒钟采集或播放的图像个数
动画的帧率是25帧,常用的帧率有15 30 60,分辨率越高播放看起来就会越丝滑; - 1秒钟的码流大小 = 分辨率(宽 * 高) * RGB(3字节) * 帧率;
4. YUV
- 它也是图像的一种格式,手机常用的是RGB格式,电视的图像是YUV格式;
- 为了兼容以前的格式,在采集和编码的时候还是使用YUV,而且YUV存储的数据要比RGB小一半。在显示到屏幕上的时候再转成RGB格式;
- 是电视系统发展而来,Y表示明亮度,在黑白电视上就可以进行播放,UV是描述影像的色彩和饱和度,
- U分量也叫Cb分量,蓝色部分偏多;
- V分量Cr分量,红色部分偏多;
- RGB转YUV的公式:
Y = 0.299 * R + 0.587 * G + 0.114 * B;
U = (-0.147) * R - 0.289 * G + 0.436 * B;
V = 0.615 * R - 0.515 * G - 0.100 * B; - YUV转RGB的公式:
R = Y + 1.140 * V
G = Y - 0.394 * U - 0.581 * V
B = Y + 2.032 * U -
主要的采样格式有:YUV4:2:0、YUV4:2:2 、YUV4:4:4。最常用的是第一个;
YUV4:4:4的分布如下,每一张图像的YUV大小 = 分辨率的宽 * 分辨率的高 * 3B,每一行的YUV所占用的比例就是4:4:4;
4:4:4
YUV4:2:2的分布如下,每一张图像的YUV大小 = 分辨率的宽 * 分辨率的高 * 2B,每一行YUV的比例就是4:2:2;
4:2:2
YUV4:2:0的分布如下,每一张图像的YUV大小 = 分辨率的宽 * 分辨率的高 * 1.5B,每一行YUV的比例就是4:2:0,它是每膈一行,UV分量交替缺失,如第一行YUV的比例是4:2:0,下一行就是4:0:2,再下一行就是4:2:0,依此往复;
4:2:0
YUV更多参考资料
5. YUV4:2:0的存储格式
-
格式1:分层存储,最常用格式,将Y层和UV层分开,方便兼容黑白电视。下图的对应关系就是:Y1Y2U1、Y3Y4U2、Y5Y6U3、Y7Y8V1、Y9Y10V2、Y11Y12V3;
存储格式
- 格式2:plannar平面存储
I420 : YYYYYYYY UU VV => YUV420p
YU12: YYYYYYYY VV UU => YUV420p,iOS平台使用此方式存储 - 格式3:打包存储
NV12:YYYYYYYY UVUV => YUV420sp
NV21:YYYYYYYY VUVU => YUV420sp,安卓平台常用