原文地址: https://blog.csdn.net/pc9319/article/details/79621352
視頻碼率打颤、幀率和分辨率到底哪一個影響電影的清晰度
碼率:影響體積,與體積成正比:碼率越大漓滔,體積越大瘸洛;碼率越小,體積越小次和。
碼率就是數據傳輸時單位時間傳送的數據位數,一般我們用的單位是kbps即千位每秒反肋。也就是取樣率(并不等同與采樣率,采樣率的單位是Hz踏施,表示每秒采樣的次數)石蔗,單位時間內取樣率越大,精度就越高畅形,處理出來的文件就越接近原始文件养距,但是文件體積與取樣率是成正比的,所以幾乎所有的編碼格式重視的都是如何用最低的碼率達到最少的失真日熬,圍繞這個核心衍生出來cbr(固定碼率)與vbr(可變碼率)棍厌, “碼率”就是失真度,碼率越高越清晰竖席,反之則畫面粗糙而多馬賽克耘纱。
下面是通過一個wav文件的采樣率來計算碼率和文件大小,通過MediaInfo工具顯示的文件信息如下:
概要
完整名稱 :audio\wav\adele-rolling_in_the_deep.wav
文件格式 : Wave
文件大小 : 38.3 MiB
長度 : 3分 47秒
平均混合碼率 : 1 411 Kbps
音頻
ID : 0
文件格式 : PCM
格式設置,Endianness : Little
編碼設置ID : 1
編碼設置ID/提示信息 : Microsoft
長度 : 3分 47秒
碼率 : 1 411.2 Kbps
聲道 : 2聲道
采樣率 : 44.1 KHz
位深度 : 16位
1.碼率計算公式:
碼率=采樣率 x 位深度 x 聲道
所以毕荐,上面文件的碼率= 44.1Khz x 16位 x 2聲道= 1411.2 Kbps
2.文件大小 = 碼率 x 時長 = 1411.2 Kbps x (3 x 60 + 47 )s = 1411.2Kbps x 227s =38102.4Kb
38102.4 Kb /1024 Kb/M = 37.2M
近似等于mediainfo工具顯示的文件大小38.3M束析。
注:此計算公式對未壓縮的wav格式文件有效,不適用于mp3等被壓縮的文件憎亚。
通常來說员寇,一個視頻文件包括了畫面及聲音弄慰,例如一個RMVB的視頻文件,里面包含了視頻信息和音頻信息蝶锋,音頻及視頻都有各自不同的采樣方式和比特率陆爽,也就是說,同一個視頻文件音頻和視頻的比特率并不是一樣的扳缕。而我們所說的一個視頻文件碼流率大小墓陈,一般是指視頻文件中音頻及視頻信息碼流率的總和。
以國內最流行第献,大家最熟悉的RMVB視頻文件為例贡必,RMVB中的VB,指的是VBR庸毫,即Variable BitRate的縮寫仔拟,中文含義是可變比特率,它表示RMVB采用的是動態(tài)編碼的方式飒赃,把較高的采樣率用于復雜的動態(tài)畫面(歌舞利花、飛車、戰(zhàn)爭载佳、動作等)炒事,而把較低的采樣率用于靜態(tài)畫面,合理利用資源蔫慧,達到畫質與體積可兼得的效果挠乳。
幀率(FPS):影響畫面流暢度,與畫面流暢度成正比:幀率越大姑躲,畫面越流暢睡扬;幀率越小,畫面越有跳動感黍析。如果碼率為變量卖怜,則幀率也會影響體積,幀率越高阐枣,每秒鐘經過的畫面越多马靠,需要的碼率也越高,體積也越大蔼两。
幀率就是在1秒鐘時間里傳輸的圖片的幀數甩鳄,也可以理解為圖形處理器每秒鐘能夠刷新幾次。每秒顯示的圖片數影響畫面流暢度宪哩,與畫面流暢度成正比:幀率越大娩贷,畫面越流暢第晰;幀率越小锁孟,畫面越有跳動感彬祖。由于人類眼睛的特殊生理結構,如果所看畫面之幀率高于16的時候品抽,就會認為是連貫的储笑,此現象稱之為視覺暫留。并且當幀速達到一定數值后圆恤,再增長的話突倍,人眼也不容易察覺到有明顯的流暢度提升了。
分辨率:影響圖像大小盆昙,與圖像大小成正比:分辨率越高羽历,圖像越大;分辨率越低淡喜,圖像越小秕磷。
帶寬、幀率(FPS)
例如在ADSL線路上傳輸圖像炼团,上行帶寬只有512Kbps澎嚣,但要傳輸4路CIF分辨率的圖像。按照常規(guī)瘟芝,CIF分辨率建議碼率是512Kbps易桃,那么照此計算就只能傳一路,降低碼率勢必會影響圖像質量锌俱。那么為了確保圖像質量晤郑,就必須降低幀率,這樣一來贸宏,即便降低碼率也不會影響圖像質量贩汉,但在圖像的連貫性上會有影響。
GOP(Group of picture)
關鍵幀的周期锚赤,也就是兩個IDR幀之間的距離匹舞,一個幀組的最大幀數,一般而言线脚,每一秒視頻至少需要使用 1 個關鍵幀赐稽。增加關鍵幀個數可改善質量,但是同時增加帶寬和網絡負載浑侥。
需要說明的是姊舵,通過提高GOP值來提高圖像質量是有限度的,在遇到場景切換的情況時寓落,H.264編碼器會自動強制插入一個I幀括丁,此時實際的GOP值被縮短了。另一方面伶选,在一個GOP中史飞,P尖昏、B幀是由I幀預測得到的,當I幀的圖像質量比較差時构资,會影響到一個GOP中后續(xù)P抽诉、B幀的圖像質量,直到下一個GOP開始才有可能得以恢復吐绵,所以GOP值也不宜設置過大迹淌。
同時,由于P己单、B幀的復雜度大于I幀唉窃,所以過多的P、B幀會影響編碼效率纹笼,使編碼效率降低句携。另外,過長的GOP還會影響Seek操作的響應速度允乐,由于P矮嫉、B幀是由前面的I或P幀預測得到的,所以Seek操作需要直接定位牍疏,解碼某一個P或B幀時蠢笋,需要先解碼得到本GOP內的I幀及之前的N個預測幀才可以,GOP值越長鳞陨,需要解碼的預測幀就越多昨寞,seek響應的時間也越長。
常見編碼模式:
VBR(Variable Bitrate)動態(tài)比特率也就是沒有固定的比特率厦滤,壓縮軟件在壓縮時根據音頻數據即時確定使用什么比特率援岩,這是以質量為前提兼顧文件大小的方式,推薦編碼模式掏导;
ABR(Average Bitrate)平均比特率是VBR的一種插值參數享怀。LAME針對CBR不佳的文件體積比和VBR生成文件大小不定的特點獨創(chuàng)了這種編碼模式。ABR在指定的文件大小內趟咆,以每50幀(30幀約1秒)為一段添瓷,低頻和不敏感頻率使用相對低的流量,高頻和大動態(tài)表現時使用高流量值纱,可以做為VBR和CBR的一種折衷選擇鳞贷。
CBR(Constant Bitrate)常數比特率指文件從頭到尾都是一種位速率。相對于VBR和ABR來講虐唠,它壓縮出來的文件體積很大搀愧,而且音質相對于VBR和ABR不會有明顯的提高。
高清視頻
目前的720P以及1080P采用了很多種編碼,例如主流的MPEG2咱筛,VC-1以及H.264搓幌,還有Divx以及Xvid,至于封裝格式更多到令人發(fā)指眷蚓,ts鼻种、mkv反番、wmv以及藍光專用等等沙热。
720和1080代表視頻流的分辨率,前者1280720罢缸,后者19201080篙贸,不同的編碼需要不同的系統(tǒng)資源,大概可以認為是H.264>VC-1>MPEG2枫疆。
VC-1是最后被認可的高清編碼格式爵川,不過因為有微軟的后臺,所以這種編碼格式不能小窺息楔。相對于MPEG2寝贡,VC-1的壓縮比更高,但相對于H.264而言值依,編碼解碼的計算則要稍小一些圃泡,目前來看,VC-1可能是一個比較好的平衡愿险,輔以微軟的支持颇蜡,應該是一只不可忽視的力量。一般來說辆亏,VC-1多為“.wmv”后綴风秤,但這都不是絕對的,具體的編碼格式還是要通過軟件來查詢扮叨。
總的來說缤弦,從壓縮比上來看,H.264的壓縮比率更高一些彻磁,也就是同樣的視頻甸鸟,通過H.264編碼算法壓出來的視頻容量要比VC-1的更小,但是VC-1 格式的視頻在解碼計算方面則更小一些兵迅,一般通過高性能的CPU就可以很流暢的觀看高清視頻抢韭。相信這也是目前NVIDIA Geforce 8系列顯卡不能完全解碼VC-1視頻的主要原因。
PS&TS是兩種視頻或影片封裝格式恍箭,常用于高清片刻恭。擴展名分別為VOB/EVO和TS等;其文件編碼一般用MPEG2/VC-1/H.264
高清,英文為“High Definition”鳍贾,即指“高分辨率”鞍匾。高清電視(HDTV),是由美國電影電視工程師協(xié)會確定的高清晰度電視標準格式∑锟疲現在的大屏幕液晶電視機橡淑,一般都支持1080i和720P,而一些俗稱的“全高清”(Full HD)咆爽,則是指支持1080P輸出的電視機梁棠。
目前的高清視頻編碼格式主要有H.264、VC-1斗埂、MPEG-2符糊、MPEG-4、DivX呛凶、XviD男娄、WMA-HD以及X264。事實上漾稀,現在網絡上流傳的高清視頻主要以兩類文件的方式存在:一類是經過MPEG-2標準壓縮模闲,以tp和ts為后綴的視頻流文件;一類是經過WMV-HD(WindowsMedia Video HighDefinition)標準壓縮過的wmv文件,還有少數文件后綴為avi或mpg崭捍,其性質與wmv是一樣的尸折。真正效果好的高清視頻更多地以H.264與VC-1這兩種主流的編碼格式流傳。
一般來說缕贡,H.264格式以“.avi”翁授、“.mkv”以及“.ts”封裝比較常見。
清晰度
在碼率一定的情況下晾咪,分辨率與清晰度成反比關系:分辨率越高收擦,圖像越不清晰,分辨率越低谍倦,圖像越清晰塞赂。
在分辨率一定的情況下,碼率與清晰度成正比關系昼蛀,碼率越高宴猾,圖像越清晰;碼率越低叼旋,圖像越不清晰仇哆。
在碼率一定的情況下,分辨率在一定范圍內取值都將是清晰的夫植;同樣地讹剔,在分辨率一定的情況下油讯,碼率在一定范圍內取值都將是清晰的。
在視頻壓縮的過程中延欠, I幀是幀內圖像數據壓縮陌兑,是獨立幀。而P幀則是參考I幀進行幀間圖像數據壓縮由捎,不是獨立幀兔综。在壓縮后的視頻中絕大多數都是P幀,故視頻質量主要由P幀表現出來狞玛。由于P幀不是獨立幀软驰,而只是保存了與鄰近的I幀的差值,故實際上并不存在分辨率的概念为居,應該看成一個二進制差值序列碌宴。而該二進制序列在使用熵編碼壓縮技術時會使用量化參數進行有損壓縮杀狡,視頻的質量直接由量化參數決定蒙畴,而量化參數會直接影響到壓縮比和碼率。
視頻質量可以通過主觀和客觀方式來表現呜象,主觀方式就是通常人們提到的視頻清晰度膳凝,而客觀參數則是量化參數或者壓縮比或者碼率。在視頻源一樣恭陡,壓縮算法也一樣的前提下比較蹬音,量化參數,壓縮比和碼率之間是有直接的比例關系的休玩。
分辨率的變化又稱為重新采樣著淆。由高分辨率變成低分辨率稱為下采樣,由于采樣前數據充足拴疤,只需要盡量保留更多的信息量永部,一般可以獲得相對較好的結果。而由低分辨率變成高分辨率稱為上采樣呐矾,由于需要插值等方法來補充(猜測)缺少的像素點苔埋,故必然會帶有失真,這就是一種視頻質量(清晰度)的損失蜒犯。
關于一個視頻流的數據量:
碼率如果為10Mb/s组橄,代表1秒鐘有10M bit的視頻數據,對于YUV422格式的1080P視頻而言罚随,一幀圖像是1920x1080x2x8/1024/1024 = 31.64Mbit玉工,1秒鐘30幀圖像的話,則有949.2Mb/s淘菩,可見其數據量之大遵班,不壓縮根本無法網上傳播,所以一定要經過視頻壓縮處理,不要以為1080P的視頻就一定是高清的费奸,清晰度還跟視頻碼率密切相關弥激,對于1080P的視頻而言,藍光視頻的碼率是20Mb/s愿阐,一般下載的視頻碼率大都是10Mb/s微服,一些IPCamera/無人機的碼率是2~8Mb/s,而很多視頻網站的碼率甚至低于5M/s缨历,其實有時還不如高碼率的720P清晰以蕴。
好的畫質是分辨率、幀率和碼率三者之間的平衡:
碼率不是越大越好
如果不做碼率大小上的限制辛孵,那么分辨率越高丛肮,畫質越細膩;幀率越高魄缚,視頻也越流暢宝与,但相應的碼率也會很大,因為每秒鐘需要用更多的數據來承載較高的清晰度和流暢度冶匹。這對云服務廠商而言這是好事(收入跟流量呈正比)习劫,但對您可能意味著更多的費用開支。
幀率不要超過24
如果限定一個碼率嚼隘,比如800kbps诽里,那么幀率越高,編碼器就必須加大對單幀畫面的壓縮比飞蛹,也就是通過降低畫質來承載足夠多的幀數谤狡。如果視頻源來自攝像頭,24FPS已經是肉眼極限卧檐,所以一般20幀的FPS就已經可以達到很好的用戶體驗了墓懂。
有些玩過3D游戲的朋友可能會說,游戲的幀率越高越流暢泄隔。這里要注意一定不要混淆場景:游戲追求高幀率的目的是為了盡可能讓3D模型渲染出來的運動效果更加接近真實運動軌跡拒贱,所以幀率越高越好。但對攝像頭而言佛嬉,它要采集的目標是真實世界的物體逻澳,真實世界本來就沒有刷新率的說法,所以這個理論不適用暖呕。
分辨率不盲目攀高
如果限定一個碼率斜做,比如800kbps,那么分辨率越高就會讓編碼器越“為難" 湾揽,可以想象瓤逼,它必須拆東墻補西墻笼吟,通過減少色彩信息或者引入馬賽克這種“魚目混珠”的手段來承載足夠多的像素點。所以霸旗,同樣的是2G的一個電影文件贷帮,1080p畫質的版本可能不如720p畫質的版本看起來更清晰。