“至臻畫質”是聲網“實時高清·超級畫質”解決方案中的一項核心能力,不僅支持移動端1080P、PC端4K高清畫質,還通過端側實時超分、暗光增強、色彩增強等算法對畫質進行增強與提升,相比技術門檻較高的超分、暗光增強等技術,想要在實時互動中支持1080P、4K高清畫質也并不簡單,其背后也面臨著一系列技術挑戰(zhàn)。
總體來說,在實時互動中支持超高清視頻的技術挑戰(zhàn)可分為“大數據量的網絡傳輸和弱網對抗能力”、“全鏈路各環(huán)節(jié)的處理性能和幀率要求”、“綜合設備可用性和QoE體驗問題”三方面的挑戰(zhàn),接下來我們將逐一解析每一項技術挑戰(zhàn)背后的聲網最佳實踐。
音視頻數據量龐大
考驗網絡傳輸和弱網對抗能力
在日常生活中,我們下載或者觀看更高清的視頻,一般都需要更快的網絡帶寬,在實時互動中亦是如此,想要實現4K等超高清視頻的傳輸,一般需要10M、20M甚至更高的帶寬,才能實現視頻的穩(wěn)定傳輸,普通網絡條件下很容易因為帶寬不足或者抖動造成大量的網絡丟包,引起視頻卡頓。
視頻越高清也就意味著視頻的數據量越龐大,所以一般在傳輸前都會先用到音視頻編碼技術,壓縮音視頻數據的大小,讓音視頻更容易存儲和傳輸。但壓縮后的視頻數據量依然很考驗網絡的傳輸能力,想要解決實時互動場景下的網絡質量問題,需要依賴于傳輸協(xié)議、弱網對抗算法以及媒體傳輸策略。
在超高清視頻的傳輸場景中,聲網除了采用PVC、H265和B幀等高效編碼壓縮技術之外,在4K畫質場景,聲網可以做到70%丟包下視頻通話流暢,這其中得益于聲網自研的傳輸協(xié)議AUT、抗丟包FEC算法和自適應媒體傳輸策略。
一方面,聲網自研的AUT傳輸協(xié)議采用更合理的傳輸架構和更好的算法,帶來更大的傳輸能力和更高的丟包對抗邊界,同時還支持多人視頻的Scalability(可伸縮性)。很多問題在超高清視頻場景下會放大,包括弱網對抗,原本還不錯的網絡帶寬能接受720P畫質,但在1080P、4K畫質下是不夠的,這時候就會根據每個接收端的網絡質量分發(fā)最合適的碼流,例如從原來的4K 60FPS降到4K 30FPS,甚至是1080P,讓每個接收端都可以得到和自己的網絡狀態(tài)相匹配的流暢體驗。
另一方面,聲網自研的FEC算法能提高丟包恢復率,降低解碼端的延遲,最終改善弱網下的卡頓率指標和解碼延遲時間。同時聲網的弱網對抗算法結合混合ARQ(自動重傳請求)媒體傳輸策略,可以根據多維度的輸入參數信息、網絡環(huán)境以及用戶場景和結果反饋,實現自適應的弱網對抗系統(tǒng),確保高分辨率場景下抗弱網能力的同時提升視頻質量(清晰度、流暢度、延時)。
全鏈路各環(huán)節(jié)的處理性能和幀率要求
高分辨高幀率的視頻場景,除了編碼傳輸和弱網對抗能力之外,視頻采集和渲染的幀率表現以及上下行鏈路處理的CPU性能開銷也經常是瓶頸所在。因為每1秒處理的內存數據量最高可達幾百MB甚至1GB以上,因此針對2K/4K 60FPS場景聲網做了采集、渲染、硬件編解碼等全鏈路的深度優(yōu)化,全平臺支持零拷貝鏈路,充分利用GPU的硬件加速處理能力,以及盡可能的減少視頻數據的搬運操作,以降低大量的視頻數據處理和流轉對于CPU的消耗。
這就好比利用集裝箱取代傳統(tǒng)的散貨裝卸,可以極大提升貨物流轉的效率。另外通過將整個視頻處理鏈路拆分成多個子任務,類似于現代工廠的多級流水線,可以提高視頻處理的并行度,最終提升整個視頻鏈路的吞吐量。
同時,針對4K 60FPS超高清屏幕共享采集,聲網通過精準的時序控制實現60FPS滿幀率采集,同時采用系統(tǒng)原生的數據格式以避免額外的數據拷貝和轉換,比如在Mac平臺上屏幕采集直接輸出BGRA格式的CVPixelBuffer并且不需要進行額外的格式轉換。
注:CVPixelBuffer:核心視頻像素緩沖區(qū),是指在主存儲器中保存像素的圖像緩沖區(qū)。生成幀、壓縮或解壓縮視頻或使用Core Image的應用程序都可以使用CVPixelBuffer。
在4K 60FPS高幀率視頻的渲染方面,聲網利用各平臺顯示的VSync機制設計高幀率渲染系統(tǒng),避免高幀率視頻流在渲染模塊內丟幀,同時讓高幀率場景下的渲染更加均勻,并在中高端設備上實現了端到端2K/4K 60FPS穩(wěn)定不掉幀的效果。
注:VSync是垂直同步的簡稱,基本原理是將視頻的FPS幀率和顯示器的刷新率同期起來,其目的是避免出現畫面“撕裂”的現象。
綜合設備可用性和QoE體驗問題
超高清視頻在實際應用場景中,不可避免的要面對很多設備兼容和體驗問題,相對于普通標清和高清的視頻,超高清視頻更容易碰到設備不支持,或者設備支持但是明顯卡頓或發(fā)熱的問題,尤其在多人視頻互動場景下,設備和網絡條件復雜,發(fā)送端能做到4K 60FPS,但接收端觀眾的設備質量參差不齊,例如有些設備解碼無法支持4K 60FPS的視頻,有些解碼只能解20幾幀,視頻幀不均勻,導致視頻不流暢,這些都是設備可用性問題,也成為了阻礙業(yè)務應用落地的絆腳石。
解決以上問題,聲網的解決方案本質上可以歸納為基于設備能力和網絡條件的Scalability(可可伸縮性),綜合利用多種工具并自適應調整引擎的參數配置和策略,比如發(fā)送端可以自適應選擇最合適的分辨率、幀率和碼率等等,提供多級的服務能力和靈活性,結合一些場景化API,給出不同場景下的參考實踐,最大程度滿足業(yè)務的綜合可用性和QoE體驗要求。
例如,聲網采用的AutoAdjust(自動調整)自適應策略,能綜合業(yè)務類型、設備的性能、網絡條件和鏈路各處理模塊的狀態(tài)等,自適應選擇最合適的分辨率、幀率和碼率,以及視頻處理模塊的檔位、軟硬編和網絡策略參數配置等等,在避免設備發(fā)熱和卡死的前提下盡可能保證視頻質量體驗。
聲網的解決方案還具備設備分級和設備能力查詢,用歸一化的方式,定義設備有多大的能力,能支撐多少內容。同時支持查詢設備是否具備比如4K 60FPS的解碼能力等,方便根據業(yè)務場景定制最佳方案。
正是有了以上技術的不斷實踐,聲網才能在實時互動中更完美的支撐1080P、4K超高清畫質,從而進一步實現視頻畫質增強、畫面視覺效果提升等“至臻畫質”能力,此外,聲網“實時高清·超級畫質”還包含美顏悅色、絲滑流暢、低碼高清、PC開播、玩法升級、數據監(jiān)測、使用無憂八大禮包,助力開發(fā)者與企業(yè)實現視頻畫質、用戶體驗和互動玩法的全面升級,拓展更為廣闊的營收增長空間。