2022-11-11 11:44:07
GOP/比特流/比特率/帧速率/分辨率
图像组
关键帧的周期,即两个IDR帧之间的距离和一个帧组的最大帧数,一般来说,每一秒的视频至少需要一个关键帧。增加关键帧的数量可以提高质量,但同时会增加带宽和网络负载。
应当注意,通过增加GOP值来提高图像质量是有限制的。场景切换的情况下,H.264编码器会自动插入一个I帧,实际的GOP值会缩短。另一方面,在一个GOP中,P和B帧由I帧预测。当I帧的图像质量较差时,会影响一个GOP中后续P、B帧的图像质量,直到下一个GOP开始时才可能恢复,所以GOP值不宜设置得太大。
同时,由于P、B帧的复杂度大于I帧,过多的P、B帧会影响编码效率,降低编码效率。此外,GOP过长也会影响Seek操作的响应速度。因为p帧和b帧是根据先前的I帧或p帧预测的,所以寻道操作需要直接定位。当解码某个p或b帧时,需要解码GOP中的I帧和之前的n个预测帧。GOP值越长,需要解码的预测帧越多,寻道响应时间越长。
CABAC/CAVLC
H.264/AVC标准中的两种熵编码方法,CABAC称为自适应二进制算术编码,CAVLC称为前后自适应变长编码,
CABAC:是一种无损编码方法。如果图像质量好,X264会舍弃一些较小的DCT系数,降低比特率,可以进一步降低10-15%的比特率(尤其是在高比特率的情况下),从而降低编解码速度。
CAVLC会占用较少的CPU资源,但会影响压缩性能。
帧:对一个视频信号进行采样时,如果逐行扫描,得到的信号是帧图像,通常帧率为25帧/秒(PAL制),30帧/秒(NTSC制);
场:对一个视频信号进行采样时,如果是隔行扫描(奇数行和偶数行),那么一帧图像分为两个场,通常场频率为50Hz(PAL制)和60Hz(NTSC制);
帧频和场频的由来:由于最早抗干扰和滤波技术的限制,电视图像的场频通常与电网频率(交流电)一致。所以根据各地交流电频率的不同,欧洲和中国有PAL系统,北美有NTSC系统,50Hz,现在没有这样的限制。帧频率可以与场频率相同,也可以更高。
帧编码和场编码:逐行视频帧中相邻行之间的空间相关性较强,因此在活动性很小或静止图像时更适合采用帧编码;然而,场域中相邻线之间的时间相关性很强,因此场域编码适用于运动量较大的运动图像。
去块,打开会减少块效应。
FORCE_IDR,是否使每个I帧成为IDR帧,如果是IDR帧,支持随机访问。
框架,tff,bff
-帧将两个场合并为一个帧进行编码,- tff启用隔行模式(开始隔行编码并在之前设置前半部分),- bff启用隔行模式。
PAFF和姆巴夫:当编码隔行图像时,每帧包括两个场。因为在两个场之间有一个大的扫描间隔,所以与逐行扫描相比,帧中相邻两行之间的空间相关性将被降低,所以分别编码这两个场将节省更多的码流。
对于一个帧,有三种可选的编码方法:将两个场合并为一个帧进行编码(帧法)或者将两个场分别编码(场法)或者将两个场合并为一个帧,但不同的是将帧中两个垂直相邻的宏块合并为一个宏块对进行编码;前两种叫做PAFF编码。场编码在对运动区域进行编码时是有效的,而帧编码在对非运动区域进行编码时更有效,因为相邻的两行具有很大的相关性。当图像中既有运动区域又有非运动区域时,对于运动区域采用场模式,对于非运动区域采用帧模式在MB级更为有效。这种模式叫MBAFF,预测单位是宏块对。
码流/速率
数据速率是指视频文件在单位时间内使用的数据流量,也称为比特率或比特率。普遍的理解是采样率,采样率是视频编码中图像质量控制最重要的部分。一般我们用的单位是kb/s或者MB/s,一般来说,在相同分辨率下,视频文件流越大,压缩比越小,画质越高。码流越大,单位时间采样率越大,数据流和精度越高,处理后的文件越接近原始文件,图像质量越好,画面质量越清晰,对回放设备的解码能力要求也越高。
当然,码流越大,文件量越大,其计算公式为文件量=时间x码率/8。比如网络上常见的一个90分钟1Mbps码流的720P RMVB文件,其音量=5400秒×1Mb/8=675MB。
一般来说,视频文件包括图片和声音,比如RMVB视频文件,其中包含视频信息和音频信息。音频和视频都有不同的采样方法和比特率,即同一视频文件中的音频和视频的比特率不同。视频文件的比特流速率通常是指视频文件中音频和视频信息的比特流速率之和。
以国内最流行最熟悉的RMVB视频文件为例。RMVB中的VB是指VBR,是可变比特率的缩写。中文意思是可变比特率,意思是RMVB采用动态编码方式,对复杂的动态画面(歌舞、飞行、战争、动作等)使用较高的采样率。),同时对静态图片使用较低的采样率,合理利用资源,做到画质和音量兼顾。
码率和采样率的根本区别在于码率是特定于源文件的。
采样率
采样率(也称为采样速度或采样频率)定义每秒从连续信号中提取并形成离散信号的样本数,以赫兹(Hz)表示。采样率是指将模拟信号转换为数字信号时的采样频率,即单位时间采样多少个点。一个采样点有多少位?比特率是指每秒传输的位数。单位为每秒位数。比特率越高,传输的数据越多,音质越好。比特率=采样率x位数x通道数。
采样率类似于运动画面的帧数。比如电影的采样率是24 Hz,PAL制的采样率是25 Hz,NTSC制的采样率是30 Hz。当我们以与采样率相同的速度回放采样的静止图像时,我们会看到连续的图像。同理,以44.1kHZ的采样率录制的CD以同样的速率播放时,可以听到连续的声音。显然,采样率越高,你听到的声音和看到的图像越连贯。当然,人类听觉和视觉器官能够区分的采样率是有限的,基本上高于44.1kHZ采样的声音,大多数人并没有意识到这种差异。
声音的位数相当于图片中的颜色数,表示每个样本的数据量。当然,数据量越大,回放的声音越准确,以免把水壶的声音和火车的汽笛声混淆。同理,画面更清晰,更准确,以免混淆血和番茄酱。但是由于人体器官的限制,16位语音和24位图片基本都是普通人类的极限,更高的数字只能用仪器来区分。例如,电话是以3Hz采样的7位声音,而CD是以44.1kHZ采样的16位声音,所以CD比电话更清晰。
当你理解了这两个概念,比特率就很好理解了。以电话为例,每秒3000个样本,每个样本为7位,那么电话的比特率为21000。而CD每秒有44,100个样本,两个通道,每个样本是一个13位的脉冲编码调制,所以CD的比特率是44,100 * 2 * 13 = 1,146,600,也就是说CD每秒的数据量约为144KB,一张CD的容量是74分钟等于4,440秒,也就是639,360 KB = 640 MB。
码率和采样率的根本区别在于码率是特定于源文件的。
比特率
比特率是指每秒传输的位数。单位为bps(比特每秒),比特率越高,传输的数据越大。在视频领域,比特率经常被翻译成比特率!!!
比特率表示每秒需要多少位来表示编码(压缩)的音频和视频数据,位是二进制系统中的最小单位,可以是0或1。比特率与音视频压缩的关系很简单,比特率越高,音视频质量越好,但编码文件越大;如果比特率较小,情况正好相反。
比特率是指将数字音频和视频从模拟格式转换为数字格式的采样率。采样率越高,恢复的音质和图像质量越好。
常见编码模式:
VBR(可变比特率)动态比特率意味着没有固定的比特率。压缩时,压缩软件会根据音频数据立即确定使用什么比特率。这是在质量的前提下考虑文件大小的一种方式,推荐编码方式;
平均比特率是VBR的一个插值参数。LAME针对CBR的文件容积率差,VBR的文件大小不确定,创建了这种编码模式。在指定的文件大小内,ABR以每50帧(30帧,约1秒)为一段。低频和不敏感频率使用相对较低的流量,而高频和大动态性能使用高流量,这可以作为VBR和CBR之间的折衷。
恒定比特率,恒定的比特率意味着文件从头到尾都是一个比特率。相比VBR和ABR,压缩文件大小非常大,音质也不会比VBR和ABR有明显的提升。
帧速率
帧速率也称为FPS(每秒帧数)的缩写。指每秒刷新图片的帧数,也可以理解为一个图形处理器每秒可以刷新多少次。帧频越高,可以获得越平滑、越逼真的动画。每秒帧数越多,显示的动作就越流畅。
分解率
是帧大小,每一帧都是一个图像。
对于640*480分辨率的视频,建议视频码率设置在700以上,音频采样率为44100
音频编码速率为128Kbps,视频编码速率为800Kbps的文件,其总编码速率为928Kbps,这意味着编码数据需要用每秒928K位来表示。
计算输出文件大小的公式:
(音频编码率(KBit)/8+视频编码率(KBit) /8)×电影总长度(秒)=文件大小(MB)
高清视频
目前720P和1080P采用多种编码,主流的MPEG2,VC-1和H.264,以及Divx和Xvid。至于包装格式,ts,mkv,wmv,蓝光更离谱。
720和1080代表视频流的分辨率,前者是1280*720,后者是1920*1080。不同的编码需要不同的系统资源,可以认为是H.264>VC-1>MPEG2。
VC-1是最后公认的高清编码格式,但由于微软的背景,这种编码格式不容忽视。与MPEG2相比,VC-1的压缩比更高,但与H.264相比,编解码的计算量略小。目前来看,VC-1可能是一个比较好的平衡,微软支持,应该是不可小觑的力量。一般来说,VC-1大多是”。wmv “后缀,但这不是绝对的,具体编码格式要软件查询。
一般来说,在压缩比方面,H.264的压缩比更高,也就是同样的视频。H.264编码算法压缩的视频容量小于VC-1,但VC-1格式的视频解码计算量较小。一般高性能CPU都能流畅的看高清视频。我相信这是NVIDIA Geforce 8系列显卡无法完全解码VC-1视频的主要原因。
PS&TS是两种视频或电影包装格式,在高清电影中常用。分机有VOB/EVO、TS等。文件编码一般为mpeg2/VC-1/H.264。
高清,英文是“高清”,意思是“高分辨率”。高清电视(HDTV)是由美国电影和电视工程师协会确定的高清电视标准格式。现在的大屏幕液晶电视一般都支持1080i和720P,而一些俗称的“全高清”指的是支持1080P输出的电视。
目前主要有H.264,VC-1,MPEG-2,MPEG-4,DivX,XviD,WMA-HD,X264。其实网上流传的高清视频有两种:一种是MPEG-2标准压缩的,以tp和ts为后缀的视频流文件;一种是wmv-HD(Windows Media Video High Definition)标准压缩的wmv文件,少数文件有avi或mpg后缀,和wmv有相同的属性。真实效果好的高清视频在H.264和VC-1中更受欢迎。
一般来说,H.264格式是打包在”。avi“,”。mkv “和”。ts”。
比特率(固定速率、可变速率)
比特率也叫“码率”。指单个视频通道在单位时间内产生的数据量,其单位通常为bps、Kbps或Mbps。根据记录时间和比特率,可以估计一定时间内记录文件的大小。比特率是一个可调参数,在不同的分辨率模式和监控场景下,合适的比特率是不同的。设置时,应综合考虑三个因素:
1.决心
分辨率是决定比特率的主要因素,不同的分辨率应该采用不同的比特率。一般来说,视频录制的分辨率越高,需要的比特率(bit rate)就越大,但并不总是这样。图1说明了不同分辨率下比特率选择的合理范围。所谓“合理范围”,是指如果低于这个范围,图像质量就会显得无法接受;如果高于这个范围,就是不必要的,是对网络资源和存储资源的浪费。
2.场面
监控场景是设置码率时要考虑的第二个因素。在视频监控中,图像运动的强度与比特率有一定的关系。运动越剧烈,编码所需的比特率越高。反而更低。所以在相同图像分辨率的情况下,监控人多的场景和人少的场景所需的比特率也是不同的。
3.储存空间
最后要考虑的因素是存储空间,这主要决定了视频录制系统的成本。比特率设置得越高,图像质量就越好,但所需的存储空间就越大。因此,在工程实现中,设置合适的比特率不仅可以保证良好的回放图像质量,还可以避免不必要的资源浪费。
比特率类型
有两种比特率类型:动态速率(VBR)和固定速率(CBR)。所谓动态比特率,是指编码器在对图像进行压缩编码的过程中,根据图像的情况实时调整比特率的过程。例如,当图像中没有对象移动时,编码器会自动将比特率调整到较低的值。然而,当图像中的对象开始移动时,编码器会自动将比特率调整到更高的值,并根据运动强度实时调整比特率。该模式是一种图像质量恒定、数据量可变的编码模式。
固定比特率是指编码器在对图像进行编码的过程中,无论图像如何变化,始终采用固定的比特率值。该模式是比特率恒定且图像质量变化的编码模式。在动态比特率模式下,我们在硬盘录像机上设置的比特率值称为“比特率上限”。意味着我们人为设定了一个码率变化的上限,可以低于但不能高于。根据这个比特率值,我们可以估计一定时间内的存储容量上限。
在固定比特率模式下,硬盘录像机上设置的比特率值是编码时使用的比特率值。根据这个值,我们可以准确地估计一定时间内的存储容量。
QP(量化器参数)
在0和31之间,值越小,量化越精细,图像质量越高,生成的码流越长。
平均峰值信噪比
可以计算峰值信噪比(PSNR),编码后屏幕显示PSNR的计算结果。开不开与输出视频质量无关,关了会带来轻微的提速。
简档级别
他们是BP、EP、MP、HP:
1.BP-基线轮廓:基本画质。支持I/P帧,仅支持渐进式和CAVLC支持。
2.EP-扩展配置文件:高级图像质量。支持I/P/B/SP/SI帧,仅支持渐进式和CAVLC支持。
3.MP-Main profile:主流画质。提供I/P/B帧,支持逐行和隔行,也支持CAVLC和CABAC。
4.惠普-高调:高级图像质量。在主Profile的基础上,增加了8×8内部预测、自定义量化、无损视频编码和更多的YUV格式。
H.264指定了三个类,每个类支持一组特定的编码函数和一类特定的应用程序。
1)基础层:I切片和P切片用于支持帧内编码和帧间编码,CAVLC支持基于上下文的自适应变长编码。主要用于可视电话、会议电视、无线通信等实时视频通信;
2)主要等级:支持隔行视频,采用B切片的帧间编码和加权预测的帧内编码;支持使用基于上下文的自适应算术编码(CABAC)。主要用于数字广播电视和数字视频存储;
3)扩展等级:支持码流(SP和SI芯片)之间的有效切换,提高误码性能(数据分段),但不支持隔行视频和CABAC。主要用于网络视频流,如视频点播。
主码流/副码流
主码流比特率高,图像质量高,便于本地存储;子流比特率低,图像质量低,便于网络传输。
总结:
编码参数不仅要知道帧率、比特率、I帧间隔和QP因子,还要知道其他参数的影响。