目录
一、图像基础知识
二、视频基础知识
三、视频编解码
单通道:俗称灰度图,每个像素点只能有一个值表示颜色,它的像素值在0到255之间,0是黑色,255是白色,中间值是一些不同等级的灰色,可以说灰度是黑与白之间的过渡色!注意这个值不是RGB里的任何一个元素,显示设备是直接通过CRT(彩色阴极射线显像管)将单通道里的像素值显示黑白色图像,值越高黑色图越亮,一般灰度值大小不会超过125。
多通道:多通道也就是RGB三原色,每个像素点有三个字节来表示(RGB),分别最大取值范围是0-255,可以组合成千万种颜色。图像处理优势对比:单通道往往应用于图像处理,因为单通道只有一个像素点(一个字节),所以相比多通道三个字节,处理速度上要尤为的快!而且单通道能将图像以灰度形式显示出来,不会影响图像识别,和特征提取!多通道以原图的形式将图像展示出来,所以可以提取特征很多,识别率高。
CMYK也称作印刷色彩模式。它和RGB相比最大不同是,RGB模式是发光的色彩模式,你在一间黑暗的房间内仍然可以看见萤幕上的内容。
CMYK是一种依靠反光的色彩模式,我们能阅读报纸的内容是为什么呢?是因阳光或灯光照射到报纸上,再把内容反射到我们的眼中。CMYK是需要有外界光源的情况下才可以看到的。所以在黑暗房间内是无法阅读的。只要是在印刷品上看到的图像,就是CMYK模式表现的。比如期刊、杂志、报纸、宣传画册等,都是运用了CMYK模式。
CMY是3种印刷油墨名称的首字母:青色Cyan、品红色Magenta、黄色Yellow。而K取的是black最后一个字母,为了避免与蓝色混淆而用K。
RGB三原色起源于上世纪初1809年Thomas Young提出视觉的三原色学说,随后Helmholtz在1824年也提出了三原色学说:即视网膜存在三种视锥细胞,分别含有对红、绿、蓝三种光线敏感的视色素,当一定波长的光线作用于视网膜时,以一定的比例使三种视锥细胞分别产生不同程度的兴奋,这样的信息传至大脑中枢,就产生某一种颜色的感觉。RGB每个元素的取值范围为:0~256(2的8次方)
Y代表亮度值,U和V表示色度,代表了颜色的色调Cr和饱和度Cb。
与RGB不同,其优点是亮度Y和色度UV是相互独立的,占用频宽小。如果只有Y信号,就是黑白彩色图像。
因为人眼对颜色细节的分辨能力远远低于对亮度细节分辨能力,所以可以把几个相邻像素不同颜色值当做相同的颜色值来处理,以减少存储容量,从而压缩数据。按照不同的YCbCr的比率,可以分为YUV420、YUV422、YUV411和YUV444。YUV可以与RGB通过矩阵相互转换。
色调:决定彩色图片更偏向于哪一方(红绿蓝),色调值低时,颜色偏向于红色,色调值较高时,偏向于蓝色。
饱和度:饱和度决定了颜色空间中颜色分量,饱和度越高,说明颜色越深,饱和度越低,说明颜色越浅。
亮度:亮度决定颜色空间中颜色的明暗程度。
H参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别为0/120/240。
纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率,S=0时,只有灰度,相隔120度,互补色分别相差180度。
V表示色彩的明亮程度,范围从0到1,它和光强度之间并没有直接的联系。
HSV模型
位图是由多个像素组成的,当放大位图时,可以看见图像被分成了很多色块(锯齿效果),而且放大的位图属于失真状态。我们平时拍的照片、扫描的图片等都属于位图。
矢量图是通过数学公式计算获得的图像,它最大的特点是无论放大多少倍都不失真,而且文件小、分辨率高,缺点是难以表现色彩层次丰富的逼真图像效果。
码流也叫码率,是视频文件在单位时间内使用的数据流量,是编码器每秒编出的数据大小,控制着视频画面的质量;同等分辨率下,视频文件码流越大,压缩比越小,画面质量越好,所有的编码格式都重视如何使用最低的码流达到最小的失真;码率和取样率最根本的差别就是码率是针对源文件来讲的。
帧率、码流与分辨率之间关系
带宽 / (码流 * 8) = 同时在线人数
文件大小 = 时间×码率/8
一个视频文件的大小为5.86M,播放时长为3分7秒:
1、该文件对应的码流就是
5.86 * 1024 * 1024 * 8 / (3 * 60 + 7) =262872.95657754bps
2、10M独享带宽能支撑的同时在线人数
10* 1024 * 1024 / 262872.95657754 =39.889078498294
3、支撑1000人同时在线的系统最少需要的带宽数为
262872* 1000 / (1024 * 1024) = 250.69427490234M
图像是一个二维的数字信号,是离散的,通过DCT变换得到一个图像的频域信号。DCT变换是二维信号的离散傅里叶变换的实部部分。比如一张8×8的图像信号,通过DCT变换之后,频域也是8×8的信号。同时在频域部分,左上角显示的是低频分量,右下角显示的高频分量。
I帧:关键帧, 关键帧是构成一个帧组(GOP,Group of Picture)的第一个帧,解码时只需要本帧数据就可以完成
P帧:前向预测编码帧。P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面
B帧:B帧:双向预测内插编码帧。B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别。要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累。一般来说,I的压缩率是7(跟JPG图片差不多),P是20,B可以达到50
GOP 指的就是两个I帧之间的间隔
GPU:图形处理器(英语全名:Graphics Processing Unit),专为执行复杂的数学和几何计算而设计的,拥有2D或3D图形加速功能。GPU相比于CPU,更强大的2D、3D图形计算能力,可以让CPU从图形处理的任务中解放出来,执行其他更多的系统任务,这样可以大大提高计算机的整体性能。
视频未经压缩数据量巨大,难以存储和传输,带宽1M表示 10^6bit/s=125kB/s,存储空间1MB表示1MB=1024kB=1024*1024byte=1024*1024*8bit
HVS特点:
视频录制到播放:摄像机(图像传感器)-》预处理(A/D转换)-》预处理(YUV转换等,因为人眼对亮暗的分辨率要比颜色的分辨更精细一些)-》压缩编码-》数据封装及传输-》解码-》图像格式转换-》播放
编解码器产品:
视频存在冗余信息,通过编码降低冗余度,提供传输效率
流程如下:
pts和dts
DTS 与 PTS 的不同:
DTS 主要用户视频的解码,在解码阶段使用。PTS主要用于视频的同步和输出,在 display 的时候使用。在没有 B frame 的时候输出顺序是一样的。
https://www.jianshu.com/p/11155c7e8b09
https://www.cnblogs.com/yongy1030/p/10047296.html
https://www.cnblogs.com/xkfz007/archive/2012/08/12/2613690.html