近期音視頻翻閱的知識點做的整理舆吮。
借鑒:http://blog.csdn.net/xiangjai/article/details/44238005
幀速率
幀速率也稱為FPS(Frames PerSecond)的縮寫——幀/秒粱檀。是指每秒鐘刷新的圖片的幀數(shù)佃却,也可以理解為圖形處理器每秒鐘能夠刷新幾次。越高的幀速率可以得到更流暢柳骄、更逼真的動畫熊泵。每秒鐘幀數(shù)(FPS)越多仰迁,所顯示的動作就會越流暢
CABAC/CAVLC
H.264/AVC標(biāo)準(zhǔn)中兩種熵編碼方法,CABAC叫自適應(yīng)二進(jìn)制算數(shù)編碼顽分,CAVLC叫前后自適應(yīng)可變長度編碼徐许,
CABAC:是一種無損編碼方式,畫質(zhì)好卒蘸,X264就會舍棄一些較小的DCT系數(shù)雌隅,碼率降低翻默,可以將碼率再降低10-15%(特別是在高碼率情況下),會降低編碼和解碼的速速恰起。
CAVLC將占用更少的CPU資源修械,但會影響壓縮性能。
幀:當(dāng)采樣視頻信號時检盼,如果是通過逐行掃描肯污,那么得到的信號就是一幀圖像,通常幀頻為25幀每秒(PAL制)吨枉、30幀每秒(NTSC制)蹦渣;
場:當(dāng)采樣視頻信號時,如果是通過隔行掃描(奇东羹、偶數(shù)行)剂桥,那么一幀圖像就被分成了兩場,通常場頻為50Hz(PAL制)属提、60Hz(NTSC制)权逗;
幀頻、場頻的由來:最早由于抗干擾和濾波技術(shù)的限制冤议,電視圖像的場頻通常與電網(wǎng)頻率(交流電)相一致斟薇,于是根據(jù)各地交流電頻率不同就有了歐洲和中國等PAL制的50Hz和北美等NTSC制的60Hz,但是現(xiàn)在并沒有這樣的限制了恕酸,幀頻可以和場頻一樣堪滨,或者場頻可以更高。
幀編碼蕊温、場編碼方式:逐行視頻幀內(nèi)鄰近行空間相關(guān)性較強袱箱,因此當(dāng)活動量非常小或者靜止的圖像比較適宜采用幀編碼方式;而場內(nèi)相鄰行之間的時間相關(guān)性較強义矛,對運動量較大的運動圖像則適宜采用場編碼方式发笔。
碼流 / 碼率
碼率又稱為“位率”。指單位時間內(nèi)凉翻,單個錄像通道所產(chǎn)生的數(shù)據(jù)量了讨,其單位通常是bps、Kbps或Mbps制轰。
碼流(Data Rate)是指視頻文件在單位時間內(nèi)使用的數(shù)據(jù)流量前计,也叫碼率或碼流率,通俗一點的理解就是取樣率,是視頻編碼中畫面質(zhì)量控制中最重要的部分垃杖,一般我們用的單位是kb/s或者M(jìn)b/s男杈。一般來說同樣分辨率下,視頻文件的碼流越大调俘,壓縮比就越小伶棒,畫面質(zhì)量就越高泉瞻。碼流越大,說明單位時間內(nèi)取樣率越大苞冯,數(shù)據(jù)流,精度就越高侧巨,處理出來的文件就越接近原始文件舅锄,圖像質(zhì)量越好,畫質(zhì)越清晰司忱,要求播放設(shè)備的解碼能力也越高皇忿。
當(dāng)然,碼流越大坦仍,文件體積也越大鳍烁,其計算公式是文件體積=時間X碼率/8。例如繁扎,網(wǎng)絡(luò)上常見的一部90分鐘1Mbps碼流的720P RMVB文件幔荒,其體積就=5400秒×1Mb/8=675MB。
通常來說梳玫,一個視頻文件包括了畫面及聲音爹梁,例如一個RMVB的視頻文件,里面包含了視頻信息和音頻信息提澎,音頻及視頻都有各自不同的采樣方式和比特率姚垃,也就是說,同一個視頻文件音頻和視頻的比特率并不是一樣的盼忌。而我們所說的一個視頻文件碼流率大小积糯,一般是指視頻文件中音頻及視頻信息碼流率的總和。
以國內(nèi)最流行谦纱,大家最熟悉的RMVB視頻文件為例看成,RMVB中的VB,指的是VBR服协,即Variable Bit Rate的縮寫绍昂,中文含義是可變比特率,它表示RMVB采用的是動態(tài)編碼的方式偿荷,把較高的采樣率用于復(fù)雜的動態(tài)畫面(歌舞窘游、飛車、戰(zhàn)爭跳纳、動作等)忍饰,而把較低的采樣率用于靜態(tài)畫面,合理利用資源寺庄,達(dá)到畫質(zhì)與體積可兼得的效果艾蓝。
碼率和取樣率最根本的差別就是碼率是針對源文件來講的力崇。
比特率
比特率是指每秒傳送的比特(bit)數(shù)。單位為bps(Bit Per Second)赢织,比特率越高亮靴,傳送的數(shù)據(jù)越大。在視頻領(lǐng)域,比特率常翻譯為碼率 !!!
比特率表示經(jīng)過編碼(壓縮)后的音于置、視頻數(shù)據(jù)每秒鐘需要用多少個比特來表示茧吊,而比特就是二進(jìn)制里面最小的單位,要么是0八毯,要么是1搓侄。比特率與音、視頻壓縮的關(guān)系话速,簡單的說就是比特率越高讶踪,音、視頻的質(zhì)量就越好泊交,但編碼后的文件就越大乳讥;如果比特率越少則情況剛好相反。
比特率是指將數(shù)字聲音廓俭、視頻由模擬格式轉(zhuǎn)化成數(shù)字格式的采樣率雏婶,采樣率越高,還原后的音質(zhì)白指、畫質(zhì)就越好留晚。
采樣率
采樣率(也稱為采樣速度或者采樣頻率)定義了每秒從連續(xù)信號中提取并組成離散信號的采樣個數(shù),它用赫茲Hz來表示告嘲。采樣率是指將模擬信號轉(zhuǎn)換成數(shù)字信號時的采樣頻率错维,也就是單位時間內(nèi)采樣多少點。一個采樣點數(shù)據(jù)有多少個比特橄唬。比特率是指每秒傳送的比特(bit)數(shù)赋焕。單位為 bps(Bit Per Second),比特率越高仰楚,傳送的數(shù)據(jù)越大隆判,音質(zhì)越好.比特率 =采樣率 x 采用位數(shù) x聲道數(shù).
采樣率類似于動態(tài)影像的幀數(shù),比如電影的采樣率是24赫茲僧界,PAL制式的采樣率是25赫茲侨嘀,NTSC制式的采樣率是30赫茲。當(dāng)我們把采樣到的一個個靜止畫面再以采樣率同樣的速度回放時捂襟,看到的就是連續(xù)的畫面咬腕。同樣的道理,把以44.1kHZ采樣率記錄的CD以同樣的速率播放時葬荷,就能聽到連續(xù)的聲音涨共。顯然纽帖,這個采樣率越高,聽到的聲音和看到的圖像就越連貫举反。當(dāng)然懊直,人的聽覺和視覺器官能分辨的采樣率是有限的,基本上高于44.1kHZ采樣的聲音火鼻,絕大部分人已經(jīng)覺察不到其中的分別了吹截。
而聲音的位數(shù)就相當(dāng)于畫面的顏色數(shù),表示每個取樣的數(shù)據(jù)量凝危,當(dāng)然數(shù)據(jù)量越大,回放的聲音越準(zhǔn)確晨逝,不至于把開水壺的叫聲和火車的鳴笛混淆蛾默。同樣的道理,對于畫面來說就是更清晰和準(zhǔn)確捉貌,不至于把血和西紅柿醬混淆支鸡。不過受人的器官的機(jī)能限制,16位的聲音和24位的畫面基本已經(jīng)是普通人類的極限了趁窃,更高位數(shù)就只能靠儀器才能分辨出來了牧挣。比如電話就是3kHZ取樣的7位聲音,而CD是44.1kHZ取樣的16位聲音醒陆,所以CD就比電話更清楚瀑构。
當(dāng)你理解了以上這兩個概念,比特率就很容易理解了刨摩。以電話為例寺晌,每秒3000次取樣,每個取樣是7比特澡刹,那么電話的比特率是21000呻征。 而CD是每秒 44100次取樣,兩個聲道罢浇,每個取樣是13位PCM編碼陆赋,所以CD的比特率是44100213=1146600,也就是說CD每秒的數(shù)據(jù)量大約是 144KB嚷闭,而一張CD的容量是74分等于4440秒攒岛,就是639360KB=640MB。
GOP(Group of picture)
關(guān)鍵幀的周期胞锰,也就是兩個IDR幀之間的距離阵子,一個幀組的最大幀數(shù),一般而言胜蛉,每一秒視頻至少需要使用 1 個關(guān)鍵幀挠进。增加關(guān)鍵幀個數(shù)可改善質(zhì)量色乾,但是同時增加帶寬和網(wǎng)絡(luò)負(fù)載。
需要說明的是领突,通過提高GOP值來提高圖像質(zhì)量是有限度的暖璧,在遇到場景切換的情況時,H.264編碼器會自動強制插入一個I幀君旦,此時實際的GOP值被縮短了澎办。另一方面,在一個GOP中金砍,P局蚀、B幀是由I幀預(yù)測得到的,當(dāng)I幀的圖像質(zhì)量比較差時恕稠,會影響到一個GOP中后續(xù)P琅绅、B幀的圖像質(zhì)量,直到下一個GOP開始才有可能得以恢復(fù)鹅巍,所以GOP值也不宜設(shè)置過大千扶。
同時,由于P骆捧、B幀的復(fù)雜度大于I幀澎羞,所以過多的P、B幀會影響編碼效率敛苇,使編碼效率降低妆绞。另外,過長的GOP還會影響Seek操作的響應(yīng)速度枫攀,由于P摆碉、B幀是由前面的I或P幀預(yù)測得到的,所以Seek操作需要直接定位脓豪,解碼某一個P或B幀時巷帝,需要先解碼得到本GOP內(nèi)的I幀及之前的N個預(yù)測幀才可以,GOP值越長扫夜,需要解碼的預(yù)測幀就越多楞泼,seek響應(yīng)的時間也越長。
常見編碼模式:
VBR(Variable Bitrate)動態(tài)比特率 也就是沒有固定的比特率笤闯,壓縮軟件在壓縮時根據(jù)音頻數(shù)據(jù)即時確定使用什么比特率堕阔,這是以質(zhì)量為前提兼顧文件大小的方式,推薦編碼模式颗味;
ABR(Average Bitrate)平均比特率 是VBR的一種插值參數(shù)超陆。LAME針對CBR不佳的文件體積比和VBR生成文件大小不定的特點獨創(chuàng)了這種編碼模式。ABR在指定的文件大小內(nèi),以每50幀(30幀約1秒)為一段时呀,低頻和不敏感頻率使用相對低的流量张漂,高頻和大動態(tài)表現(xiàn)時使用高流量,可以做為VBR和CBR的一種折衷選擇谨娜。
CBR(Constant Bitrate)航攒,常數(shù)比特率 指文件從頭到尾都是一種位速率。相對于VBR和ABR來講趴梢,它壓縮出來的文件體積很大漠畜,而且音質(zhì)相對于VBR和ABR不會有明顯的提高。
分辨率
就是幀大小坞靶,每一幀就是一副圖像憔狞。
640*480分辨率的視頻,建議視頻的碼速率設(shè)置在700以上彰阴,音頻采樣率44100就行了
一個音頻編碼率為128Kbps瘾敢,視頻編碼率為800Kbps的文件,其總編碼率為928Kbps硝枉,意思是經(jīng)過編碼后的數(shù)據(jù)每秒鐘需要用928K比特來表示。
計算輸出文件大小公式:(音頻編碼率(KBit為單位)/8 +視頻編碼率(KBit為單位)/8)×影片總長度(秒為單位)=文件大芯胛ⅰ(MB為單位)
高清視頻
目前的720P以及1080P采用了很多種編碼妻味,例如主流的MPEG2,VC-1以及H.264,還有Divx以及Xvid,至于封裝格式更多到令人發(fā)指裁僧,ts竖慧、mkv、wmv以及藍(lán)光專用等等惕澎。
720和1080代表視頻流的分辨率,前者1280720,后者19201080栖博,不同的編碼需要不同的系統(tǒng)資源,大概可以認(rèn)為是H.264>VC-1>MPEG2厢洞。
VC-1是最后被認(rèn)可的高清編碼格式仇让,不過因為有微軟的后臺,所以這種編碼格式不能小窺躺翻。相對于MPEG2丧叽,VC-1的壓縮比更高,但相對于H.264而言公你,編碼解碼的計算則要稍小一些踊淳,目前來看,VC-1可能是一個比較好的平衡陕靠,輔以微軟的支持迂尝,應(yīng)該是一只不可忽視的力量脱茉。一般來說,VC-1多為 “.wmv”后綴雹舀,但這都不是絕對的芦劣,具體的編碼格式還是要通過軟件來查詢。
總的來說说榆,從壓縮比上來看虚吟,H.264的壓縮比率更高一些,也就是同樣的視頻签财,通過H.264編碼算法壓出來的視頻容量要比VC-1的更小串慰,但是VC-1 格式的視頻在解碼計算方面則更小一些,一般通過高性能的CPU就可以很流暢的觀看高清視頻唱蒸。相信這也是目前NVIDIA Geforce 8系列顯卡不能完全解碼VC-1視頻的主要原因邦鲫。
PS&TS是兩種視頻或影片封裝格式,常用于高清片神汹。擴(kuò)展名分別為VOB/EVO和TS等庆捺;其文件編碼一般用MPEG2/VC-1/H.264
高清,英文為“High Definition”屁魏,即指“高分辨率”滔以。 高清電視(HDTV),是由美國電影電視工程師協(xié)會確定的高清晰度電視標(biāo)準(zhǔn)格式∶テ矗現(xiàn)在的大屏幕液晶電視機(jī)你画,一般都支持1080i和720P,而一些俗稱的“全高清”(Full HD)桃漾,則是指支持1080P輸出的電視機(jī)坏匪。
目前的高清視頻編碼格式主要有H.264、VC-1撬统、MPEG-2适滓、MPEG-4、DivX恋追、XviD粒竖、WMA-HD以及X264。事實上几于,現(xiàn)在網(wǎng)絡(luò)上流傳的高清視頻主要以兩類文件的方式存在:一類是經(jīng)過MPEG-2標(biāo)準(zhǔn)壓縮蕊苗,以tp和ts為后綴的視頻流文件;一類是經(jīng)過WMV-HD(Windows Media Video HighDefinition)標(biāo)準(zhǔn)壓縮過的wmv文件,還有少數(shù)文件后綴為avi或mpg沿彭,其性質(zhì)與wmv是一樣的朽砰。真正效果好的高清視頻更多地以H.264與VC-1這兩種主流的編碼格式流傳。
一般來說,H.264格式以“.avi”瞧柔、“.mkv”以及“.ts”封裝比較常見漆弄。