5. 【视频基础知识】

视频是由一帧帧的图像组成的

常用关键字解释

  • 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,安卓平台常用

上一篇::总纲
下一篇::视频采集实战

你可能感兴趣的:(5. 【视频基础知识】)