比特率,帧率,分辨率对视频画质的影响

2023-05-16

0.前言

前几天和别人讨论视频编码参数对视频清晰度影响,今日查查文献在此记录总结下。

对最终用户而言,其只关心视频的文件大小和画面质量。
其中画面质量包括:分辨率,清晰度和流畅度。
流畅度:这个因素相对独立,其影响因素就是视频帧率(FPS)
分辨率:视频画面大小
清晰度:单位面积的画面所承载的信息,在对视频进行评价是就是当FPS和分辨率固定时,考察视频的清晰度。

首先我么假定采用的某个固定的编码器(比如x264),在其它参数固定的情况下,考察某个参数对视频的影响。

1. 帧率(Frame Rate)

帧率英文为Frame Rate,单位Frame Per Second(FPS),某些情况简称FPS,指视频每秒包含的帧数。
视频帧率最低设置为24帧,这和人眼的反应速度有关,当帧率低于这个数值时,人眼就会感觉到明显的卡顿。

通常视频的帧率设置为30FPS,也有部分24FPS,其它少见。更低会产生卡顿,更高意义不大,除非存在慢速播放这种场景。

帧率对视频画质没有影响
帧率和视频大小正相关。视频大小和FPS/GOP_SIZE存在一定的线性相关性。

GOP_SIZE是ffmpeg中的一个编码参数,表示的每GOP_SIZE个帧存在一个关键帧。

2. 分辨率

视频分辨率这个概念不多做解释。

2.1 分辨率的影响

分辨率对视频大小和画质有着非常重要的影响。
如果清晰度和流畅度不变,分辨与视频画质,大小正相关。但是前提条件是清晰度不变,单纯的增加分辨并不能带来更好的画质。

下图描述的是同分辨率视频在不同大小的显示器上,观众对画面的主观效果。[1]

结果显示,同等分辨率的前提下,显示屏幕越大,主观感受越差。
这里写图片描述

这里写图片描述

2.2 常用的分辨率

如下表所示:[2]

RGB图像分辨率数据量
QCIF(176×144)76,032 Byte
CIF(352×288)304,128 Byte
QVGA(320×240)230,400 Byte
VGA(640×480)921,600 Byte
SVGA(800×600)1,440,000 Byte
SD-PAL(720×576)1,244,160 Byte
SD_NTSC(720×480)1,036,800 Byte
HD(1280×720)2,8764,800 Byte
FHD(1920×1080)6,220,800 Byte

这里写图片描述

3. 比特率(Bit Rate)

3.1 概念

比特率,英文为Bit Rate,是指每秒传送的比特(bit)数。[1]
单位为bps(Bit Per Second)
比特率越高,传送的数据越大
在视频领域,比特率常翻译为码率

3.2 比特率的影响

(1)比特率是影响视频清晰度的一个重要参数
当比特率越大,视频清晰度就越高。其影响存在边际效应递减现象,并且存在上限(视频原始数据的画质)。

这里写图片描述
图片来源[3]

(2)比特率决定了视频大小
视频大小video_size 和比特率BitRate的关系如下:

VideoSize=VideoDurationBitRate8

eg:
(1)video information
ffprobe v3.mp4
这里写图片描述

VideoDuration = 59.56 s
BitRate = 1655 kb/s

VideoSize = 59.56 * 1655 / 8 * 1000 = 12321475b

(2)video size

ll v3.mp4

-rw-r–r– 1 guohe staff 12327444 7 19 2016 v3.mp4

(3)结果
真实大小:12327444
计算大小:12321475
存在一定误差

4. 结论

(1)帧率(FPS)决定视频流产度,对视频大小存在影响
(2)仅仅增加分辨率,会降低视频质量的主观感受;只有在保证清晰度的条件下,才能提高视频质量的主观感受
(3)比特率与视频质量正相关,且存在边际效应递减现象
(4)比特率和视频大小线性相关

5. 参考文献

[1] 图像大小,分辨率与人眼主观感受之间的关系 (与压缩编码无关)
[2] 数字媒体技术揭秘
[3] 视频质量,分辨率以及码率之间的关系

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比特率,帧率,分辨率对视频画质的影响 的相关文章

随机推荐

  • 06-springboot集成ES详解

    springboot集成ES详解 1 new springboot项目 xff08 看项目记得配环境 xff0c 如jdk xff09 问题 xff1a 一定要保证我们导入的依赖和我们es版本一致 编写config配置类 span clas
  • 07-DockerFile

    文章目录 DockerFileDockerFile构建过程 DockerFile的指令 实战 构建自己的centosCMD 和 ENTRYPOINT 的区别实战 xff1a DockerFile制作tomcat镜像发布镜像发布镜像到阿里云镜
  • 23种设计模式

    此笔记从B站狂神说Java 获取 什么是设计模式 学习设计模式的意义 GoF23 oop七大原则 xff08 1 xff09 开闭原则 一个软件的实体应当对扩展开放 xff0c 对修改关闭 xff1b xff08 2 xff09 里氏替换原
  • springboot上传-下载文件-Hutool

    springboot上传 下载文件 Hutool 1 导入依赖 span class token tag span class token tag span class token punctuation lt span dependenc
  • springsecurity复习

    springsecurity 新建springboot项目 1 导入依赖 span class token tag span class token tag span class token punctuation lt span depe
  • Keras输出Tensor具体值

    Keras输出Tensor具体值 在Tensorflow中 xff0c 如果直接打印Tensor的值 xff0c 一般只会输出其格式 xff0c 例如 tf Tensor 但是有些时候就需要在程序中 xff0c 将具体的内容输出 xff1b
  • jenkins学习

    文章目录 jenkinsGitLab安装使用在ssh下安装gitlab1 安装依赖2 配置镜像3 开始安装gitlab常用命令 在docker下安装gitlab安装docker使用容器安装gitlab访问管理员账号登录 Jenkins安装安
  • java中操作redis

    对Hashmap的操作 span class token annotation punctuation 64 Autowired span span class token keyword private span span class t
  • C++ 网络编程 TCP 用select实现的并发 异步

    C 43 43 TCP网络编程 服务器端多线程处理会话连接 xiyangxiaoguo的博客 CSDN博客 上一篇采用的是建立新的线程的方法去处理一个新的客户端到服务器的TCP连接 xff0c 对于少量的客户端连接到服务器这种方法不存在问题
  • FFmpeg 命令常见操作

    1 转码 ffmpeg i source mp4 ss 20 t 10 c copy my mp4 ffmpeg ss 10 t 15 accurate seek i test mp4 c a copy c v copy tt mp4 i
  • FFprobe查看&统计视频信息

    1 查看音视频信息 1 1 查看基本信息 ffprobe span class token number 1280 span x720 h264 8mbps 30fps span class token punctuation span m
  • 百度2014校园招聘研发工程师笔试题+答案

    一 xff0c 简答题 30分 1 xff0c 当前计算机系统一般会采用层次结构存储数据 xff0c 请介绍下典型计算机存储系统一般分为哪几个层次 xff0c 为什么采用分层存储数据能有效提高程序的执行效率 xff1f 10分 xff08
  • Linux 查看文件夹大小,磁盘剩余空间(du/df)

    1 简介 du查看目录大小 xff0c df查看磁盘使用情况 2 du disk usage xff08 1 xff09 基本功能 递归查看文件夹下所有文件的大小 xff08 2 xff09 常用参数 xff1a h human reada
  • Python matplotlib高级绘图详解

    1 前言 前面我们介绍了使用matplotlib简单的绘图方法 xff08 见 xff1a Python应用matplotlib绘图简介 xff09 但是想要完全控制你的图形 xff0c 以及更高级的用法 xff0c 就需要使用 pyplo
  • ffmpeg视频精准剪切

    1 导言 ffmepg剪切视频 xff0c 很方便 xff0c 但是也有很大缺陷 xff1a xff08 1 xff09 剪切时间点不精确 xff08 2 xff09 有时剪切的视频开头有黑屏 造成这些问题的原因是ffmpeg无法seek到
  • AudioChannelManipulation

    Manipulating audio channels with ffmpeg Contents stereo mono streamstereo 2 mono filesstereo 2 mono streamsmono stereo2
  • sklearn数据集随机切分(train_test_split)

    sklearn学习 给定数据集X和类别标签y xff0c 将数据集按一定比例随机切分为训练集和测试集 代码 span class hljs comment usr bin env python span span class hljs co
  • 音频节奏检测(Onset Detection)

    1 前言 最近市场上出现一些多个视频拼接而成MV xff0c 其原理是根据音频的节拍变换切换视频 我在这里讲述下如何进行音频节拍检测 2 音频检测一般流程 3 3 1 原始音频频谱 以1024为窗口 xff08 即每次读取1024个采样点
  • 金融时间序列分析:6. AR模型实例(R语言)

    0 目录 金融时间序列分析 xff1a 9 ARMA自回归移动平均模型 金融时间序列分析 xff1a 8 MA模型实例 xff08 Python xff09 金融时间序列分析 xff1a 7 MA滑动平均模型 金融时间序列分析 xff1a
  • 比特率,帧率,分辨率对视频画质的影响

    0 前言 前几天和别人讨论视频编码参数对视频清晰度影响 xff0c 今日查查文献在此记录总结下 对最终用户而言 xff0c 其只关心视频的文件大小和画面质量 其中画面质量包括 xff1a 分辨率 xff0c 清晰度和流畅度 流畅度 xff1