一. 颜色模式
1.RGB
RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
①RGB24:RGB24使用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255。注意在内存中RGB各分量的排列顺序为:BGR BGR BGR…。
②RGB32:RGB32使用32位来表示一个像素,RGB分量各用去8位表示,剩下的8位用作Alpha通道或者不用。(ARGB32就是带Alpha通道的RGB24。)注意在内存中RGB各分量的排列顺序为:BGRA BGRA BGRA…。
2.YUV
Y'UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠。
Y:“Y”表示明亮度(Luminance或Luma),也就是灰阶值。
U/V:“U”和“V”表示的则是色度(Chrominance或Chroma)。
YUV的采样有许多种,常用的有444,422,420。用三个图来直观地表示采集的方式吧,以黑点表示采样该像素点的Y分量,以空心圆圈表示采用该像素点的UV分量。
①YUV 4:4:4采样:每一个Y对应一组UV分量,每个像素占用24位 = 3字节。
②YUV 4:2:2采样:每两个Y共用一组UV分量,每个像素占用16位 = 2字节。
③YUV 4:2:0采样:每四个Y共用一组UV分量,每个像素占用12位 = 1.5字节。
3.HSV
H(色调):用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°;它们的补色是:黄色为60°,青色为180°,品红为300°。
S(饱和度):表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例愈大,颜色接近光谱色的程度就愈高,颜色的饱和度也就愈高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0%~100%,值越大,颜色越饱和。
V(明度):表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)。
二. 视频基础概念
1.帧: 一帧就是一幅静止的画面,连续的帧就形成动画 。
2.帧数:简单地说,就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。高的帧率可以得到更流畅、更逼真的动画。每秒钟帧数 (fps) 愈多,所显示的动作就会愈流畅。
3.刷新率:刷新率以赫兹(Hz)为单位,是指电子束对屏幕上的图像重复扫描的次数。刷新率越高,所显示的图象(画面)稳定性就越好。
4.分辨率:显示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少。
5.码率:数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒,通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件。
6.硬解:硬解是通过GPU(显卡的核心)进行解码,可以解放CPU,在CPU占用率极低的情况下流畅度可以有明显的提升。
7.软解:就是使用CPU解码。
三. 音频基础概念
1.采样率:定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。
2.声道数:单声道的声道数为1个声道;双声道的声道数为2个声道;立体声道的声道数默认为2个声道;立体声道(4声道)的声道数为4个声道。
四. 视频封装格式
格式 | 全名 | 开发商 | 初版年限 | 特点 |
---|---|---|---|---|
MP4 | MP4 | Moving Picture Experts Group,即 MPEG(动态图像专家组) | 1998 | 常用有损压缩格式,通用性强 |
AVI | Audio Video Interleaved(音频视频交错格式) | 微软 | 1992 | 体积大算法简单 |
MOV | QuickTime 影片格式 | Apple | 1991 | 苹果专属格式对很多其他的播放器支持不是很友好 |
WMV | Windows Media Video | 微软 | 2003 | 微软的专业视频格式,兼容性并不是很好 |
FLV | Adobe Flash 网络流媒体格式 | Adobe | 2002 | 被淘汰的早期网络视频格式 |
MKV | Matroska 多媒体容器 | Matroska.org | 2002 | 最有包容性的视频格式,能容纳无限量、多种不同类型编码的视频、音频及字幕流 |
WebM | WebM | 2010 | 谷歌推出的 HTML5 标准的网络视频标准,以MKV容器格式为基础开发 | |
RMVB | RMVB | Real Networks | 1997 | 根据不同的网络传输速率,而制定出不同的压缩比率,从而实现在低速率的网络上进行影像数据实时传送和播放,具有体积小,画质不错的优点。已过时。 |
五. 视频编码格式
1. MPEG:(Moving Picture Experts Group, ISO旗下的组织)
MPEG是Moving Picture Experts Group的简称。这个名字本来的含义是指一个研究视频和音频编码标准的“动态图像专家组”组织,成立于1988年,致力开发视频、音频的压缩编码技术。
版本 | 用途 |
---|---|
MPEG - 1 | VCD |
MPEG - 2 | DVD、数字有线电视信号 |
MPEG - 4(第二部分) | 视频电话、网络传输、广播和媒体存储 |
2. H.26X : ITU-T VCEG(Visual Coding Experts Group,国际电联旗下的标准化组织)制定
版本 | 用于 |
---|---|
H.261 | 老的视频会议和视频电话产品 |
H.262 | DVD、数字有线电视信号(与MPEG共同制定,与MPEG-2完全一致) |
H.263 | 视频会议、视频电话和网络视频 |
H.264 | 高精度视频的录制、压缩和发布格式(与MPEG-4第十部分完全一致),当前主流 |
H.265 | H.264的两倍之压缩率,可支持4K分辨率甚至到超高画质电视,最高分辨率可达到8192×4320(8K分辨率) |
六. 音频编码格式
1.WAV:因其文件扩展名为wav,微软和IBM联合开发的标准,数据本身的格式为PCM或压缩型,属于无损格式。
2.MP3 : MP3是一种音频压缩技术,其全称是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III),简称为MP3。压缩比4:1~10:1之间。
3.AAC:Advanced Audio Coding, 出现于1997年,由Fraunhofer IIS、杜比实验室、AT&T、Sony、Nokia等公司共同开发。AAC压缩比通常为18:1。相比MP3,采用更高效的编码算法,音质更佳,文件更小。
七. 帧间关系
I帧:帧内编码帧(intra picture),采用帧内压缩去掉空间冗余信息。
P帧:前向预测编码帧(predictive-frame),通过将图像序列中前面已经编码帧的时间冗余信息来压缩传输数据量的编码图像。参考前面的I帧或者P帧。
B帧:双向预测内插编码帧(bi-directional interpolated prediction frame),既考虑源图像序列前面的已编码帧,又顾及源图像序列后面的已编码帧之间的冗余信息,来压缩传输数据量的编码图像,也称为双向编码帧。参考前面一个的I帧或者P帧及其后面的一个P帧。
基于上面的定义,我们可以从解码的角度来理解IBP帧。
I帧自身可以通过视频解压算法解压成一行单独的完善的完整视频画面,所以I帧去掉视频帧在空间维度上的冗余信息。
P帧需要参考其前面一个I帧或者P帧来解码成一张完整的视频画面。
B帧则需要参考前一个I帧或者P帧及其后面一个P帧来生成后面一张完整的视频画面,所以P帧与B帧去掉是视频在时间维度上的冗余信息。
DTS:解码的时间戳。
PTS:显示的时间戳。
对于音频来说,DTS和PTS是相同的;对于视频来说,考虑到 I帧、B帧、P帧,所以一般不同。
GOP:两个I帧之间的一组图片,由一个I帧和多个B/P帧组成,是编解码器存取的基本单位。
1.闭合式GOP:闭合式GOP只需要参考本GOP内的图像即可,不需参考前后GOP的数据。这种模式决定了,闭合式GOP的显示顺序总是以I帧开始以P帧结束
2.开放式GOP:开放式GOP中的B帧解码时可能要用到其前一个GOP或后一个GOP的某些帧。码流里面包含B帧的时候才会出现开放式GOP。
八. 视频播放原理