视频基础概念
好文章,来自【福优学苑@音视频+流媒体】
小白入门
1. 什么是图像?什么是视频?
图像:
是人对视觉感知的物质再现。三维自然场景的对象包括:深度,纹理和亮度信息。
二维图像:纹理和亮度信息。
视频:
连续的图像。视频由多幅图像构成,包含对象的运动信息,又称为运动图像。
2. 何为数字视频?
数字视频可以理解为自然场景空间和时间的数字采样表示。
空间采样的主要技术指标为:解析度(Resolution)
时间采样的主要技术指标为:帧率(帧/秒)
3. 数字视频系统的构成和运行原理
采集:照相机,摄像机。
处理:编解码器,传输设备
显示:显示器。
4. 人类视觉系统HVS
HVS的构成:
眼睛
神经
大脑
HVS特点:
对高频信息不敏感
对高对比度更敏感
对亮度信息比色度信息更敏感
对运动的信息更敏感
下文再详细讲解。
针对HVS的特点,数字视频系统的设计应该考虑哪些因素?
丢弃高频信息,只编码低频信息
提高边缘信息的主观质量
降低色度的解析度
对感兴趣区域(Region of Interesting,ROI)进行特殊处理
5. 什么是RGB色彩空间?
三原色分别是红(R),绿(G),蓝(B)。任何颜色都可以通过按一定比例混合三原色产生。
RGB色度空间:
由RGB三原色组成
广泛用于BMP,TIFF,PPM等
每个色度成分通常用8bit表示[0,255]
6. 什么是YUV色彩空间?
YUV色彩空间是指,Y:亮度分量,UV:两个色度分量。
YUV能更好的反映HVS特点。
7. RGB如何转化到YUV空间?
亮度分量Y与三原色有如下关系:
主流的编解码标准的压缩对象都是YUV图像。
8. 何为YUV图像分量采样?
YUV图像可以根据HVS的特点,对色度进行分量采样,可以降低视频数据量。
根据亮度和色度分量的采样比率,YUV图像通常有以下几种分量方式:
9. 通用的YUV图像格式有哪些?
根据YUV图像的亮度、分辨率定义了如下图像格式:
10. 如何理解帧和场图像?
一帧图像包括两场——顶场,底场:
11. 逐行与隔行图像
逐行图像是指:一帧图像的两场在同一时间得到,ttop=tbot。
隔行图像是指:一帧图像的两场在不同时间得到, ttop≠tbot。
几个基本概念
视频
根据人眼视觉暂留原理,每秒超过 24 帧的图像变化看上去是平滑连续的,这样的连续画面叫视频。
所谓视频其实就是由很多的静态图片组成的。由于人类眼睛的特殊结构,画面快速切换时,画面会有残留,所以静态图片快速切换的时候感觉起来就是连贯的动作。这就是视频的原理。
帧(Frame)
简单的理解帧就是为视频或者动画中的每一张画面,而视频和动画特效就是由无数张画面组合而成,每一张画面都是一帧。
既然视频是由许多静态图片组成的,那么视频的每一张静态图片就叫一帧。
视频帧又分为I帧、B帧和P帧:
I帧:帧内编码帧,大多数情况下I帧就是关键帧,就是一个完整帧,无需任何辅助就能独立完整显示的画面。
B帧:帧是双向预测帧。参考前后图像帧编码生成。需要前面的 I/P 帧或者后面的 P 帧来协助形成一个画面。
P帧:前向预测编码帧。是一个非完整帧,通过参考前面的I帧或P帧生成画面。
帧数(Frames)
帧数其实就是为帧生成数量的简称,可以解释为静止画面的数量。
定义:用于测量显示帧数的量度。单位为 FPS(Frames per Second,每秒显示帧数)或赫兹(Hz)。
帧率越高,画面越流畅、逼真,对显卡的处理能力要求越高,数据量越大。
前面提到每秒超过 24 帧的图像变化看上去是平滑连续的,这是针对电影等视频而言,对游戏来说 24 帧是不流畅的。
帧率(Frame Rate)
帧率(Frame rate) = 帧数(Frames)/时间(Time),单位为帧每秒(f/s, frames per second, fps)。
刷新率
屏幕每秒画面被刷新的次数,分为垂直刷新率和水平刷新率,一般我们提到的都是指垂直刷新率,以赫兹(Hz)为单位,刷新率越高,图像就越稳定,图像显示就越自然清晰。
目前, 大多数显示器根据其设定按 30Hz、 60Hz、 120Hz 或者 144Hz 的频率进行刷新。 而其中最常见的刷新频率是 60 Hz。 这样做是为了继承以前电视机刷新频率为 60Hz 的设定。
帧率
10~12 FPS:由于人类眼睛的特殊生理结构,如果所看画面之帧率高于每秒约10至12帧的时候,就会认为是连贯的,此现象称之为视觉暂留。
24 FPS:一般电影的拍摄及播放帧数是每秒24帧。
60 FPS:这个帧率对人眼识别来说已经具备较高的平滑度。
85 FPS:人类大脑处理视频的极限,人眼无法分辨更高频率的差异。
60FPS: 在做页面性能优化时,常用60FPS作为一个基准,所以需要尽量让每一帧的渲染控制在16ms内,这样才能达到一秒60帧的流畅度。
分辨率
视频、图片的画面大小或尺寸。
分辨率是以横向和纵向的像素数量来衡量的,表示平面图像的精细程度。
视频精细程度并不只取决于视频分辨率,还取决于屏幕分辨率。
1080P 的 P 指 Progressive scan(逐行扫描),即垂直方向像素点,也就是 "高",所以 1920X1080 叫 1080P, 不叫 1920P。
当 720P 的视频在 1080P 屏幕上播放时,需要将图像放大,放大操作也叫上采样。
码率/比特率
单位时间播放连续的媒体如压缩后的音频或视频的比特数量。常用单位“比特每秒”,缩写是“bit/s”。比特率越高,带宽消耗得越多。
比特率即码率,在不同领域有不同的含义,在多媒体领域,指单位时间播放音频或视频的比特数,可以理解成吞吐量或带宽。
单位为 bps , 即 bits per second,每秒传输的数据量,常用单位有:kbps、mbps 等。
计算公式:码率(kbps)= 文件大小(kb)/ 时长(s)
通俗一点理解就是取样率,取样率越大,精度就越高,图像质量越好,但数据量也越大,所以要找到一个平衡点:用最低的比特率达到最少的失真。
在一个视频中,不同时段画面的复杂程度是不同的,比如高速变化的场景和几乎静止的场景,所需的数据量也是不同的,若都使用同一种比特率是不太合理的,所以引入了动态比特率。
(1)动态比特率
简称为 VBR,即 Variable Bit Rate,比特率可以随着图像复杂程度的不同而随之变化。
图像内容简单的片段采用较小的码率,图像内容复杂的片段采用较大的码率,这样既保证了播放质量,又兼顾了数据量的限制。
比如 RMVB 视频文件,其中的 VB 就是指 VBR,表示采用动态比特率编码方式,达到播放质量与体积兼得的效果。
(2)静态比特率
简称为 CBR,即 Constant Bit Rate,比特率恒定。
图像内容复杂的片段质量不稳定,图像内容简单的片段质量较好。
上面列出的计算公式显然是针对 CBR ,除 VBR 和 CBR 外,还有 CVBR(Constrained VariableBit Rate) 、ABR (Average Bit Rate) 等等。
颜色模式(颜色空间)
HSV
RGB
YUV
色彩空间:
我们都知道RGB是三原色,通过RGB三种基础色,可以混合出所有的颜色。
还有一张是YUV,这种色彩空间并不是我们熟悉的。这是一种亮度与色度分离的色彩格式。
早期的电视都是黑白的,即只有亮度值,即Y。有了彩色电视以后,加入了UV两种色度,形成现在的YUV,也叫YCbCr。
Y:亮度,就是灰度值。除了表示亮度信号外,还含有较多的绿色通道量。
U:蓝色通道与亮度的差值。
V:红色通道与亮度的差值。
因为人眼对亮度敏感,对色度不敏感,因此减少部分UV的数据量,人眼却无法感知出来,这样可以通过压缩UV的分辨率,在不影响观感的前提下,减小视频的体积。大大提高传输的效率和节省带宽。
关于YUV这里我就不多说了,后面我会专门写一篇文章介绍。比如YUV444,YUV422,YUV420和YUV420sp以及YUV和RGB是如何转换的等等。
RGB
RGB颜色模型的主要目的是在电子系统中检测,表示和显示图像,比如电视和计算机,但是在传统摄影中也有应用。
基础的部分不过多描述,更多内容见维基百科。
YUV
Y'UV的发明是由于彩色电视与黑白电视的过渡时期。
黑白视频只有Y(Luma,Luminance)视频,也就是灰阶值。到了彩色电视规格的制定,是以YUV/YIQ的格式来处理彩色电视图像,把UV视作表示彩度的C(Chrominance或Chroma),如果忽略C信号,那么剩下的Y(Luma)信号就跟之前的黑白电视频号相同,这样一来便解决彩色电视机与黑白电视机的兼容问题。Y'UV最大的优点在于只需占用极少的带宽,因为人眼对亮度敏感,对色度不敏感,因此减少部分UV的数据量,但人眼感知不到。
YUV也称为YCbCr,对于每个分量如下:
Y:Luminance, 亮度,也就是灰度值。除了表示亮度信号外,还含有较多的绿色通道量。
U:Cb,蓝色通道与亮度的差值。
V:Cr,红色通道与亮度的差值。
RGB与YUV转换公式 (RGB取值范围均为0~255)
Y=0.299R+0.587G+0.114B ⁄ R=Y+1.14V
U=-0.147R-0.289G+0.436B ⁄ G=Y-0.39U-0.58V
V=0.615R-0.515G-0.100B ⁄ B=Y+2.03U
HSV
色调H: 用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;
饱和度S: 饱和度S表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例愈大,颜色接近光谱色的程度就愈高,颜色的饱和度也就愈高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0%~100%,值越大,颜色越饱和。
明度V: 明度表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)。
RGB和CMY颜色模型都是面向硬件的,而HSV(Hue Saturation Value)颜色模型是面向用户的。
HSV模型的三维表示从RGB立方体演化而来。设想从RGB沿立方体对角线的白色顶点向黑色顶点观察,就可以看到立方体的六边形外形。六边形边界表示色彩,水平轴表示纯度,明度沿垂直轴测量。
CPU & GPU
CPU:中央处理器(英文全名:Central Processing Unit),包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。
GPU:图形处理器(英语全名:Graphics Processing Unit),专为执行复杂的数学和几何计算而设计的,拥有2D或3D图形加速功能。
GPU相比于CPU,更强大的2D、3D图形计算能力,可以让CPU从图形处理的任务中解放出来,执行其他更多的系统任务,这样可以大大提高计算机的整体性能。
硬件加速
硬件加速(Hardware acceleration)就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。硬件加速通常比软件算法的效率要高。
将2D、3D图形计算相关工作交给GPU处理,从而释放CPU的压力,也是属于硬件加速的一种。
硬解和软解
硬解和上面的硬件加速对应,即使用硬件模块来解析视频、音频文件等,而软解即是用CPU去计算解析。
视频文件格式、视频封装格式、视频编码方式
视频格式那么多,MP4/RMVB/MKV/AVI 等,这些视频格式与编码压缩标准 mpeg4,H.264.H.265 等有什么关系?
下面通过引入下面三个概念来介绍视频压缩知识。分别是:
视频文件格式(简称:文件格式),
视频封装格式(简称:视频格式),
视频编码方式(简称:视频编码)
一,视频文件格式(简称:文件格式):
我们知道Windows系统中的文件名都有后缀,例如1.doc,2.wps,3.psd等等。
Windows设置后缀名的目的是让系统中的应用程序来识别并关联这些文件,让相应的文件由相应的应用程序打开。例如你双击1.doc文件,它会知道让Microsoft Office去打开,而不会用Photoshop去打开这个文件。
所以常见的视频文件格式如1.avi,2.mpg这些都叫做视频的文件格式,它由你电脑上安装的视频播放器关联。
----------------------------------------------------------------
二,视频封装格式(简称:视频格式):
AVI,MPEG,VOB是一种视频封装格式,相当于一种储存视频信息的容器。
它是由相应的公司开发出来的。我们可以在自己的电脑上看到的1.avi,2.mpg,3.vob这些视频文件格式的后缀名即采用相应的视频封装格式的名称。以下集中介绍几种封装格式:
1,AVI格式(后缀为.AVI):它的英文全称为Audio Video Interleaved,即音频视频交错格式。它于1992年被Microsoft公司推出。 这种视频格式的优点是图像质量好。由于无损AVI可以保存alpha通道,经常被我们使用。缺点太多,体积过于庞大,而且更加糟糕的是压缩标准不统一。
2,DV-AVI格式(后缀为.AVI):DV的英文全称是Digital Video Format,是由索尼、松下、JVC等多家厂商联合提出的一种家用数字视频格式。
数字摄像机就是使用这种格式记录视频数据的。它可以通过电脑的IEEE 1394端口传输视频数据到电脑,也可以将电脑中编辑好的的视频数据回录到数码摄像机中。这种视频格式的文件扩展名也是avi。电视台采用录像带记录模拟信号,通过EDIUS由IEEE 1394端口采集卡从录像带中采集出来的视频就是这种格式。
3,QuickTime File Format格式(后缀为.MOV):美国Apple公司开发的一种视频格式,默认的播放器是苹果的QuickTime。
具有较高的压缩比率和较完美的视频清晰度等特点,并可以保存alpha通道。大家可能注意到了,每次安装EDIUS,我们都要安装苹果公司推出的QuickTime。安装其目的就是为了支持JPG格式图像和MOV视频格式导入。
4,MPEG格式(文件后缀可以是 .MPG .MPEG .MPE .DAT .VOB .ASF .3GP .MP4等):它的英文全称为Moving Picture Experts Group,即运动图像专家组格式,该专家组建于1988年,专门负责为CD建立视频和音频标准,而成员都是为视频、音频及系统领域的技术专家。
MPEG文件格式是运动图像压缩算法的国际标准。
MPEG格式目前有三个压缩标准,分别是MPEG-1、MPEG-2、和MPEG-4。
MPEG-1、MPEG-2目前已经使用较少,着重介绍MPEG-4,其制定于1998年,MPEG-4是为了播放流式媒体的高质量视频而专门设计的,以求使用最少的数据获得最佳的图像质量。目前MPEG-4最有吸引力的地方在于它能够保存接近于DVD画质的小体积视频文件。
你可能一定注意到了,怎么没有MPEG-3编码,因为这个项目原本目标是为高分辨率电视(HDTV)设计,随后发现MPEG-2已足够HDTV应用,故MPEG-3的研发便中止(百度百科说MPEG-3就是mp3,我认为这个说法并不准确。)。
5,WMV格式(后缀为.WMV .ASF):它的英文全称为Windows Media Video,也是微软推出的一种采用独立编码方式并且可以直接在网上实时观看视频节目的文件压缩格式。
WMV格式的主要优点包括:本地或网络回放,丰富的流间关系以及扩展性等。WMV格式需要在网站上播放,需要安装Windows Media Player(简称WMP),很不方便,现在已经几乎没有网站采用了。
6,Flash Video格式(后缀为.FLV):由Adobe Flash延伸出来的的一种流行网络视频封装格式。随着视频网站的丰富,这个格式已经非常普及。
8,Matroska格式(后缀为.MKV):是一种新的多媒体封装格式,这个封装格式可把多种不同编码的视频及16条或以上不同格式的音频和语言不同的字幕封装到一个Matroska Media档内。它也是其中一种开放源代码的多媒体封装格式。Matroska同时还可以提供非常好的交互功能,而且比MPEG的方便、强大。
----------------------------------------------------------------
三,视频编码方式(简称:视频编码):
所谓视频编码方式就是指能够对数字视频进行压缩或者解压缩(视频解码)的程序或者设备。通常这种压缩属于有损数据压缩。也可以指通过过特定的压缩技术,将某个视频格式转换成另一种视频格式。常见的编码方式有:
1,H.26X系列 (由ITU[国际电传视讯联盟]主导)包括H.261、H.262、H.263、H.264、H.265。
1) H.261:主要在老的视频会议和视频电话产品中使用。
2) H.263:主要用在视频会议、视频电话和网络视频上。
3) H.264:H.264/MPEG-4第十部分,或称AVC(Advanced Video Coding,高级视频编码),是一种视频压缩标准,一种被广泛使用的高精度视频的录制、压缩和发布格式。
4) H.265:高效率视频编码(High Efficiency Video Coding,简称HEVC)是一种视频压缩标准,H.264/MPEG-4 AVC的继任者。HEVC被认为不仅提升图像质量,同时也能达到H.264/MPEG-4 AVC两倍之压缩率(等同于同样画面质量下比特率减少了50%),可支持4K分辨率甚至到超高画质电视,最高分辨率可达到8192×4320(8K分辨率),这是目前发展的趋势。直至2013年,Potplayer添加了对于H.265视频的解码,尚未有大众化编码软件出现。
2,MPEG系列(由ISO[国际标准组织机构]下属的MPEG[运动图象专家组]开发 )视频编码方面主要有:
1) MPEG-1第二部分(MPEG-1第二部分主要使用在VCD上,有些在线视频也使用这种格式。该编解码器的质量大致上和原有的VHS录像带相当。)
2) MPEG-2第二部分(MPEG-2第二部分等同于H.262,使用在DVD、SVCD和大多数数字视频广播系统和有线分布系统(cable distribution systems)中。)
3) MPEG-4第二部分(MPEG-4第二部分标准可以使用在网络传输、广播和媒体存储上。比起MPEG-2和第一版的H.263,它的压缩性能有所提高。)
4) MPEG-4第十部分(MPEG-4第十部分技术上和ITU-TH.264是相同的标准,有时候也被叫做“AVC”)最后这两个编码组织合作,诞生了H.264/AVC标准。ITU-T给这个标准命名为H.264,而ISO/IEC称它为MPEG-4 高级视频编码(Advanced Video Coding,AVC)。
3,其他系列:AMV · AVS · Bink · CineForm · Cinepak · Dirac · DV · Indeo · Video · Pixlet · RealVideo · RTVideo · SheerVideo · Smacker · Sorenson Video · Theora · VC-1 · VP3 · VP6 · VP7 · VP8 · VP9 · WMV。因为以上编码方式不常用,不再介绍。
总之,即使是同一种视频文件格式,如*.MPG。又分为MPEG-1,MPEG-2 ,MPEG-4几种不同的视频封装格式,就算是同一种视频封装格式,如MPEG-4又可以使用多种视频编码方式。视频的编码形式才是一个视频文件的本质所在,不要简单的通过文件格式和封装形式来区分视频。
好文章,来自【福优学苑@音视频+流媒体】
***【在线视频教程】***