音视频基础:分辨率、码率、帧率之间关系
基础
人类视觉系统

分辨率
-
像素: 是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子;可以将像素视为整个图像中不可分割的单位或者是元素;像素没有实际的物理尺寸;
-
图像: 人对视觉感知的物质再现,人类视觉的基础;是静态的 。从技术领域分析,更多指的是“数字图像”;
-
视频: 在时间轴上连续的图像叫做视频,是动态的,本质依旧是图像,所以又称运动图像;
-
分辨率: 指图像中存储的信息量,是横向x纵向的像素点个数,分辨率的单位为PPI(Pixels Per Inch),通常叫做像素每英寸;一般在音视频领域用横向像素个数 x 纵向像素个数表示分辨率,比如 1920px X 1080px,在平面设计中,以 PPI 来度量;如下图一些常见的分辨率以及对应的缩写名,根据长宽比可以分为 16:9、4:3、5:4等等。

-
屏幕尺寸/输出分辨率: 即屏幕对角线的长度表示屏幕的尺寸,一般用英寸来表示,比如 5 英寸;即设备分辨率(DPI),又称输出分辨率;知道屏幕的长和宽,利用勾股定理就可以算出来屏幕尺寸;1 英寸(inch)= 2.54 厘米(cm);


-
屏幕尺寸与图像分辨率关系:

-
PPI: 屏幕像素密度,即每英寸屏幕所拥有的像素数,英文简称 PPI(pixel per inch),即在一个对角线长度为 1 英寸的正方形内所拥有的像素数;对于肉眼来说当 PPI 达到 300 以上时,就无法分辨哪个更清晰了;比如在 5 英寸屏幕上,分辨率是 1920pxX1080px,则 PPI 是约 440。

码率
-
码率: 编码器每秒编出的数据大小,单位是 kbps,比如 500kbps 表示编码器每秒产生500kb 的数据。
-
压缩率: 描述压缩文件的效果名,是文件压缩后的大小与压缩前的大小之比;在音视频领域通常压缩就是编码,例如编码前是 YUV 数据、编码后是 H264、H265 数据等;音视频压缩是为了更好的传输和存储,如果是裸数据 视频YUV,很难达到实际应用。

-
编码格式: 即压缩方法,在音视频应用领域,可以分为H264、HEVC、AV1 等编码格式,如下图 一些主流的编码格式。

-
清晰度: 清晰度指影像上各细部影纹及其边界的清晰程度;视频清晰度主要跟分辨率、码率、屏幕尺寸、PPI有关。

帧率
- 帧率: 每秒播放显示多少帧图像画面;影响画面的流畅度,与画面流畅度成正比,帧率越大,画面越流畅,帧率越小,画面越有顿挫感;此外帧率也影响码率(或压缩体积),帧率越高,每秒需要的图像越多,码率也就越高,相应的体积也越大。
- fps大于15时,主观感受差别不明显,fps低于15时,主观感受急剧下降,认为视频画面不连贯,如下图,针对不同视频,不同帧率下的主观体验。常规的视频直播基本都是 15fps-30fps,游戏直播一般达到 30fps-60fps,一般超过 75fps,99%的人是无法感受到任何差别。

- 视频帧率受限于显示屏的刷新频率和机器的显卡性能;当设备性能较低时,画面容易出现撕裂效应。

码率与分辨适配推荐表
- 在音视频应用领域,通常帧率FPS 都设置 15 以上。
- 此外跟具体的编码格式也有很大关系,比如 HEVC 相同质量下比 H264码率可以节省 30%~50%。
- 本表以 H264为编码标准,fps 设置 15。

相关文章:
音视频基础:分辨率、码率、帧率之间关系
基础 人类视觉系统 分辨率 像素: 是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子;可以将像素视为整个图像中不可分割的单位或者是元素;像素…...
Java基础八 - HTTP相关/Cookie/Session/网络攻击
一、 反射/序列化/拷贝 1. 反射 //反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力 //在Yaml数据驱动自动化框架比较适用,能获取到当前的类名及方法名 import java.lang.reflect.*;public class ReflectionExample {public static void main(Str…...
【车道线】TwinLiteNet 复现过程全纪录
码字不易,喜欢的请点赞收藏!!!!! 论文全文翻译:【freespace】TwinLiteNet: An Efficient and Lightweight Model for Driveable Area and Lane Segmentation_莫克_Cheney的博客-CSDN博客 目录…...
七牛云获取qn(url、bucket、access-key、secret-key)
1.注册账号 2.access-key和secret-key: 点击“密钥管理” 复制AK和SK即可 域名: bucket: 这个就是对象存储空间名字 先新建一个空间(没买需要先购买),步骤如下: 填写存储空间名字࿰…...
定时任务实现 - Cron表达式知识
Cron表达式 cron表达式是一个字符串,由6到7个字段组成,用空格分隔。其中前6个字段是必须的,最后一个是可选的。每个字段的含义为:秒 分 时 日 月 周 年 字符解释: 枚举:, (cron“7,9,23****?”):任意时刻…...
【java】抽象
java抽象 抽象类抽象方法抽象类和抽象方法 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就…...
Qt应用开发(基础篇)——时间微调输入框 QDateTimeEdit、QDateEdit、QTimeEdit
一、前言 QAbstractSpinBox是全部微调输入框的父类,这是一种允许用户通过点击上下箭头按钮或输入数字来调整数值的图形用户界面控件,父类提供了当前值text、对齐方式align、只读readOnly等通用属性和方法。在上一篇数值微调输入框中有详细介绍。 QDateTi…...
日撸代码300行:第63天(集成学习之 AdaBoosting-1)
代码来自闵老师”日撸 Java 三百行(61-70天) 日撸 Java 三百行(61-70天,决策树与集成学习)_闵帆的博客-CSDN博客 学习过程中理解算法参考了:(十三)通俗易懂理解——Adaboost算法原…...
抽象父类获取子类的泛型 或接口泛型
jie通过getClass().getGenericSuperclass()或者子类的泛型 getClass().getGenericInterfaces();获取多个接口的泛型 GenericTypeResolver.resolveTypeArgument(GenericityService.class, GenericitySuper.class) 抽象父类 public abstract class GenericitySuper<T> …...
题目:2341.数组能形成多少数对
题目来源: leetcode题目,网址:2341. 数组能形成多少数对 - 力扣(LeetCode) 解题思路: 使用哈希表对数组中元素及其出现次数计数后对其进行统计即可。 解题代码: class Solution {public …...
NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么?
NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么? 参考链接:https://www.sohu.com/a/221664826_472880 NB IOT是窄带物联网技术,主要解决的是低速率数据传输,可使用GSM900或DCS1800频段,在频段使用上比较灵活,可以和GSM,UMTS或LTE共存,具备优异的MCL(最小耦合损耗…...
vue3 动态导入src/page目录下的所有子文件,并自动注册所有页面组件
main.js添加一下代码: const importAll (modules) > {Object.keys(modules).forEach((key) > {const component key.replace(/src/, /).replace(.vue, );const componentName key.split(/).slice(-2, -1)[0] -page;app.component(componentName, modules…...
python优雅地爬虫
申明:仅用作学习用途,不提供任何的商业价值。 背景 我需要获得新闻,然后tts,在每天上班的路上可以听一下。具体的方案后期我也会做一次分享。先看我喜欢的万能的老路:获得html内容-> python的工具库解析࿰…...
mysql8查看执行sql历史日志、慢sql历史日志,配置开启sql历史日志general_log、慢sql历史日志slow_query_log
0.本博客sql总结 -- 1.查看参数 -- 1.1.sql日志和慢sql日志输出方式(TABLE/FILE)。global参数 SHOW GLOBAL VARIABLES LIKE log_output; -- 1.2.sql日志开关。global参数 SHOW GLOBAL VARIABLES LIKE general_log%; -- 1.3.慢sql日志开关。global参数 SHOW GLOBAL VARIABLE…...
vscode关闭绑定元素“xxx”隐式具有“any”类型这类错误
在ts的项目里面,真的经常看到any类型的报错,真的很烦的 所以为了眼不见心不乱,我决定消除这个错误提示 在tsconfig.json里面配置 "noImplicitAny": false 就可以了 {"compilerOptions": {"target": "E…...
View绘制流程-Window创建
前言: View绘制流程中,主要流程是这样的: 1.用户进入页面,首先创建和绑定Window; 2.首次创建以及后续vsync信号来临时,会请求执行刷新流程; 3.刷新流程完成后,会通知SurfaceFlin…...
Jenkins build包时虽然单元测试失败了,但是仍然可以成功build包(最终结束时build success)
1.尝试方案1: 尽管单元测试失败,Jenkins Maven仍然可以获得成功-Java 学习之路 将 -Dmaven.test.failure.ignorefalse 添加到 MAVEN_OPTS artifactoryMaven {goals "-U clean install -Dmaven.test.skipfalse -DallowSnapshotstrue -Dmaven.te…...
【vue3】基础知识点-setup语法糖
学习vue3,都会从基础知识点学起。了解setup函数,ref,recative,watch、comptued、pinia等如何使用 今天说vue3组合式api,setup函数 在学习过程中一开始接触到的是这样的,定义数据且都要通过return返回 <…...
idol!! 2023牛客暑期多校训练营6 C
登录—专业IT笔试面试备考平台_牛客网 题目大意:定义n!!等于与n的奇偶性相同的所有小于等于n的数的阶乘之和,问n!!的末尾有多少0 1<n<1e18 思路:因为末尾0的来源是2*5,而2的个数明显比5的个数多得多,所以末尾…...
深入理解Jdk5引入的Java泛型:类型安全与灵活性并存
深入理解Jdk5引入的Java泛型:类型安全与灵活性并存 在Java的中,有一个强大的工具,它可以让你在编写代码时既保持类型安全,又享受灵活性。**这个工具就是——泛型(Generics)。**本文将引导你深入了解Java…...
CGI Studio 3.11:AI驱动与安全合规的嵌入式HMI开发平台解析
1. 项目概述:为什么我们需要CGI Studio这样的HMI设计工具?在嵌入式系统开发领域,尤其是在汽车、工业和高端家电行业,图形用户界面的复杂度和美观度要求正以前所未有的速度提升。十年前,一个简单的单色LCD屏幕配上几个按…...
Keil MDK中EVR选项缺失的解决方案与原理
1. 问题现象解析:EVR选项缺失的典型表现 在Keil MDK开发环境中使用Event Recorder(事件记录器)时,开发者常会遇到一个令人困惑的现象:按照官方文档配置printf重定向到EVR时,STDOUT的下拉菜单中本该出现的&q…...
operation backup
operation & backup 运维备份(多地)...
Obsidian i18n终极指南:3步实现插件界面中文化,告别英文困扰
Obsidian i18n终极指南:3步实现插件界面中文化,告别英文困扰 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n 你是否曾经因为Obsidian插件全是英文界面而感到困惑?每次打开设置页面&…...
【2026最新版Linux安装Mysql】CentOS 7 安装 MySQL 8.4.9 完整流程(RPM 手动安装+避坑+面试)
前言:本文记录在 CentOS 7 / RHEL 7 上,通过官网 RPM Bundle tar 包手动安装 MySQL 8.4.9(LTS) 的完整可复现流程。适合需要在老版本 CentOS 上部署 MySQL、为 Python/AI 后端或 Java 项目准备数据库环境的读者。读完可按步骤完成…...
我答辩前 3 天 AI 率还有 72%?这款工具 4 小时降到 7% 顺利答辩
我答辩前 3 天 AI 率还有 72%?这款工具 4 小时降到 7% 顺利答辩 去年研三答辩前 3 天那个晚上——我送学校做最后的知网 AIGC 检测、回来一看AI 率 72%、学校卡 15% 红线。我整个人坐地上了——3 天根本来不及手改。 后来一位 211 同门给我推荐了比话 PASSÿ…...
我自己写的论文为什么被判 AI 率 60%?这款工具帮我降到 5% 通过 985 知网严查
我自己写的论文为什么被判 AI 率 60%?这款工具帮我降到 5% 通过 985 知网严查 我是 211 直博生、毕业论文 100% 自己手写、没用过任何 AI 工具。送学校知网 AIGC 检测——AI 率 60%,学校卡 15% 红线。我整个人懵了——明明没用 AI 写、为什么算法判我 AI…...
DWC_ether_qos驱动软复位实战:解决网络丢包与DMA死锁
1. 项目概述:从一次诡异的网络丢包说起最近在调试一块基于某款主流SoC的工控板卡时,遇到了一个让人头疼的问题:设备在长时间高负载运行后,网络会间歇性地出现严重丢包,甚至完全断连。重启网络服务能暂时恢复࿰…...
别再混淆了!用PyTorch代码带你彻底搞懂PointNet里的Shared MLP和普通MLP
用PyTorch代码解密PointNet中的Shared MLP与普通MLP本质差异 第一次阅读PointNet论文时,看到"Shared MLP"这个术语总让人困惑——它和普通MLP到底有什么区别?为什么点云处理非要强调"共享"这个概念?本文将通过PyTorch代码…...
C#上位机实战:手把手教你用WinForm控制艾德克斯IT6322B程控电源(附完整源码)
C#工业级程控电源上位机开发实战:从协议解析到多线程安全控制 在工业自动化测试领域,程控电源作为核心供电设备,其精确控制能力直接影响测试结果的可靠性。传统的手动调节方式早已无法满足现代生产线对效率和一致性的要求。以艾德克斯IT6322…...
