画质、码率、帧数、分辨率、体积的基础编码知识
本文转载自网络,出处未知。
很多新手对这方面的概念都比较模糊,这是我在网上总结来的有关画质、码率、帧数、分辨率、体积的基础编码知识,只要认真看完,基本就对这方面有个全面基础的了解了。
什么是视频编码率?
可以简单的理解为,衡量文件体积大小的关键参数,表示每秒钟多少KB的参数。
观察会发现他的单位是Kbps,其实Kbps是Kbit/s的意思,8Kbit/s=1KB/s。
也就是说800Kbps意思就是每秒视频就要占用100KB磁盘空间(当然这里没有加上音频所占的体积)。
上面举例只是让你对视频编码率(以下简称为:码率)有一个具体的形象,其实不用自己算,WisMencoder都已经帮你算好了,就在软件的右下角显示了当前配置每小时和每分钟所需要占用的磁盘空间。(只是理论值,实际压缩后的编码率可能有一定误差)
所以你可以理解为压缩同一个视频,视频编码率越大,文件体积越大。
和画质的关系:文件体积大了,价值何在?可以认为:视频编码率越大,画质越好,马赛克越少。
什么是帧数?
我们都知道电影是由一张张的图片组成的,播放电影时,一张张画面快速连续的出现。这里其中的每张画面称之为“帧”。
帧数在WisMencoder的单位其实是fps,即全称应为每秒的帧数。也就是每秒含有多少张画面。显然,每秒含有的画面数越多,则画面显得越连续,越少,则画面越“卡”。
和画质的关系:帧数也与画质有关!在同一视频,同一码率的情况下,帧数越大,则画质越不好。尤其是运动的画面。因为每张画面会分担每秒有限的文件体积,如果画面越多,那么每张画面所能表现的内容就越有限。
什么是画面大小?
这里的画面大小,单位是像素,而不是英寸和厘米。这要弄清楚。画面大小也称为分辨率。
每个像素就是一个点,640x480就表示该视频的每张画面是由宽640点,高480点组成的。现在相机所说的像素也是这个概念,只不过相机所说的像素是宽和高的乘积值。
很容易理解,画面大小越大的视频,能反映的图像就越细致,越清楚。就好比你用一个5x5的棋盘摆一个图形和用一个50x50摆一个图形,5x5很难反映50x50的细节一样。
和编码率的关系:越高的画面大小,需要越高的编码率,因为图像的细节多了,需要的文件体积也应该增大,否则还不如画面小一些,你会发现同一码率,画面越大,图像的马赛克程度越明显。
当码率从1500降到400时,画面显得模糊,并伴有马赛克。而在同等编码率下,很小的画面,就可以表现的很好,因为它不需要那么多的细节,因此400的码率可以充分表现它的细节。
这里给出一些个人建议:
如果你是放在手机里看,那么你可以尽量选择更底的码率,并且适当降低帧数,这样压缩后的视频就会表现得很好。
如果你在电脑上看,而源文件又不那么清晰的情况下,你完全可以缩小一些画面大小,以取得更好的画质,同时不要大幅度缩小码率,且不要缩小帧数。
不要将画面大小设置的比源文件还大,但码率却可以比源文件更大些,因为每次压缩都要对画面进行重新处理,而原本可能就不好的片源,再加上较低的码率,画面又会打一次折扣。
动漫视频可以适当降低帧数,因为他们对画面连续度没有武打片那样苛刻。同时还可以充分降低码率。
其实以上的说法只是理论上的,比较笼统,实际情况并没有那么简单。比如,很多人都知道,分辨率过低,在电脑上实际显示是有朦胧的颗粒感的,这就涉及到电脑屏幕播放的问题。
详细补充:
码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,但是文件体积与取样率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真,围绕这个核心衍生出来的cbr(固定码率)与vbr(可变码率),都是在这方面做的文章,不过事情总不是绝对的,从音频方面来说,码率越高,被压缩的比例越小,音质损失越小,与音源的音质越接近。“码率”就是失真度,码率越高越清晰,反之则画面粗糙而多马赛克。计算机中的信息都是二进制的0和1来表示,其中每一个0或 1被称作一个位,用小写b表示,即bit(位);大写B表示byte,即字节,一个字节=八个位,即1B=8b;前面的大写K表示千的意思,即千个位(Kb)或千个字节(KB)。表示文件的大小单位,一般都使用字节(KB)来表示文件的大小。
Kbps:首先要了解的是,ps指的是/s,即每秒。Kbps指的是网络速度,也就是每秒钟传送多少个千位的信息(K表示千位,Kb表示的是多少千个位),为了在直观上显得网络的传输速度较快,一般公司都使用kb(千位)来表示,如果是KBps,则表示每秒传送多少千字节。1KBps=8Kbps。 ADSL上网时的网速是512Kbps,如果转换成字节,就是512/8=64KBps(即64千字节每秒)。
帧数简单地说,帧数就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。高的帧率可以得到更流畅、更逼真的动画。每秒钟帧数 (fps) 愈多,所显示的动作就会愈流畅。一般来说30fps是可以接受的,所以要避免动作不流畅的最低fps是30。除了30fps外,有些计算机视频格式,例如 AVI,每秒只能提供15帧。我们之所以能够利用摄像头来看到连续不断的影像,是因为影像传感器不断摄取画面并传输到屏幕上来,当传输速度达到一定的水平时,人眼就无法辨别画面之间的时间间隙,所以大家可以看到连续动态的画面。
每秒的帧数(fps)或者说帧率表示图形处理器场景时每秒钟能够更新几次。高的帧率可以得到更流畅、更逼真的动画。一般来说30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感,但是一般来说超过75fps一般就不容易察觉到有明显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为显示器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。
一般用“FPS(frame per second,每秒钟画面更新的数量)”来表示该项指标。在欣赏电视、电影画面时,只要画面的刷新率达到24帧/秒,就能满足人们的需要。同样的,在玩普通的游戏时,如果刷新率达到24帧/秒即可,但在一些高速游戏中(例如射击游戏),如果画面的刷新率还是只有24帧/秒,那么就会感觉到画面比较迟钝,不够流畅。
虽然理论上画面的刷新率越快越好,但过高的刷新率并没有实际意义——当画面的FPS达到60帧/秒时,已经能满足绝大部分应用需求。一般情况下,如果能够保证游戏画面的平均FPS能够达到30帧/秒,那么画面已经基本流畅;能够达到50帧/秒,就基本可以体会到行云流水的感觉了。一般人很难分辨出60 帧/秒与100帧/秒有什么不同。
是什么影响了FPS
既然刷新率越快越好,为什么还要强调没必要追求太高的刷新率呢?其中原因是在显示分辨率不变的情况下,FPS越高,则对显卡的处理能力要求越高。
电脑中所显示的画面,都是由显卡来进行输出的,因此屏幕上每个像素的填充都得由显卡来进行计算、输出。当画面的分辨率是1024×768时,画面的刷新率要达到24帧/秒,那么显卡在一秒钟内需要处理的像素量就达到了“1024×768×24=18874368”。如果要求画面的刷新率达到50 帧/秒,则数据量一下子提升到了“1024×768×50=39321600”。
FPS与分辨率、显卡处理能力的关系如下:处理能力=分辨率×刷新率。这也就是为什么在玩游戏时,分辨率设置得越大,画面就越不流畅的原因了。
码率影响体积,与体积成正比:码率越大,体积越大;码率越小,体积越小。
帧率影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。如果码率为变量,则帧率也会影响体积,帧率越高,每秒钟经过的画面越多,需要的码率也越高,体积也越大。
分辨率影响图像大小,与图像大小成正比:分辨率越高,图像越大;分辨率越低,图像越小。
看了上面的关系,你会发现,没有提到清晰度的内容,因为清晰度对两个元素有依赖性,需要讨论两种情况的。
首先明确一下“清晰度”的概念:所谓“清晰”,是指画面十分细腻,没有马赛克。并不是分辨率越高图像就越清晰。
简单说:
在码率一定的情况下,分辨率与清晰度成反比关系:分辨率越高,图像越不清晰,分辨率越低,图像越清晰。
在分辨率一定的情况下,码率与清晰度成正比关系,码率越高,图像越清晰;码率越低,图像越不清晰。
但是,事实情况却不是这么简单。
可以这么说:在码率一定的情况下,分辨率在一定范围内取值都将是清晰的;同样地,在分辨率一定的情况下,码率在一定范围内取值都将是清晰的。
先说说马赛克,根据百度百科:
马赛克指现行广为使用的一种图像(视频)处理手段,此手段将影像特定区域的色阶细节劣化并造成色块打乱的效果,因为这种模糊看上去有一个个的小格子组成,便形象的称这种画面为马赛克。
我们在视频转换时出现的马赛克是我们不想要的。它的出现是因为码率不够造成的色阶缺失。打个比方(只是比方),源视频相邻10个像素点每个点代表一种颜色,需要10Kbp/s码率,而你只分配了2Kbp/s给它,那么原来的10个颜色就只能留下2个,如果还保持10个像素点的分辨率,那么每就会5个像素点共用一个颜色,出来的效果就是这5个像素点的屏幕区域就一种颜色填充,画面就变得粗糙了。
打个比方,我们给予一个视频 8000 kbp/s 的码率,这算是比较高的码率了,它能保证在720*576分辨率下画面上每个像素点都代表一个独立的色块而非从相邻色块渲染而来。在这种8000 kbp/s码率下,我们说只要分辨率小于720*576,画面就是清晰的,因为画面越小,越不需要借助渲染来增加色块。
反过来说,当分辨率限定为352*288(画面大小为720*576的四分之一),此时3000kbp/s码率就可以保证其每个像素点的独立性,那么只要码率高于3000kbp/s,就
可以保证图像的清晰度。
建议参考“常见视频光盘采用算法、标准分辨率及标准帧率(VCD SVCD KVCD DVD KDVD HDVD)”,看源视频和哪个分辨率相近,就用哪个分辨率,这样可以最小程度地对源视频进行渲染。
如果源视频是高清画质,分辨率特别高,高出DVD规格许多,那么,因为DVD规格的最大分辨率就是720*576,不能设置更高,所以,目标分辨率最高只能保持到720*576。
前面说了,分辨率不决定清晰度,分辨率一定的情况下,码率要高于某个数值才能保持绝对清楚,因此,如果目标码率太低,出现马赛克的情况很正常。
降低分辨率当然可以解决马赛克的问题,但是会丢失大量细节,在大屏幕电视上播放会因为放大渲染而产生颗粒感。但在小电视上看区别不明显。
不出现或少出现马赛克、同时用较高分辨率保留更多画面细节,其直接结果是占用光盘空间巨大,一张光盘刻录不了多少内容。
这里面的矛盾想起来都令人头疼,别人无法帮你做这个决定,只能由你自己权衡利弊,鱼与熊掌不可兼得。