先來了解一下視頻在互聯(lián)網(wǎng)上傳輸需要經(jīng)歷哪些環(huán)節(jié)。它必須先使用麥克風(fēng)和攝像機捕捉音頻與視頻。然后,原始數(shù)據(jù)必須壓縮(編碼)到編解碼器中,通過互聯(lián)網(wǎng)連接(使用傳輸協(xié)議)廣播,發(fā)送到某種服務(wù)器端解決方案(server-side solution)(通常是CDN或一個基于云的集群(cloud-based cluster),如Red5 Pro),然后解壓(解碼),最終供用戶觀看視頻。
目前有相當(dāng)多的編解碼器正在被使用,包括VP8/9,H.264(AVC),H. 265(HEVC)和AV1。今天這篇文章將主要關(guān)注VP8/VP9。我們把VP8與VP9歸為一類,因為它們在許可方面(regards to licensing)相似,且VP9是由VP8的演進(jìn)。
盡管這篇文章主要關(guān)注VP9和H.265,但最重要的問題是使用什么樣的編碼器最好。最后,我們將說明為什么H.264是低延遲實時流媒體(low latency live streaming)的一個更有效的選擇。
VP9
VP9編解碼器是由Google開發(fā)的一款免費的開源視頻編碼標(biāo)準(zhǔn)。它是VP8的后續(xù)產(chǎn)品,最初用于壓縮YouTube上的超高清內(nèi)容,因為它提高了其前一代的編碼效率。最初的VPX解編碼器來自于2010年被Google收購的On2技術(shù)公司。Google隨后將該編解碼器源。
H.265
H.265編解碼器,或稱高效視頻編碼(HEVC),是由視頻編碼專家組(VCEG)和動態(tài)圖像專家組(MPEG)的聯(lián)合開發(fā)出來的。它于2013年4月被批準(zhǔn)為H.264(也被稱為高級視頻編碼(AVC))的官方后續(xù)產(chǎn)品。它提高了H.264的壓縮效率,并且將視頻的大小減小了大約50%。
H.264
如上所述,H.264或是AVC是目前最廣泛使用的視頻編輯解碼器。截至2019年9月,有91%的視頻行業(yè)開發(fā)者使用它。正如H.265一樣,H.264也是由動態(tài)圖像專家組(MPEG)作為對以前標(biāo)準(zhǔn)的改進(jìn)而開發(fā)的,旨在通過互聯(lián)網(wǎng)有效地傳輸壓縮的高質(zhì)量視頻。
H.264受多項專利保護,并得到了MPEG-LA組織的授權(quán)。然而,Cisco System在2013年向公眾提供了一種廣泛使用的免費開源編碼器和openH264解碼器。換句話說,Cisco為我們所有人使用的專利許可證付費。這反過來創(chuàng)造了H.264編解碼器的廣泛采用。OpenH264在所有的網(wǎng)絡(luò)瀏覽器中出現(xiàn)了。
上文我們已經(jīng)介紹了編解碼器,讓我們來比較一下它們之間的不同。我們列出了6個關(guān)鍵因素來評估每個編解碼器。
編碼質(zhì)量
VP9和H.265在這一類上沒有太大區(qū)別。無論使用哪種編解碼器,視頻看起來都很好。然而,當(dāng)比特率較高時,H.265的性能略優(yōu)于VP9,反之亦然。
為了判斷圖像質(zhì)量,我們可以使用SSIM(結(jié)構(gòu)標(biāo)準(zhǔn)指數(shù)測量),如下圖所示。當(dāng)在因特網(wǎng)上廣播一個流(broadcasting a stream)時,壓縮和擴展(編碼和解碼)流中包含的可視數(shù)據(jù)的過程可能會導(dǎo)致輕微失真(slight distortions),因為解碼器會外推數(shù)據(jù)( decoder extrapolates the data )以顯示它。因此,SSIM本質(zhì)上是編碼和解碼后衡量傳輸?shù)膱D像在編碼和解碼后的精確度。
圖1:比較libvpx(VP9)、x264(H.264)和x265(HEVC)的質(zhì)量/比特率圖。(圖片來源:https://blogs.gnome.org/rbultje/2015/09/28/vp9-encodingdecoding-performance-vs-hevch-264/)
然而,與H.264相比,有一點不同。
VP9和H.265能夠提高壓縮的部分方法是通過使用larger macroblocks。macroblocks是圖像或視頻的處理單元,包含要顯示的圖像像素。H.264使用16×16宏塊,而PV9和H.265使用64×64宏塊。這些宏塊經(jīng)過一系列稱為“幀內(nèi)預(yù)測方向(intra-prediction directions)”的計算,將這些宏塊重建為相同的原始圖像,只是在非關(guān)鍵區(qū)域的細(xì)節(jié)略有減少。這使得VP9和H.265能夠提高效率,因為不太詳細(xì)的區(qū)域(如天空或圖像的模糊背景)不會被分解成更小的單元。這些區(qū)域中丟失的細(xì)節(jié)不會顯著降低圖像的整體質(zhì)量,因為其重要部分被渲染得更加詳細(xì)。還應(yīng)該注意的是,隨著比特率的增加,AVC(H.264)和其他兩種編解碼器之間的質(zhì)量差異會變小。
圖片來源:https://www.macxdvd.com/mac-dvd-video-converter-how-to/h265-vs-h264.htm
H.264會產(chǎn)生較差的圖像,特別是在較低的比特率下。當(dāng)比較以相同比特率運行的圖像時,VP9和H.265都比用H.264生成的圖像更詳細(xì)和更清晰。換句話說,為了產(chǎn)生相同質(zhì)量的VP9或H.265圖像,H.264需要以更高的比特率運行。然而,質(zhì)量上的差異雖然可以察覺,但并不一定是一個直接的問題。為了更客觀地衡量這一點,我們可以看看SSIM,它顯示H.264的結(jié)果非常接近VP9和H.265。因此,雖然H.264在圖像質(zhì)量方面可能不如h.264,但這種差異不足以克服下一節(jié)中詳細(xì)介紹的大的權(quán)衡(big tradeoff)。
我們還應(yīng)該指出其他因素,如改進(jìn)的亞像素插值(sub-pixel interpolation)和運動矢量參考選擇( motion vector reference selection )(運動估計motion estimation)也提高了圖像質(zhì)量。這是因為它們有助于預(yù)測電影中下一幀會是什么樣子。這些都是相當(dāng)復(fù)雜的概念,值得他們在自己的文章中討論,所以我們到此為止。
優(yōu)勝者:平局
Encoding Time
為了達(dá)到更高的壓縮率,VP9和H.265需要執(zhí)行更多的處理。所有這些額外的處理意味著它們需要更長的時間來編碼視頻。這將對你的延遲造成損害,因為所有額外的處理時間都會延遲視頻的播放。除了其他因素之外,延遲對于確保你的實時視頻流能夠提供交互式體驗非常重要。
圖2:將編碼時間作為比特率改進(jìn)的因素,比較libvpx(VP9)、x264(AVC)和x265(HEVC)圖片來源:https://blogs.gnome.org/rbultje/2015/09/28/vp9-encodingdecoding-performance-vs-hevch-264/
那么,上面的圖表到底是什么意思呢?
此圖在水平軸上顯示了編碼時間(以秒為單位)。縱軸顯示了比特率的改進(jìn),它將SSIM和比特率的組合與設(shè)置為x265@veryslow的參考點進(jìn)行比較。參考點是為什么x264沒有超過0%的原因。
這張圖告訴了我們什么?
VP9和H.265(如廣告宣傳的那樣)比H.264好50%。但它們的速度也慢10到20倍。如果你追循x264(AVC)的藍(lán)線,你將看到對于大多數(shù)比特率基準(zhǔn)點,它始終低于其他兩條線。不僅如此,綠色(H.265)和橙色(VP9)線在它們的曲線中很早就與H.264相交。這意味著每幀速率的秒數(shù)將開始急劇增加,并真正降低你的流性能(stream performance.)。因此,雖然VP9和H.265顯示出更好的壓縮率,但它以非常高的編碼時間為代價,這將大大增加延遲。Waterloo University的這項研究對編碼時間和編解碼器的比較進(jìn)行了更深入的分析。(參考資料:https://ece.uwaterloo.ca/~w238liu/2019comparative/paper/iciar2019cc.pdf)
優(yōu)勝者:H.264
中央處理器消耗
正如上一節(jié)所述,VP9和H.265都必須比H.264運行更多的壓縮算法(compression algorithms),這將增加它們的CPU使用率。即使在完全優(yōu)化的情況下,實時流媒體也是一個CPU密集型的過程,因此提高已經(jīng)很高的使用率將是一個問題。然而,有一些東西可以緩解這一點:硬件支持。專用芯片組將降低CPU消耗。
目前H.265享受更多的硬件支撐,包括Windows10(可下載或通過Inter Kaby Lake或更新的處理器)、Apple(iOS 11)和Android(Android 5.0)設(shè)備。雖然大多數(shù)移動設(shè)備支持VP9,但大多數(shù)其他系統(tǒng)不支持。如果沒有直接的硬件支持,VP9編碼過程將會限制CPU,消耗大量資源,縮短電池壽命,并可能增加延遲。
我們將在下一節(jié)中介紹H.264享有廣泛的支持,而且不會像VP9或H.265那樣消耗CPU。
優(yōu)勝者:H.264,H.265緊跟其后。
Adoption and Browser Implementation
為了使用編解碼器,需要有硬件的支持或軟件編碼器。H.265的采用率很低,這在很大程度上是由于專利許可。H.265有四個相關(guān)的專利池:HEVE Advance、MPEG LA、Velos Media和Technicolor。這使得它更加昂貴,也阻礙了它的廣泛應(yīng)用,從而限制了它僅限于特定的硬件編碼器和移動芯片組( mobile chipsets)。只有Edge、Internet Explorer和Safari支持H.265硬件編碼。即使到那時運行瀏覽器的設(shè)備仍然需要支持H.265硬件編碼。即使在正確實現(xiàn)的瀏覽器中支持H.265,WebRTC也往往無法正常工作。沒有WebRTC的支持,實現(xiàn)實時延遲會是困難的。
VP9是免稅版和開源的,這為其更廣泛的采用掃清了道路。主要瀏覽器Chrome、Firefox、Edge以及操作系統(tǒng)Windows10、Android 5.0、iOS 14和macOS BigSur都支持該功能。由于WebRTC支持VP9,它也可以直接在瀏覽器中工作。也有傳言說Safari瀏覽器的支持也即將到來。
盡管H.264有一項與之相關(guān)的專利,正如我們前面提到的,2013年思科對H.264實現(xiàn)進(jìn)行了開源,并以free binary download的形式發(fā)布了它。這對H.264的廣泛應(yīng)用是一個巨大的推動。因此,H.264得到了所有瀏覽器、筆記本電腦和移動設(shè)備的支持。
優(yōu)勝者:H.264與VP9之間縮小了差距。
帶寬節(jié)省
提高壓縮率和減小文件大小的最大好處是在廣播時消耗更少的帶寬。這意味著網(wǎng)速較慢的用戶仍然可以觀看更高質(zhì)量的視頻流。
那么,哪種編解碼器能產(chǎn)生更好的壓縮效率來創(chuàng)建一個更小的視頻呢?
根據(jù)Nettfix的一項測試,H.265的表現(xiàn)比VP9高出約20%。盡管其他的測試產(chǎn)生了不同的結(jié)果,但他們都得出結(jié)論,H.265創(chuàng)建了更小的文件大小。根據(jù)所使用的客觀度量標(biāo)準(zhǔn)( objective metric ),H.265比VP9節(jié)省了0.6%至38.2%的比特率。
然而,雖然消耗更少的帶寬是有用的,但還有其他一些因素需要考慮。全球固定寬帶連接的平均上傳速度為42.63 Mbps,這意味著盡管H.264要求更高的連接速度,大多數(shù)地方也能支持4K流媒體。盡管移動設(shè)備的平均上傳速度低得多,為10.93 Mbps,但它們?nèi)匀豢梢灾С?080p流。
這張來自Boxcast的圖表顯示,全球平均連接速度肯定能夠滿足所有分辨率級別的上傳速度要求。注意:我們無法找到一個比較所有三種編解碼器的圖表,但是VP9應(yīng)該介于H.264和H.265之間。
圖片來源:https://www.boxcast.com/blog/hevc-h.265-vs.-h.264-avc-whats-the-difference
此外,還有一些方法可以配置你的流媒體應(yīng)用程序,以滿足網(wǎng)速較慢國家的用戶。您可以通過添加ABR和代碼轉(zhuǎn)換支持來實現(xiàn)這一點。ABR(自適應(yīng)比特率)將修改比特率,以提供最佳的體驗。代碼轉(zhuǎn)換將廣播分成多個質(zhì)量,這樣客戶端可以根據(jù)可用帶寬請求最佳質(zhì)量。
你可能會想“如果移動設(shè)備卡在2或3G連接上怎么辦?”幸運的是,手掌大小的設(shè)備不需要傳輸最高分辨率就能看起來很好。720甚至480依然會顯示出不錯的質(zhì)量。
“While bandwidth consumption may not matter as much to a consumer, it must be acknowledged that companies will save money in regards to bandwidth costs if they stream with VP9 or h.265. The savings come from the smaller files which means they will not pay as much for more data streaming over CDN or cloud networks. While that is certainly nice, it is only at really high-resolution settings such as 4K that halving the data consumption makes a substantial difference.”
雖然帶寬消耗對消費者來說可能不是那么重要,但必須承認(rèn)的是,如果公司使用VP9或H.265進(jìn)行傳輸,就會節(jié)省帶寬成本。這些節(jié)省的費用來自于較小的文件,這意味著他們不用為通過CDN或云網(wǎng)絡(luò)傳輸上的更多數(shù)據(jù)流支付那么多的費用。這當(dāng)然很好,但只有在像4K這樣的高分辨率環(huán)境下,數(shù)據(jù)消耗減半才會產(chǎn)生實質(zhì)性的影響。
當(dāng)然,無論什么規(guī)模,省錢當(dāng)然是重要的。這就引出了我們的下一個觀點,它將呈現(xiàn)兩個世界的最佳狀態(tài):相同的性能下更好的壓縮。
優(yōu)勝者:H.265
LCEVC回避了整個爭論
LCEVC(低復(fù)雜度增強視頻編碼)為所有編解碼器增加了大約40%的壓縮率。這是因為它是一個額外的處理層,可以與現(xiàn)有和未來版本的MPEG或其他編解碼器(如VP9和AV1)一起工作。正如我們在上一篇文章中所提到的,LCEVC對視頻流技術(shù)有著巨大的潛在影響。在不改變所有現(xiàn)有協(xié)議的組成的情況下,LCEVC可以使它們本身更有效。
從目前的情況來看,內(nèi)容提供商似乎能夠使用支持LCEVC的軟件或基于硬件的編碼器,并結(jié)合Red5 Pro跨云平臺來解鎖實時流,盡管它們是用處理密集型視頻格式構(gòu)建的。根據(jù)使用的核心編解碼器的不同,這不僅適用于4K,最終也適用于8K UHD,還適用于為360度觀看、虛擬現(xiàn)實和其他創(chuàng)新設(shè)計的格式。
LCEVC被廣泛采用背后的驅(qū)動力是:幾乎任何設(shè)備都可以支持thin LCEVC客戶端,這些客戶端可以獨立下載到觀眾的設(shè)備上,或者嵌入到服務(wù)提供商的app player中。通過它的HTML5 JavaScript實現(xiàn), LCEVC也支持插件式免費瀏覽器支持。這意味著廣泛的實現(xiàn)應(yīng)該是相當(dāng)簡單的。
什么是實用?
在考慮了這里列出的一切之后,AVC/H.264由于其廣泛的采用和快速的編碼速度成為目前的最佳選擇。雖然提高壓縮和視頻質(zhì)量是重要的考慮因素,但目前的權(quán)衡太嚴(yán)重了。具體來說,高編碼時間和大量的CPU消耗對于直播視頻來說是非常糟糕的。
也就是說,考慮到VP9是免費的,而且還享有廣泛的設(shè)備支持,一旦更快的軟件或硬件編碼器被創(chuàng)建出來,在不久的將來它將是一個可行的選擇。在遙遠(yuǎn)的將來,AV1最終將會取代VP9,但考慮到它目前所面臨的超高編碼時間,在它準(zhǔn)備好廣泛使用之前,還需要進(jìn)行大量的簡化工作。當(dāng)然,LCEVC可能會繞過更改編解碼器以獲得更好壓縮的整個問題。也許它只是H.264和AV1之間的一座長存的橋梁。
盡管如此,AV1仍將取代H.264、H.265和VP8/9。隨著視頻消費的增長,帶寬限制的減少將使發(fā)送用戶正在尋找的高質(zhì)量視頻變得更加容易。這對于遠(yuǎn)離有線連接、更依賴手機連接的發(fā)展中地區(qū)來說尤其如此。它背后的財團有所有主要的參與者參與,而且是免版稅的。目前, AV1缺乏實時編碼器是阻礙AV1發(fā)展的主要原因。一旦它們變得廣泛可用,AV1(特別是當(dāng)與LCEVC配對使用)將是前進(jìn)的方向。
-
編解碼
+關(guān)注
關(guān)注
1文章
140瀏覽量
19675
原文標(biāo)題:VP9與H.265的6個不同點
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Enhanced-RTMP協(xié)議如何支持H.265呢?
H.265技術(shù)興起,高清視頻商機凸顯
H.265與H.264對比分析
Hi3521DV200 H.265編解碼
H.265:網(wǎng)絡(luò)視頻的高清時代
芯原發(fā)布支持HEVC和VP9的Hantro G2視頻解碼IP
華為近日宣布即將在安防領(lǐng)域采用H.265技術(shù)
H.264與H.265視頻編解碼器的區(qū)別
H.264編碼和H.265編碼的區(qū)別
4K H.265解碼的簡單描述和作用
【轉(zhuǎn)】為什么H.265編碼優(yōu)于H.264編碼?
H.265與VP9編碼質(zhì)量的對比
教您在79元ARM平臺實現(xiàn)H.265視頻解碼
![教您在79元ARM平臺實現(xiàn)<b class='flag-5'>H.265</b>視頻解碼](https://file1.elecfans.com/web2/M00/BC/20/wKgZomWfnqyAdatvAACB4x29d-o541.png)
評論