系列文章目录
视频基础学习一——色立体、三原色以及像素
视频基础学习二——图像深度与格式(RGB与YUV)
视频基础学习三——视频帧率、码率与分辨率
视频基础学习四——视频编码基础一(冗余信息)
视频基础学习五——视频编码基础二(编码参数帧、GOP、码率等)
视频基础学习六——视频编码基础三(h264框架配合图文+具体抓包分析 万字)
前言
在之前的文章中详细介绍了一些关于图像的色彩与格式,而视频其实就是由一张张图片进行展示呈现出来的。
我们会经常说一段视频的质量好不好,而什么是视频的质量呢?博主的个人理解就是播放视频时的流畅度、清晰度,以及这一段视频的大小。
上一篇文章中介绍过如果一张rgb24存储的图片大小为
1280 ∗ 720 ∗ 3 / 1024 / 1024 = 2.63 M B 1280 * 720 * 3 / 1024 / 1024 = 2.63 MB 1280∗720∗3/1024/1024=2.63MB
如果只以这种方式进行存储,那么一个一分钟的视频大小很有可能就达到了3945MB,这也是为什么会把视频大小也看做 视频质量影响元素之一。
这么大的视频是肯定无法接受的,所以通常会对图像编码中的相关性数据进行压缩。而这些压缩技术都会涉及到三个参数:帧率、分辨率、码率。
|版本声明:山河君,未经博主允许,禁止转载
一、介绍帧率、码率、分辨率
1.定义
- 帧率 ——帧速率(FPS),是指每秒钟刷新的图片帧数。FPS越高,视频的也就会越流畅。通常人眼能接受视频流畅最低的标准是24FPS。
- 分辨率——又称解析度。基本可以简单的认为是图像的长度和宽度。分辨率越高,图像的尺寸就越大。通常会有4:3和16:9两种宽长比,例如:720p = 1280 * 720, 480p = 640 * 480等等
- 码率——也叫码流率(Data Rate),指单位时间内使用的数据流量。是影响画面质量最重要的部分,通俗的理解为取样率,例如720P、rgb24编码格式、25帧、1s的视频大小为
1280 ∗ 720 ∗ 3 / 1024 / 1024 ∗ 25 ∗ 1 = 65.75 M B 1280 * 720 * 3 / 1024 / 1024 * 25 * 1 = 65.75MB 1280∗720∗3/1024/1024∗25∗1=65.75MB
这显示需要进行压缩,而码率10MB/s代表压缩后1s有10MB数据
2.三者之间的关系
- 在码率一定的情况下,分辨率与清晰度成反比关系:分辨率越高,图像越不清晰,分辨率越低,图像越清晰
- 如果码率为变量,则帧率越高,每秒钟经过的画面越多,需要的码率也越高,体积也越大
- 在分辨率一定的情况下,码率与清晰度成正比关系,码率越高,图像越清晰;码率越低,图像越不清晰
二、常用分辨率以及分级
常见分辨率标准
1.SD(Standard Definition)标准分辨率
480p:720 x 480 像素
应用场景:传统标准清晰度电视和旧视频内容。
说明:较低的分辨率,适用于早期电视和视频播放设备。
2.HD(High Definition)高清
720p:1280 x 720 像素
应用场景:现代电视、入门级显示器和一些在线视频流。
说明:比 SD 提供更高的清晰度,但仍低于全高清(Full HD)。
3.Full HD(FHD)全高清
1080p:1920 x 1080 像素
应用场景:主流电视、电脑显示器和大多数高清视频内容。
说明:提供高水平的清晰度和细节,广泛用于现代显示设备和高清视频。
3.2K
2560 x 1440 像素
应用场景:高端显示器、一些高分辨率智能手机和游戏显示器。
说明:也称为 QHD(Quad HD),提供比 Full HD 更高的清晰度。
4.4K UHD(Ultra High Definition)超高清
3840 x 2160 像素
应用场景:高端电视、显示器和专业视频制作。
说明:提供极高的清晰度,适用于大屏幕电视和需要高细节的视频内容。
8K UHD
显示器和电视的分辨率
低分辨率:
- VGA:640 x 480 像素(过时,多用于旧显示器)
- SVGA:800 x 600 像素(过时,较低分辨率)
中等分辨率:
- WXGA:1280 x 800 像素(主要用于旧款宽屏显示器)
- WSXGA+:1680 x 1050 像素(一些较老的显示器)
高分辨率:
- WQHD:2560 x 1440 像素(常见于高端显示器)
- 4K UHD:3840 x 2160 像素(现代高端电视和显示器)
- 8K UHD:7680 x 4320 像素(极高分辨率,用于前沿技术)
媒体和娱乐的分辨率
- DVD 视频:720 x 480 像素(标准清晰度)
- 蓝光视频:1920 x 1080 像素(全高清)
流媒体服务:
- HD:1280 x 720 像素
- Full HD:1920 x 1080 像素
- 4K UHD:3840 x 2160 像素
手机和其他设备的分辨率
低分辨率:
qHD:960 x 540 像素(一些早期智能手机)
中等分辨率:
HD:1280 x 720 像素(许多中档智能手机)
高分辨率:
- Full HD:1920 x 1080 像素(高端智能手机)
- QHD/QHD+:2560 x 1440 像素(高端智能手机)
- 4K UHD:3840 x 2160 像素(一些高端智能手机和显示器)
三、常见帧率标准
15 FPS
- 应用场景:低带宽条件下的视频通话或较旧的设备。
- 说明:15 FPS 是较低的帧率,适用于带宽较低或设备性能有限的情况。虽然这种帧率可能会导致视频显得不够流畅,但在网络条件不佳时,能够提供一定程度的可视性。
24 FPS
- 应用场景:电影和高质量影视制作。
- 说明:24 FPS 是传统电影的标准帧率,这一标准已存在多年,给人一种自然流畅的感觉。大多数电影和电视剧采用此帧率,因为它能够在不消耗过多资源的情况下提供平滑的视觉体验。
30 FPS
- 应用场景:电视广播、在线视频和一些游戏。
- 说明:30 FPS 是电视和网络视频的标准帧率,适用于较高的图像流畅度要求,如实时视频流、教育视频等。它提供了比 24 FPS 更高的流畅度,适用于需要快速移动的内容。
60 FPS
- 应用场景:高质量视频游戏、高帧率视频播放、运动录像。
- 说明:60 FPS 提供了非常流畅的视觉体验,广泛应用于现代视频游戏和高质量的在线视频。它减少了运动模糊,使快速动作和快速切换场景更加清晰。
120 FPS / 144 FPS / 240 FPS
- 应用场景:高性能游戏、专业级别的运动捕捉和慢动作摄影。
- 说明:这些高帧率用于需要极高流畅度的应用,如电子竞技和高端游戏。这些帧率通常需要高刷新率的显示器和强大的计算能力,以提供额外的视觉细节和流畅性。
刷新率 vs 帧率
值得注意的是刷新率和帧率的区别
- 刷新率(Refresh Rate):显示器每秒钟重新绘制图像的次数,通常以赫兹(Hz)为单位。例如,一个 60Hz 的显示器每秒刷新 60 次。
- 帧率(Frame Rate):视频或游戏每秒播放的帧数,通常以 FPS 为单位。
虽然帧率和刷新率是不同的概念,但它们密切相关。为了获得最佳的视觉体验,帧率应与显示器的刷新率相匹配。高刷新率的显示器(如 120Hz 或 144Hz)可以显示更高帧率的视频和游戏内容,从而提供更流畅的体验。
三、码率
码率控制严格上来说不属于编码标准,但是在编码器设置中是非常重要的,一般来说在选择码率的时候,需要考虑到以下几点:
- 视觉质量
- 瞬时输出码率
- 输出视频文件大小
- 编码速度
在h264中常见码率有CQP、CRF、ABR、CBR、VBR五种设置。
1.CQP
CQP(Constant Quantization Parameter):恒定QP
恒定了编码参数。一般不会用于流媒体传输,因为这个选择是完全忽略码率,其中QP的范围是0~51,QP值越大表示越大的量化步长,编码视频的质量越低。QP为0表示进行无损编码。多会用于录制场景,一般选择18左右就可以做到高质量的画质,但是往往文件会很大。
2.CRF
CRF(Constant Rate Factor):恒定质量因子
以视觉质量为目标,和CQP很相似,但是文件会更小,因为它会减少一些人眼不敏感的场景例如高速运动或者细节丰富画面的编码,以达到节省码率的设置。
和QP的范围一样RF的范围也是[0,51]。其中0为无损模式,23为缺省,51质量最差。和QP一样的趋势。RF值加6,输出码率大概减少一半;减6,输出码率翻倍。
3.CBR
CBR(Constant Bitrate):固定码率
一定时间内保持比特率恒定,但是质量不稳定,不能充分利用带宽,这种码率设置不能充分考虑视频内容的复杂性,所以一般在传输中会尽量保持带宽设置较大,如果设置不合理,一些运动场景会很糊。但是好处是可以方便控制视频体积大小,在流式播放中,在更小的时间窗口保持码率的波动更小。
4.VBR
VBR(Variable Bitrate):可变码率
系统将自动为内容的简单部分分配较少的比特,从而留出足量的比特用于生成高质量的复杂部分。在文件大小相同情况下,VBR编码后要比CBR的质量更好。缺点是码率不固定,且编码速度也有很大波动。多用于延时不敏感的点播,或者存储下载系统中使用。
5.ABR
ABR(Average Bitrate):平均目标码率
简单场景分配较低bit,复杂场景分配足够bit,使得有限的bit数能够在不同场景下合理分配,这类似VBR。同时一定时间内,平均码率又接近设置的目标码率,这样可以控制输出文件的大小,这又类似CBR。可以认为是CBR和VBR的折中方案。这也是最常用的方案。
h264编码中常用码率设置
分辨率 | 帧率 | 参考码率 (Mbps) |
---|---|---|
480p (854x480) | 30 | 0.5 - 1.5 |
720p (1280x720) | 30 | 1 - 4 |
1080p (1920x1080) | 30 | 2 - 6 |
1080p (1920x1080) | 60 | 4 - 8 |
4K (3840x2160) | 30 | 8 - 20 |
4K (3840x2160) | 60 | 12 - 25 |
总结
这是一篇很简单的文章 ,主要是对视频编码介绍之前基本的属性做的介绍。下一篇文章将会对视频编码做一篇详细的介绍。
如果对您有所帮助,请帮忙点个赞吧!