H.264中還有一個SVC概念(ScalableVideoCoding),可分層編碼。先不管其具體的含義,來想象下視頻通信中可能遇到的問題。
1.帶寬問題,IP網(wǎng)絡(luò)帶寬是不穩(wěn)定的,網(wǎng)絡(luò)帶寬降低是,視頻流應(yīng)該自動的降低碼率,以適應(yīng)當(dāng)前帶寬。而視頻流碼率的降低,并不意味著視頻通信的結(jié)束,只是其幀率和分辨率相應(yīng)降低。這樣還是能維持基本的視頻通信如幀率可以從60fps降低30fps或者25fps甚至20pfs。分辨率可以從高清降到標(biāo)清的4cif甚至cif。這樣可以很大程度的降到碼率,但同時保證了視頻通信的基本功能正常進行(用戶還是能看到能夠分辨的圖形和聽到清晰的聲音)。
2.在未來的通信中,參與視頻對話的終端多種多樣,有專用的硬件視頻終端,有桌面軟終端,還有移動終端中的PAD和手機。終端的多樣性對視頻碼流的要求也不一樣。如移動終端一般相對帶寬較小,且屏幕尺寸也較小,屏幕寬高比也不同。每種終端希望拿到最適合自己的視頻碼流,既適合自己的網(wǎng)絡(luò)帶寬,又適合自己的硬件能力。如一種設(shè)備編碼流出來后,其中既包含了高清到標(biāo)清不同分辨率,又具有各種幀率。終端只需要發(fā)起申請,從其中拿到適合自己的碼流,這是一件多好的事情,避免的轉(zhuǎn)碼,同時合理的利用的帶寬和終端的硬件能力。
SVC的本意就是如此,能夠?qū)崿F(xiàn)碼流的可伸縮,也就是說能根據(jù)帶寬,終端的要求,自動調(diào)整發(fā)送給終端視頻流的格式。一次性編碼適應(yīng)于多種信道和終端。視頻會議中有一種MCU設(shè)備,你要是研究MCU的功能,你會發(fā)現(xiàn)它多么適合采用SVC技術(shù)。SVC技術(shù)的應(yīng)用理論上應(yīng)該能節(jié)省MCU的部分計算資源。但一路SVC碼流實際上市多組碼流構(gòu)成的,它們是相互獨立的,如果全部傳輸和存儲必然是帶寬和容量的增加。因此這種技術(shù)適合使用在中央設(shè)備上(如MCU),終端上是不會使用到的。SVC希望做到一次編碼后,按需分配。
目前SVC技術(shù)應(yīng)用得不廣泛,RADVISION宣稱已經(jīng)支持。目前MCU所做的是要么按最低能力編碼發(fā)送,要么按數(shù)組能力編碼,數(shù)組碼流發(fā)送。SVC技術(shù)無法做到跨越視頻壓縮標(biāo)準(zhǔn),也就是所需要都在H,264或者其它莫一個相同的視頻壓縮標(biāo)準(zhǔn)之內(nèi),所以收端都支持該標(biāo)準(zhǔn)。如果跨域壓縮標(biāo)準(zhǔn)(如終端中支持的壓縮標(biāo)準(zhǔn)不相同,如只支持MPEG或者只支持H.263或者只支持H.264),則終端設(shè)備還必須做轉(zhuǎn)碼才能實現(xiàn)互通。
視頻會議壓縮算法之-H.264Highprofile
H.264HighProfile
實時視頻還是繼續(xù)向更高質(zhì)量,更低帶寬的方向發(fā)展。H.264Highprofile技術(shù)于2010年率先被polycom應(yīng)用于視頻會議系統(tǒng)。比h.264baseline進一步節(jié)約了近一半的帶寬。當(dāng)然我個人心存懷疑,覺得大分辨率圖形帶寬應(yīng)該能減少40%到50%,如果較小分辨率,碼率比例未必有那么明顯。不過,大分辨率圖形的碼率降低,才是關(guān)鍵,z在高清在實時會議中,采用H.264baseline,帶寬要求還是比較高的。特別是要做1080P30pfs甚至60pfs時。如果能減少一半帶寬,意味著節(jié)省2-4M帶寬,如果是在MCU側(cè),則帶寬節(jié)省就更可觀了。
這里對h.264的幾個profile做個簡單介紹:
AVC/H.264規(guī)定了多種不同的Profile:最低Profile、主要Profile、擴展Profile、高端Profile(這些Profile本身還要劃分?jǐn)?shù)個等級)。
-最低Profile,也叫做底線Profile(BaselineProfile)支持I/P幀,只支持無交錯(Progressive)和CAVLC;
-擴展Profile(ExtendedProfile)支持I/P/B/SP/SI幀,只支持無交錯(Progressive)和CAVLC;
-主要Profile(MainProfile)提供I/P/B幀,支持無交錯(Progressive)和交錯(Interlaced),同樣提供對于CAVLC和CABAC的支持;
-高端Profile(HighProfile)在主要Profile的基礎(chǔ)上增加了8x8內(nèi)部預(yù)測、自定義量化、無損視頻編碼和更多的YUV格式。