美文网首页
5. 【视频基础知识】

5. 【视频基础知识】

作者: 东也_ | 来源:发表于2022-04-26 12:32 被阅读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,安卓平台常用

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

相关文章

  • 5. 【视频基础知识】

    视频是由一帧帧的图像组成的 常用关键字解释 RGB 三原色,表示红绿蓝; BGR 颠倒的三原色,有的图像格式使用的...

  • 【FFmpeg】(一) 音视频相关基础知识以及FFmpeg介绍与

    【FFmpeg】(一) 音视频相关基础知识以及FFmpeg介绍 一、音视频相关基础知识 1、视频播放器原理 视频播...

  • 5. 基础知识

    变量的命名规则?使用字母、数字、下划线和$组合在一起的名词,但是不能以数字开头变量命名最好能够表示语义的英文单词多...

  • 音视频开发之旅(30) -音视频基础知识

    目录 视频播放器原理 音频编码基础知识 视频编码基础知识 资料 收获 从这篇开始我们进入ffmpeg系列的学习实践...

  • Opengl ES之YUV数据渲染

    YUV回顾 记得在音视频基础知识介绍中,笔者专门介绍过YUV的相关知识,可以参考:《音视频基础知识-YUV图像》[...

  • 音视频入门文章list

    [总结]FFMPEG视音频编解码零基础学习方法音视频相关基础知识菜鸟也能懂的 - 音视频基础知识音视频编解码知识学...

  • 音视频开发之旅(37) -FFmpeg + OpenGLES 边

    目录 基础知识 使用GLSurfaceView播放边解码边播放视频 遇到的问题 资料 收获 一、基础知识 1.1....

  • 前端基础知识清单

    编程基础知识 1.数据结构 2.算法 3.时间复杂度 4.面向对象和设计模式 5.函数式编程 前端基础知识 一、H...

  • 视频基础知识

    动画:25帧/秒视频:30帧/秒动作:60帧/秒

  • 视频基础知识

    视频 视频采集装置一秒钟会捕捉几十帧数据,动画一般25帧以上,一般视频文件30帧数据,对于捕捉一些清晰动作的甚至要...

网友评论

      本文标题:5. 【视频基础知识】

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