超載
現(xiàn)在的視頻內(nèi)容無一例外都是數(shù)字格式的,如果只是原始的視頻數(shù)字內(nèi)容,其龐大的體積是無法實現(xiàn)網(wǎng)絡(luò)傳輸?shù)?,這就需要編碼將其有序地壓縮成合適大小,再進(jìn)行傳輸。
實際上,一如MP3格式的數(shù)字音樂一樣,目前主流的視頻編碼算法均屬于有損編碼,通過對視頻造成有限而可以容忍的損失,獲取相對更高的編碼效率。在編碼過程中造成信息損失的部分被稱作變換量化。
這個量化過程通過對視頻內(nèi)容中低頻區(qū)的系數(shù)進(jìn)行細(xì)量化,高頻區(qū)的系數(shù)進(jìn)行粗量化,去除了人眼不敏感的高頻信息,從而降低信息傳送量。因此,量化是一個有損壓縮的過程,而且是視頻壓縮編碼中質(zhì)量損傷的主要原因。
當(dāng)然,實際上各種編碼格式對視頻的壓縮方法技術(shù)有很多細(xì)節(jié),筆者只是粗淺的解讀一下方便讀者理解。
編碼完成的視頻,無論是下載還是在線直接播放,都需要我們的設(shè)備進(jìn)行相應(yīng)格式的解碼,才能將數(shù)字信息“轉(zhuǎn)化”為我們能看到的圖像,繼而播放。
這個解碼過程就需要GPU的參與了,所以我們的顯卡GPU中,實際上都有專門的單元負(fù)責(zé)視頻的編解碼工作。只不過,這些單元都是固化在GPU內(nèi)部,你的GPU能夠支持何種格式的視頻編解碼從一開始就已經(jīng)確定,無法通過軟件升級的方式獲得新的編解碼能力。
而CPU也不是不可以進(jìn)行編解碼工作,我們通常會說CPU解碼為軟解碼,GPU解碼為硬解碼。這是因為CPU是通過軟件計算的方式,將CPU資源“挪用”來處理視頻的編解碼格式。這樣做的好處是在GPU不支持某些視頻編碼格式的時候,我們依舊能夠依靠CPU軟解碼正常播放。缺點自然是對CPU的資源占用頗高,影響電腦性能。
以英偉達(dá)顯卡為例,NVIDIA Codec硬件編解碼的性能不是CPU軟解可以匹敵的,特別是多路編碼的情況下,軟件調(diào)用顯卡去編解碼會大大提高效率,節(jié)省時間。其次,CPU在進(jìn)行編解碼時,硬件占用率會很高,這樣就會影響其他應(yīng)用的正常運行,特別是在做圖形設(shè)計或者游戲過程中,編碼占用太多CPU資源就會導(dǎo)致應(yīng)用卡頓。而使用顯卡編碼不會占用太多系統(tǒng)資源,不會影響應(yīng)用的使用性能。
目前最流行的編碼格式主要集中在H.264和HEVC兩種,這也是目前最為主要的視頻編碼格式,包括常見的1080P、4K格式視頻文件,甚至不少在線視頻網(wǎng)站也采用這些格式。此外,還有一個冉冉升起的新興AV1編碼,很有可能實現(xiàn)跨越式的發(fā)展,成為日后的主流視頻編碼格式——原因無它,沒有專利費用。
H.264我最流行!
H.264,又稱為MPEG-4第10部分的高級視頻編碼(MPEG-4 Part10,Advanced Video Coding,縮寫為MPEG-4 AVC),是一種基于運動補償?shù)囊曨l編碼標(biāo)準(zhǔn) 。到2014年,它已經(jīng)成為高精度視頻錄制、壓縮和發(fā)布的最常用視頻編碼格式之一了。而且,H.264更因其是藍(lán)光盤的其中一種編解碼標(biāo)準(zhǔn)而著名,所有藍(lán)光盤播放器都必須能解碼H.264。另外, 因為它具有極高的壓縮比,也成為諸多在線視頻網(wǎng)站的首選視頻編碼格式。
H.264的最大優(yōu)勢是數(shù)據(jù)壓縮率高,在相同的條件下,H. 26 4壓縮圖像的質(zhì)量比是MPEG-2的2倍以上,是MPEG-4的1.5倍~2倍。例如,如果原始視頻文件的大小是100GB,采用MPEG2壓縮標(biāo)準(zhǔn)會壓縮成一個4GB的文件,壓縮比為25∶1,而采用H.264編碼處理這個100GB的視頻,則能壓縮成980MB的大小,壓縮比達(dá)到驚人的102∶1。