目录

一、带宽的概念

1.   B和b的关系

2.    带宽的概念

3.    相关换算公式

二、码率的概念 & 码率和带宽的区别

三、分辨率的概念

1、分辨率的含义

2、分辨率高的好处:

3、图片在不同分辨率手机的效果:

四、帧率的概念

1. 什么是帧率

2、IPB帧

3、GOP(Group Of Picture)

4、示例分析

五、带宽、码率、帧率、分辨率的关系

2.  问题前提:一个视频文件的大小为5.86M,播放时长为3分7秒(目的:根据 文件大小&时长 -> 文件码率)

2.  问题前提:一个视频文件的大小为5.86M,播放时长为3分7秒(目的:根据 分辨率&帧率 -> 推荐码率)


一、带宽的概念

1.   B和b的关系

bit(binary digit-二进制位)是表示信息的最小单位,叫做二进制位;一般用0和1表示。

Byte叫做字节,由8个位(8bit)组成一个字节(1Byte),用于表示计算机中的一个字符。

故 1Byte = 8bit,即 1B=8b其中

2.    带宽的概念

通常宽带速率的单位用bps(或b/s)表示,bps表示比特每秒即表示每秒钟传输多少位信息,是bit per second的缩写。

然而下载速度即下行网速用Byte来算,即 带宽1Mbps = 128KB/s

在实际所说的1M带宽的意思是1Mbps(是兆比特每秒Mbps不是兆字节每秒MBps)。

所以联通最高级别的千兆带宽,是 1000兆带宽 = 1000Mbps = 1000Mb/s  = 1000 * 1024 Kb/s =  1000 * 1024 ÷ 8 KB/s = 128000 KB/s

如下图,想要设置1000Mbps的带宽,对应下行网速为 128000 KB/s

3.    相关换算公式

1B=8b

1B/s=8b/s(或1Bps=8bps)

1KB=1024B

1KB/s=1024B/s

1MB=1024KB

1MB/s=1024KB/s

二、码率的概念 & 码率和带宽的区别

码率也叫比特率,单位是bps,带宽也是这个单位。两者的区别是

带宽是相当于公路,公路越宽,意味着能够容纳更多的人流量;也就是宽窄用传输速度表示,更高的传输速率,代表系统拥有更高的处理能力,是代表能力不是实际情况的速度

而码率是从传输的角度,码率表示1秒内传输多少位。从播放的角度,码率表示1秒内播放多少位(指连续的压缩后的音频或视频数据)。相当于采样调查,类似于压缩之前的原视频某条数据1s有10000位(10000bit)数据,但播放时只有500b,故此时的码率为500b;

其实带宽和码率的关系不大,只是带宽代表了最大的承受速率,码率代表视频压缩后实际传输的速率;

三、分辨率的概念

1、分辨率的含义

目前手机普遍一种分辨率为1920×1080,即1920像素×1080像素。其中1920×1080的像素=2073600,即分辨率为2073600,即大约200万像素。

因为水平方向含有像素数为1920个,垂直方向像素数1080个。故一般又被称1080P,P为逐行扫描的意思;并且我们通常都提1080p而不提1920,是因为1080p仅规范垂直像素点。

2、分辨率高的好处:

手机分辨率高意味着更好的清晰度,也意味着显示更多的内容

3、图片在不同分辨率手机的效果:

相同分辨率的图片在不同分辨率的手机上显示效果不一样。(这也就是测试时,需要适配不同分辨率手机的原因

当我们的手机的分辨率大于我们图片的分辨率的时候,这个时候图片就会被伸展(插入像素)造成图片失帧。其实事实上不仅仅是手机的分辨率大于图片的分辨率这种情况,当手机分辨率小于图片分辨率的时候也会出现图片压缩(释放像素)而造成的模糊。

参考: https://blog.csdn.net/qq_15437701/article/details/39533047

例如:对于500*500的图片,假设所有屏幕大小相同,

  • 如果某屏幕分辨率是1*1,那显示效果就是一个色块(如果手机不能达到和图片一样的像素手机显示的图片就会拥有和手机本身一样的像素,此时其实就是一个像素点其实很小,同屏幕分辨率100*100图片失帧)。

  • 但如果屏幕分辨率是100*100,你就能大概开出这张图的内容,但细节会丢失(因为上面提到手机分辨率小于图片分辨率的时,会进行图片压缩也就是释放一些像素造成了图片失帧)。
  • 如果屏幕分辨率恰好是500*500,则完美显示。分辨率再高显示效果也不会好于1:1显示的,不过一般也不会比1:1的差。

四、帧率的概念

1. 什么是帧率

FPS (帧率Frames Per Second):1秒内平均画面刷新次数,是指1秒钟视频包含多少幅图画,类似动画片和电影胶片,帧率越大看起来更连贯,帧率用fps表示。常见的帧率有25fps、30fps。一般来说,帧率低于15帧/秒,连续的运动视频就会有停顿的感觉,30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感

如视频:「翻页动画」简单、易学、好画的翻页书动画,快做一个吧!,动漫,动漫综合,好看视频,帧率也就是类似1s中翻页多少次,如1s中翻页30次形成的视频,则帧率为 30bps

2、IPB帧

视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。

  ● I帧即Intra-coded picture(帧内编码图像帧),不参考其他图像帧,只利用本帧的信息进行编码
  ● P帧即Predictive-coded Picture(预测编码图像帧),利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码
  ● B帧即Bidirectionally predicted picture(双向预测编码图像帧),提供最高的压缩比,它既需要之前的图
像帧(I帧或P帧),也需要后来的图像帧(P帧),采用运动预测的方式进行帧间双向预测编码

  在视频编码序列中,GOP即Group of picture(图像组),指两个I帧之间的距离,Reference(参考周期)指两个P帧之间的距离。一个I帧所占用的字节数大于一个P帧,一个P帧所占用的字节数大于一个B帧。

  I、P、B帧示意图

  所以在码率不变的前提下,GOP值越大,P、B帧的数量会越多,平均每个I、P、B帧所占用的字节数就越多,也就更容易获取较好的图像质量;Reference越大,B帧的数量越多,同理也更容易获得较好的图像质量。

3、GOP(Group Of Picture)

两个I帧之间形成的一组图片,就是GOP(Group Of Picture)的概念。通常在为编码器设置参数的时候,必须要设置gop_size的值,其代表的是两个I帧之间的帧数目。一个GOP中容量最大的帧就是I帧,所以相对来讲,gop_size设置得越大,整个画面的质量就会越好,但是在解码端必须从接收到的第一个I帧开始才可以正确解码出原始图像,否则会无法正确解码(这也是前面提到的I帧可以作为随机访问的帧)。在提高视频质量的技巧中,还有个技巧是多使用B帧,一般来说,I的压缩率是7(与JPG差不多),P是20,B可以达到50,可见使用B帧能节省大量空间,节省出来的空间可以用来更多地保存I帧,这样就能在相同的码率下提供更好的画质。所以我们要根据不同的业务场景,适当地设置gop_size的大小,以得到更高质量的视频。

4、示例分析

        IPB帧编码顺序(解码顺序)与显示顺序

仅仅使用前一个显示的基准帧来编码的帧被称为“P帧”,同时使用前一个显示帧和未来帧作为基准帧进行编码的帧称为“B帧”。在通常的场景中,编解码器编码一个I帧,然后向前跳过几个帧,用编码I帧作为基准帧对一个未来P帧进行编码,然后跳回到I帧之后的下一个帧。编码的I帧和P帧之间的帧被编码为B帧。之后,编码器会再次跳过几个帧,使用第一个P帧作为基准帧编码另外一个P帧,然后再次跳回,用B帧填充显示序列中的空隙。这个过程不断继续,每12到15个P帧和B帧内插入一个新的I帧。例如,图1种给出了一个典型的视频帧序列。

通常,更换场景后的第一帧就是I帧,I帧应当全帧传送。从压缩的程度来看,I画面的压缩量最少;P画面次之,它是以I画面为基础;B画面压缩最多。为了加大压缩比,通常在I帧后面相隔2帧(最多3帧)设置1个P帧,在I、P帧之间都是B帧,在两个P帧之间也是设置2~3帧B帧。B帧传送它与I帧或P帧之间的差值信息,或者P帧与后面P帧或I帧之间的差值信息,或者它与前后I、P帧或P、P帧平均值之间的差值信息。当主体内容变化愈大时,两个I画面之间的帧数值越小;当主体内容变化小时,I面画的间隔可以适当大一些。或者说,B帧、P帧所占比例越大,图像压缩比越高。一般两个I画面相隔13~15帧,相隔帧数不宜再多。

下面以15帧为例,说明VCD图像帧的排列顺序。I、P、B三种画面的典型设置方式,对NTSC制共约需半秒时间。节目输入顺序是按实际出现顺序排列的,即I、B、B、P、B、B、P、B、B……I、B、B、P……;但为了解码时便于从I、P画面插补得到B画面,在编码录制节目时,将顺序改变了,即按照I、P、B、B……顺序,即改为按原来0、3、1、2、6、4、5、9、7、8…的画面顺序。解码时先解出0帧、3帧,再由其插补预测计算得出1帧、2帧等等。为此,须在解码器内设置动态存储器,将I、P帧先解码并存储,再计算出各个B帧。不过最后输出时,还是应当按照实际播放顺序重组读出,按正确顺序输出。

音视频编码卡的视频编码算法从JPEG 发展到MPEG-1、MPEG-2、MPEG-4和H.264。JPEG是一种著名的图像压缩方法,最初由Joint Photographic Experts Group在1986年提出并于1992年正式成为ISO标准(ISO/IEC 10918),主要应用于静态图像压缩,如果把它用在运动图像压缩的时候,就是我们通常所说的Motion-JPEG,由于JPEG相当于MPEG的帧内压缩,因而没有去除时域上的冗余,所以在保证一定图像质量的时候,压缩比不高,通常只有10-30倍,但是它有一个固定的优点,就是延迟在40ms,实时性很好,所以在某些特殊应用的场合仍然可以看到它的踪影。MPEG运动图像编码技术标准是由Motion Picture Experts Group在1988年提出,并于1992年11月通过,1993年8月作为ISO/IEC 11172标准公布,这就是通常所说的MPEG-1。MPEG-1为了追求更高的压缩效率,更注重去除图像系列的时间冗余度。因此引入了I帧(帧内编码)、P帧(前向预测编码)、B帧(双向预测编码)。P帧由前一个I帧或P帧图像来预测,而B帧由前后的两个P帧或一个I帧和一个P帧来预测,因而编解码和帧的显示顺序有所不同,如图1所示

I B B P B B P…B B I    I P B B P B B … I B B
1 2 3 4 5 6 7 …        1 4 2 3 7 5 6 …
  (a) 显示顺序          (b) 编解码顺序
                  图 1
        在此有两个问题需要说明:首先是插多少B 帧最合适?理论上说I、P之间插入的B帧越多,压缩比越高,但是编解码器所需的帧存储器也越大,因此实际应用中一般最多两个。其次,B帧的引入会增加编解码端的延迟,如果追求网络监视的时延,最好是不使用B帧。

五、带宽、码率、帧率、分辨率的关系

1.  问题前提:一个视频文件的大小为5.86M,播放时长为3分7秒(目的:根据 文件大小&时长 -> 文件码率)

1). 该文件对应的码率就是

5.86 * 1024 * 1024 * 8 / (3 * 60 + 7) =262872.95657754bps,其中计算5.86 * 1024 * 1024 * 8后的单位是位bit,视频文件共有(5.86 * 1024 * 1024 * 8)bit信息

2). 10M独享带宽能支撑的同时在线人数

10* 1024 * 1024 / 262872.95657754 =39.889078498294,其中10M = (10* 1024)K  =(10* 1024 * 1024)b

3). 支撑1000人同时在线的系统最少需要的带宽数为

262872* 1000 / (1024 * 1024) = 250.69427490234M,其中码率单位是bps,带宽单位 MB/s,故需要 1b = 1/ (1024 * 1024) = ... M

2.  问题前提:一个视频文件的大小为5.86M,播放时长为3分7秒(目的:根据 分辨率&帧率 -> 推荐码率)

视频宽    视频高    帧率60    帧率30    帧率25(荐)    帧率20    帧率15    帧率10    分辨率比例

计算公式 bitrate = w * h * fps * factor

手机直播场景: factor=0.08 ,同上表,建议不超过 0.2
电脑推流、本地录像保存:根据带宽实际需求,可提高, 建议不超过 0.5
大部分编码器有最大码率限制,不要超出最大值
例如
1) . 720X480 25帧 推荐码率 675Kb/s ( 720 * 480 * 25 * 0.08 )/1024 = 675Kb/s ,100M带宽够100/0.675≈148路 ,其中 ( 720 * 480 * 25 * 0.08 )单位为bit, 从bitrate = w * h * fps * factor 也能看出来单位

2).1280X720 25帧 推荐码率 1800Kb/s,100M带宽够100/1.8≈55路

参考链接:

https://blog.csdn.net/blade2001/article/details/46944287/

https://blog.csdn.net/ssllkkyyaa/article/details/110138393

直播视频分辨率码率参考设置_清霜之辰的专栏-CSDN博客

​​​​​​相同分辨率的图片在不同分辨率的手机上显示效果一样吗_百度知道

Android 图片失真的原因_我是小小舒-CSDN博客

带宽、帧率、分辨率概念与计算相关推荐

  1. 二元偏导数存在的条件_高等数学入门——高阶偏导数的概念和计算

    这个系列文章讲解高等数学的基础内容,注重学习方法的培养,对初学者不易理解的问题往往会不惜笔墨加以解释.在内容选取上,以国内的经典教材"同济版高等数学"为蓝本,并对具体内容作了适当取 ...

  2. 目标跟踪 OP,CLE,DP,AUC的概念和计算

    目标跟踪 OP,CLE,DP,AUC的概念和计算 概念 计算 概念 OP(%): overlap precision 重叠率 CLE(pixels): center location error 中心 ...

  3. 同一网段的概念以及计算

    同一网段的概念以及计算 同一网段的概念 同一网段指的是IP地址(ip)和子网掩码(mask)相与得到相同的网络地址.想在同一网段,必须做到网络标识相同. 同一网段的计算 以我自己电脑上的ip地址和子网 ...

  4. GNSS基本概念(10):GNSS定位中的不同高度概念及计算

    GNSS定位中的不同高度概念及计算_路痴导航员的博客-CSDN博客_椭球高度和海拔高度的差距 RTKLIB中高度设置与计算 如下图中RTKPOST的配置页面所示,RTKLIB中支持两种高度输出: 默认 ...

  5. 大数据计算1-综述大数据概念,计算体系

    1.体系 大数据概念,计算体系 数据采集.建模和分析 大数据处理的分析算法 大数据处理技术 数据可视化 Hadoop计算体系 HDFS/HBase存储架构 MapReduce计算模型 计算模型和架构 ...

  6. 第八讲 一元积分概念与计算

    第八讲 一元积分概念与计算 重点 概念 不定积分 不定积分存在定理 定积分 不定积分 计算 概念 不定积分 原函数 一个 全体 不定积分 存在定理 连续函数必有原函数 振荡间断点可能有原函数 含第一类 ...

  7. Intel Realsense D435 多摄像头配置 Multi-camera configurations (220)(官方测试的摄像头配置表【不同带宽下分辨率、帧率等】)

    参考文章:Multi-camera configurations 1.异步传输(stream asynchronously)是否会对我们的识别造成影响?如果有影响,影响是否可忽略不计. 2020032 ...

  8. Web 动画帧率(FPS)计算

    (点击上方公众号,可快速关注) 作者: 伯乐在线/chokcoco http://web.jobbole.com/93325/ 我们知道,动画其实是由一帧一帧的图像构成的.有 Web 动画那么就会存在 ...

  9. 一文搞懂图片像素、图片大小、图片存储类型等概念和计算

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.计算机存储的底层知识 二.图片 1.图片像素 2.图片存储类型(图片深度) 总结 前言 学习计算机视觉两年多了,发 ...

最新文章

  1. win7编程接口的一些变化
  2. linux centos 下载rpm源码包
  3. java.util.concurrent BlockingQueue详解
  4. java中String类是什么_Java中的String类
  5. 设计模式之工厂模式和抽象工厂
  6. java io流读写文件换行_java基础io流——OutputStream和InputStream的故事(温故知新)...
  7. Android跑马灯
  8. 计算机丢失quartz.dll什么意思,win7系统中出现缺少quartz.dll文件的修复方法
  9. 安卓三维展示源码_手机(安卓)自动化脚本开发线上培训
  10. 玩转算法之面试-第六章(栈和队列)
  11. python中字典使用_python中字典的使用
  12. 手机MODEM开发( 25)---如何配置VoLTE, ViLTE and VoWifi(IMS config for VoLTE, ViLTE and VoWifi)
  13. vb.ne textbox数字保存excel_Excel 另类保护:锁死页面布局、保存、审阅标签右键等菜单禁编辑...
  14. C++ 头文件使用规范建议
  15. 开源linux 二进制工具,又一款开源好物:逐字节分析的二进制数据分析工具bitinsight...
  16. Windows Server2003搭建ssl通信
  17. 【uniapp小程序】—— APP项目云打包(安卓)
  18. 【每周论文阅读-第四周】proposal-level 特征聚合视频目标检测方法01
  19. Kaggle项目之Mobile App Store
  20. 关于微软Bing搜索语言无法更改的问题

热门文章

  1. 【蜂口 | AI人工智能】人脸颜值——龙鹏 深度学习与人脸图像应用连载(五)
  2. 南京邮电大学C++实验报告四
  3. LSTM前向传播与反向传播算法推导(非常详细)
  4. 【大一C语言项目】Cjson的认识与实现(一)
  5. php 删除 确认,js确认删除方法 js删除确认提示框
  6. SpringBoot API增加version版本号
  7. RK3399 系列 U-BOOT HDMI vide mode
  8. lvextend 逻辑卷扩容(xfs_growfs、resize2fs配合扩展文件系统)
  9. P7448 [Ynoi2007] rdiq
  10. python【系列教程】之合金弹头