音视频基础之图像表示

一:图像基础概念

  1. 像素:像素是一个图片的基本单位,pix是英语单词picture的缩写,加上英语单词“元素element”,即得到“pixel”。简称px,所以“像素”有“图像元素”之意。
    如下图500万像素照片,即2500x2000的照片就是指横向2500个像素点,纵向2000个像素点。
    在这里插入图片描述

2.分辨率:图像(或视频)的分辨率是指图像的大小或尺寸,我们通常用像素表示图像的尺寸,例如2500 x 2000的照片就是指横向(宽)有2500个像素点,竖向(高)有2000个像素点

3.不同分辨率之间的区别
常说的1080和720其实是指垂直像素数,分辨率除去垂直像素,还需要考虑到水平像素。按照16:9(宽:高)的比例计算,720p的水平像素数为720/916=1280。
注意:像素越多视频越清晰,所以1080p比720p的视频更加清晰。图像的分辨率越高,图像就越清晰。
如下图:
在这里插入图片描述
4.位深
我们看到的彩色图片,都有三个通道,分别为红(R),绿(G),蓝(B)通道,如果需要透明度则还有alpha分量。通常每个通道用8bit表示,8bit能表示256种颜色,所以可以组成256
256*256=16,777,216中颜色。这里的8bit就是讲的位深

5.帧率
帧率即fps(每秒有多少种画面),玩游戏时,fps帧率越高就代表游戏画面越流畅,越低代表卡顿,视频道理一样。由于视觉图像在视网膜的暂时停留,一般图像帧率达到24帧,就可以认为图像是连续的

注意:电影一般24fps
电视剧一般25fps
监控行业一般25fps
音视频通话一般15fps

6.码率
▀ 视频文件在单位时间内使用的数据流量。比如1Mbps
▀ 大多数情况下码率越高,分辨率越高,也就越清晰。但模糊的视频文件(码率)也可以很大,分辨率小的视频文件可能也比分辨率大的视频文件清晰。
▀ 对于同一个原始图像源,同样的编码算法,则码率越高,图像的失真就会越小,视频画面就会越清晰。

二:RGB,YUV深入讲解

◼ RGB:红R、绿G、蓝B三基色。
◼ YUV:“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表
示的则是色度(Chrominance或Chroma)。
1.RGB
我们前面已经讲过RGB色彩表示,这里我们重点讲RGB的排列。通常的图像像素是按RGB顺序进行排列,但有些图像处理要转成其他顺序,比OpenCV经常转成BGR的排列方式。
注意:如下图:
在这里插入图片描述
上图的AV_PIX_FMT_RGB24指一个像素点占3B空间,分别是R8位,G8位,和B8位。
而AV_PIX_FMT_ARGB指一个像素点占4B空间,分别是alpha位8位,R8位,G8位和B8位。

2.YUV
(1)概念:◼ 与我们熟知RGB类似,YUV也是一种颜色编码方法,它是指将亮度参量(Y:Luminance
或Luma)和色度参量(UV:Chrominance或Chroma)分开进行表示的像素编码格式。
◼ 这样分开的好处就是不但可以避免相互干扰,没有UV信息一样可以显示完整的图像,
因而解决了彩色电视与黑白电视的兼容问题;还可以降低色度的采样率而不会对图像
质量影响太大,降低了视屏信号传输时对频宽(带宽)的要求。
◼ Y Y共用一组UV分量

**注意:**◼ YUV是一个比较笼统地说法,针对它的具体排列方式,可以分为很多种具体的格式:
◼ 打包(packed)格式:将每个像素点的Y、U、V分量交叉排列并以像素点为单元连续的存放在同一数组中,通常几个相邻的像素组成一个宏像素(macro-pixel)
◼ 平面(planar)格式:使用三个数组分开连续的存放Y、U、V三个分量,即Y、U、V分别存放在各自的数组中
在这里插入图片描述
(2)YUV采样表示法
◼ YUV采用A:B:C表示法来描述Y,U,V采样频率比例,下图中黑点表示采样像素点Y分量,空心圆表示采样像素点的UV分量。主要分为 YUV 4:4:4、YUV 4:2:2、YUV 4:2:0 这几种常用的类型
在这里插入图片描述
◼ 4:4:4 表示色度频道没有下采样,即一个Y分量对应着一个U分量和一个V分量。
◼ 4:2:2 表示 2:1 的水平下采样,没有垂直下采样,即每两个Y分量共用一个U分量和一个V分量。
◼ 4:2:0 表示 2:1 的水平下采样,2:1 的垂直下采样,即每四个Y分量共用一个U分量和一个V分量。

(3)YUV数据存储
◼ 下面以每个分量数据存储在一个char(或byte)中为例描述YUV的数据存储方式。

  1. 4:4:4格式
  2. 4:2:2格式
  3. 4:2:0格式

1.4:4:4格式
◼ 比如I444(YUV444P)格式, 对应Ffmpeg像素表示AV_PIX_FMT_YUV444P, ///< planar YUV
4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
在这里插入图片描述
◼ 比如I422(YUV422P)格式
◼ 对应Ffmpeg像素表示AV_PIX_FMT_YUV422P, ///< planar YUV 4:2:2, 16bpp, (1 Cr
& Cb sample per 2x1 Y samples)
◼ 该类型为planar格式

2.4:2:2格式
◼ 比如I422(YUV422P)格式
◼ 对应Ffmpeg像素表示AV_PIX_FMT_YUV422P, ///< planar YUV 4:2:2, 16bpp, (1 Cr
& Cb sample per 2x1 Y samples)
◼ 该类型为planar格式
在这里插入图片描述
3.4:2:0格式–YUV420P
◼ 比如I420(YUV420P)格式
◼ 对应Ffmpeg像素表示AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr
& Cb sample per 2x2 Y samples)
◼ 该类型为planar格式
◼ (4+1+1)/4 = 1.5字节
在这里插入图片描述
4.4:2:0格式–NV12
◼ 比如NV12格式
◼ 对应Ffmpeg像素表示AV_PIX_FMT_NV12, ///< planar YUV 4:2:0, 12bpp, 1 plane
for Y and 1 plane for the UV components, which are interleaved (first byte U and
the following byte V)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43907175/article/details/129119990