音视频——码率、帧率越高越清晰?分辨率、像素、dpi的关系

news2024/11/24 1:44:55

一 前言

本期我介绍一下视频的一些基础概念,如帧率、码率、分辨率、像素、dpi、视频帧、I帧、P帧、gop等。我i初步学习音视频,给这些专业词汇进行扫盲
会解释多少码率是清晰的,是否帧率越高越流畅等问题。

这些概念是比较杂乱的,我们按这样的顺序介绍:

1、单个视频帧的概念

2、多个视频帧的概念

3、H264、H265的特殊概念

二 单个视频帧的概念

单个视频帧可以简单地理解为一个图片。
单个视频帧的概念有:分辨率、像素、dpi、色彩空间模型。

2.1 分辨率

分辨率指的是图像的长宽像素大小,分辨率也有720、1080、2K、4K的说法。
由于视频分辨率一般是16:9的,所以1080一般指1920X1080,其他分辨率如图所示。
在这里插入图片描述
细心的小伙伴可能会发现,有时候分辨率后面会加一个P,如1080P等。当然,除了1080P,还有1080I 。
这里的P(逐行扫描)、I(隔行扫描-)指的是扫描方式。
虽然理论上隔行扫描(1080I)可以节省带宽,但是,一般来说,1080i这种隔行扫描是电视节目用的。网络视频、视频文件一般都是1080p这种逐行扫描。
这里顺便一提,如果视频播放时出现了锯齿,一般就是采用了隔行扫描(1080I等)的问题。

在这里插入图片描述

2.2 像素

像素其实很简单,就是分辨率长宽相乘,如1920X1080分辨率对应的像素就是200万(2073600)像素。

2.3 dpi

那么多少分辨率才是清晰的呢?这取决于dpi ,也就是每英寸的像素多少。
但是dpi实际上并不是视频的一个参数,dpi理论上取决于显示设备和视频分辨率参数。
至于多少dpi是清晰的,往往是根据实际场景决定的,毕竟观看距离也起了决定性的因素,如海报等印刷品就要求300dpi。

2.4 色彩空间模型

色彩空间模型,色彩空间模型一般是RGB、YUV这些 ,实际上就是像素点记录色彩数据的方式。
不同色彩空间模型决定着色彩的丰富程度,当然也决定着每个像素的数据量大小。
一般来说:网络视频、图片都会采用YUV420这种数据量较少的色彩空间模型,虽然色彩存在一定程度的失真,但是数据量较少,以至于文件不会太大。

在这里插入图片描述

三 多个视频帧的概念

多个视频帧的概念,其概念有帧率、播放时间戳PTS、码率。

3.1 帧率

帧率就是一秒的视频帧数,单位是fps,可以简单地理解为一秒切换的图片数量。
一般认为,一秒18帧以上才能看起来是流畅的。但是这需要根据实际场景而定,电影一般是一秒24帧,游戏需要一秒30帧以上才是流畅的。这涉及到人的视觉对模糊图像和静止图像切换的感受是不一样的缘故,所以会存在一些具体场景的最低要求偏差。但是一般来说,网络视频、视频文件具备每秒25帧以上就可以了。

在这里插入图片描述

3.2 播放时间戳PTS

帧率实际上并不能直接对视频帧的显示造成影响,很多时候,帧率只是一个平均值。
因为帧率并不能说明每一帧的具体显示时间,比如每秒30帧,你会发现1帧的时间是0.033… 是一个无限小数。

真正影响视频帧显示的是播放时间戳PTS,在每一个视频帧数据中,都会记录此视频帧的播放时间戳PTS,每个时间戳都是整数,需要根据时间基才能换算成具体时间。

在这里插入图片描述

3.3 码率

码率是1秒的数据量大小,单位是Mbps。
很多人说,码率越大越清晰,感官上确实是这样的。
但是在音视频处理中,如直播转码中,实际上码率的设置是为了限制数据量的大小。
因为这会影响到网络加载时间,如果码率较大,而带宽不足,那视频会一卡一卡的。
一般来说,码率只是一个平均值,在音视频处理时,只需要设置最大码率。
设置最大码率后,编码器可能会对视频数据进行有损压缩,所以较低码率的视频感官上是不清晰的。
这里的有损压缩只是可能,因为是否压缩,取决于原始数据量的大小,原始数据量的大小又取决于分辨率、帧率、图像的色彩空间模型、编码格式等因素。
在这里插入图片描述
一般来说,1920X1080分辨率、30帧、H264编码的视频,最大码率设置为2或3Mbps一般都是清晰的。

当然,最大码率的限制需要看具体场景,有时候为了节省手机客户端的流量,可能会设置很低的最大码率

四 H264、H265的特殊概念

最后是介绍一下出现在H264、H265编码格式的一些特殊概念:I帧、B帧、P帧、GOP。
浏览器一般都支持H264编码的视频,H265与H264较为相似,只是H265比H264拥有更高的压缩能力,但同时H265编码的视频在播放时消耗性能也会更多。

在这里插入图片描述
H264、H265的编解码器是现成的,其具体算法和工作原理是不需要知道的,但是我们仍然需要知道I帧、P帧、B帧的概念。

这其实是为了压缩相似帧的一种手段。

  • I帧是能独立播放的,是完整的视频帧。
  • P帧是需要根据前一个I帧或P帧计算所得。
  • B帧是需要根据前一个和后一个I帧或P帧计算所得。

I帧是数据量最大的,一般会出现在画面突变的位置,所以一些视频识别软件会优先处理I帧图像,这样有利于快速处理。

B帧虽然是数据量最小的,但是它需要后一个帧数据才能计算出来,所以在直播流等场景下,一般是不生成B帧的,这样有利于直播的流畅。

另外,还有一个对于直播流等流媒体来说非常重要的概念gop,gop指的是一组完整的视频帧 。

如gop设置为25,那么编码器会让每25帧的第一帧必定为I帧,如果帧率也是25帧,那每秒的第一帧就必定是I帧。
在这里插入图片描述
这样做的好处是,直播流出现画面花掉的概率会降低,信号中断重连后,直播流也能更快地重新播放,因为P帧、B帧实际上都需要依赖I帧才能计算出来,一般对于直播流而言,gop一般设置为帧率的1-2倍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/745842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信二维码登录,修改下面提示的字体和样式

背景 由于业务需要,需要把微信二维码下面默认的提示文字进行修改,如下图所示: 需要修改上面红色框内选择的字体,在研究的过程中,发现好多人都在查询这个问题,并且有些网友思路也是对的。可能只是方式没对。…

库存扣减设计和下单

这里写目录标题 前言正文库存设计原则常见库存扣减方案秒杀订单域设计整体服务领域模型领域服务领域事件之下单下单整体流程同步下单库存预扣减库存扣减 总结参考链接 前言 大家好,我是练习两年半的Java练习生,前面我们已经介绍了领域驱动和缓存设计&am…

路径规划算法:基于金豺优化的路径规划算法- 附代码

路径规划算法:基于金豺优化的路径规划算法- 附代码 文章目录 路径规划算法:基于金豺优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法金豺…

【网络编程】应用层协议——HTTPS协议(数据的加密与解密)

文章目录 一、HTTP协议的缺陷二、HTTPS协议的介绍三、加密与解密3.1 加密与解密流程3.2 为什么要加密和解密3.3 常见的加密方式3.3.1 对称加密3.3.2 非对称加密3.3.3 数据摘要(数据指纹)3.3.4 数据签名 四、HTTPS工作过程4.1 中间人攻击方式4.2 数字证书…

50行PyTorch代码中的生成对抗网络(GAN)

一、说明 2014年,蒙特利尔大学的伊恩古德费罗(Ian Goodfellow)和他的同事发表了一篇令人惊叹的论文,向世界介绍了GANs或生成对抗网络。通过计算图和博弈论的创新组合,他们表明,如果有足够的建模能力,相互竞争的两个模型将能够通过普通的旧反向传播进行共同训练。 二、原…

大学啥也没有学到,跑到培训班里学技术,真的有用吗-以下来自一位认识的朋友投稿-王大师

在学习IT技术的过程中,你是否也被安利过各种五花八门的技术培训班?这些培训班都是怎样向你宣传的,你又对此抱有着怎样的态度呢?在培训班里学技术,真的有用吗?–王大师告诉你 1、掌握 JAVA入门到进阶知识(持…

极验滑块(3代)验证码细节避坑总结

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 关于 w 值…

惊!这道题正确率竟然只有 22%:答案详解

《Go 语言爱好者周刊》第 148 期有一道题目:以下代码输出什么? package mainimport ("fmt" )func main() {m : [...]int{a: 1,b: 2,c: 3,}m[a] 3fmt.Println(len(m)) }A:3;B:4;C:10…

面试官:过滤器和拦截器有什么区别?

过滤器(Filter)和拦截器(Interceptor)都是基于 AOP(Aspect Oriented Programming,面向切面编程)思想实现的,用来解决项目中某一类问题的两种“工具”,但二者有着明显的差…

AI原生云向量数据库Zilliz Cloud创建备份快照

目录 创建快照 调整快照保留天数 相关文档 快照是为某个集群在指定时间点创建的备份。您可以基于快照创建新的集群或将快照用作集群数据备份。 说明 快照功能目前仅对签约用户开放。如需使用该功能,请联系我们。 创建快照 快照创建是异步操作,创建所需时间取决于集群大…

Python爬虫学习笔记(一)————网页基础

目录 1.网页的组成 2.HTML (1)标签 (2)比较重要且常用的标签: ①列表标签 ②超链接标签 (a标签) ③img标签:用于渲染,图片资源的标签 ④div标签和span标签 &…

LabVIEW开发BROOKS SLA5850 BROOKS 0251

LabVIEW开发BROOKS SLA5850 BROOKS 0251 SLA5800 系列热式质量流量计和质量流量控制器在精度、稳定性和可靠性方面堪称标杆,因而得到广泛的认可。这些产品具有广泛的流量测量范围,适用于各种温度和压力条件,非常适合化工和石化研究、实验室、…

【Gradle】实现自动化构建和测试,提高代码质量和可靠性

做Android开发的同学,对Gradle肯定不陌生,我们用它配置、构建工程,可能还会开发插件来促进我们的开发,我们必须了解Gradle。Gradle是一种基于Groovy的项目自动化构建工具,用于编译、打包、测试、发布和依赖管理等任务。…

pdf可以转化成excel表格吗?四个方法可以帮助到你!

PDF文件是许多用户在工作中经常接触的文件格式。为了保持格式排版的一致性并防止篡改,在传输过程中通常会先将文件转换为PDF格式。然而,如果需要编辑其中的数据,就需要先将PDF转换为Excel才能继续相关操作。那么,如何将PDF转换为E…

腾讯云服务器CPU大全_处理器主频性能

腾讯云服务器CPU采用什么处理器型号?主频睿频多少?腾讯云服务器CPU性能如何?云服务器CVM规格不同CPU型号也不同,轻量应用服务器的CPU处理器性能如何?腾讯云服务器网分享腾讯云服务器CPU处理器大全: 目录 …

如何通过 CrossOver 在 Mac 苹果电脑上安装使用 windows 应用程序?

首先我们可以先了解一下什么是 crossOver ,CrossOver 是 Mac 和 Windows 系统之间的兼容工具。使 Mac 操作系统的用户可以运行 Windows 系统的应用,从办公软件、实用工具、游戏到设计软件, 您都可以在 Mac 程序和 Windows 程序之间随意切换。…

csapp 深入理解计算机系統 笔记

csapp 深入理解计算机系統 笔记 参考lab 第1章:计算机系统漫游第 2 章:信息的表示和处理Data Lab 参考 计算机速成课 | Crash Course 字幕组 (全40集 2018-5-1 精校完成)csapp重点解读深入理解计算机系統 csapp lab Lab AssignmentsLab 直接下载参考 …

什么是深度学习的误差分解

误差分解是将深度学习模型的预测误差拆分为多个组成部分,以便更好地理解模型性能。在深度学习中,我们通常将预测误差分解为三个部分:偏差(Bias)、方差(Variance)和不可避免的误差(Ir…

python离线安装ibm_db

下载离线包ibm_db以及clidriver 下载imb_db 在pypi官方网站https://pypi.org/project/ibm-db/#files下载离线安装包ibm_db-3.0.2.tar.gz。下载clidriver 下载地址:https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/nt32_odbc_cli.…

Jmeter场景设置与启动方式

目录 线程组设置 name和comments Action to be taken after a sampler error Thread Properties 线程属性设置 场景运行 远程运行配置 命令行 性能测试场景是用来模拟模拟真实用户操作的工作单元,所以场景设计一定要切合用户的操作逻辑,jmeter主要…