分享者:阿里巴巴資訊平臺事業部資深技術專家致凡
音視訊行業的發展
音視訊行業發展迅速,經歷了1970年代的黑白時代、1980年代的數字化時代、1990年代的數字標清時代、2006-2015年代的高清時代,2016年逐步開始以融合通訊為主的行業趨勢,高質量(4K,高清,高幀率,HDR)、多場景(點播,直播,實時通訊)、雲化(硬體軟體化,平臺雲化)和行業化已經成為當下音視訊行業的發展趨勢。
音視訊行業未來的發展趨勢,在我看來就是雲+端+服務。
雲:平臺雲化,從PaaS到SaaS,從私有公有云,一切都是基於雲的服務。
端:相容各種終端,PSTN和VOIP,會議室裝置,手機,PC,Web,Android終端等。
服務:包括簡訊,語音,IM,音視訊,呼叫中心,雲客服和附加AI服務等多種服務。
目前,音視訊已廣泛應用於包括B2B(企業與企業間、企業內部間)、C2C(使用者與使用者間),以及B2C(企業和使用者間)。
圖片來自《艾瑞2018通訊雲服務行業報告》
根據著名Cisco的VNI(Virtual Network Index)預測,到2021年,地球上將有46億網際網路使用者,271億聯網裝置,82%網際網路的流量是視訊。每一秒鐘將會有一百萬分鐘的視訊內容被建立,其中4K高清的內容會增加30%,相當於每個月生成71億部DVD影片,直播的需求也會大幅增長15倍。
從視訊本身發展的趨勢看也是一路狂奔向高清、CIP、4CIP、720P、1080P、UHD4K和8K;加上高幀率FPS 120-160FPS、HDR(High Dynamic Range)、寬色域(Wide Color Gamut),一切發展變化都是為了給人一種身臨其境的Immersive體驗。當然還有VR、AR、360視訊,這所有的一切都意味著更多的視訊資料流將被生成和消費。
網路環境讓我們需不斷完善音視訊服務
如果網路頻寬是無限且暢通無阻的,那世界將是多麼美好。但網路並不是一馬平川的。有時像十一長假堵車,有時像鄉間泥濘小道,而且還有可能佈滿大坑。
根據Silver-Peak跨美國和歐洲的網路健康報告發現,網路傳輸的延時、抖動和丟包是普遍存在現象。有時網路狀況就像天氣一樣令人難以捉摸。雖然網路的平均丟包率只有0.34%,但個別情況下可以達到2.2%;而且丟包從來都不是均勻的,是突發性的Burst,網路延遲可能會超過平均值300多倍。這些極端的網路情況對音視訊的傳輸和使用者體驗來說,都是極大挑戰。
網路和音視訊流量的供求矛盾,網路傳輸的不確定和不完善的殘酷現實,倒逼著我們不斷完善和監控音視訊服務。
音視訊內容從生產到消費的過程會經歷不同環節,且鏈路較長,其中涉及的技術也較多,下面將主要對其中的視訊編碼,網路構架進行解析。
視訊編碼
視訊編碼標準的選擇
視訊編碼標準作為視訊技術的核心,在過去幾個世紀出現過很多不同標準,但最終被市場採納主要為以下兩套體系:一套是標準化體系的H264、H265 和正在制定中的VVC;另一套是開源無版稅的VP8、VP9和AOM(Alliance for Open Meida)的AV1。
阿里巴巴是AOM的成員也同時積極參與VVC的制定,對於視訊編碼的核心不能被掐住發展的咽喉。
針對不同場景的不同編碼需求
視訊不同的應用場景(如:點播、直播、實時通訊),決定了在每一個應用場景底下對編碼的不同需求。
對點播而言最重要的是編碼效率,如何有效節約頻寬。直播對延時有要求,但是是在秒級的,對編碼的速度和穩定性的需求也比點播高。實時通訊對“點對點”的延時要求最高,同時它對穩定性和容錯性的要求也很高,這需要通過平衡編碼效率來實現。
如何配對編位元速率與解析度
視訊編碼以前簡單地採用固定壓縮引數,固定位元速率和固定解析度,對於HLS和MPEG-DASH的ABR(Adaptive Bitrate),也用固定編位元速率和解析度來配對。這就無法滿足不同視訊對位元速率的不同需求。1M的720P動畫片看起來可能已經不錯了,但是1M的720P動作片看起來就會很糊。
但對於ABR,編位元速率和解析度也是一個動態平衡的過程。在低位元速率的情況下用低解析度以減少塊狀效果(blocking effects),當位元速率的提高到一定程度時提升解析度,包圍不同解析度RD曲線的就是凸包(Convex Hall)。曲線中的交叉點就是理性的編位元速率和解析度配對。
如何確定視訊質量的衡量指標
但怎麼確定曲線中的交叉點呢?這需要有衡量視訊質量的指標。
通常的視訊指標包括主觀的MOS分和客觀指標比如PSNR,SSIM和VMAF。阿里巴巴的視訊質量指標,不但結合了通用的客觀指標,也同時考慮了影響播放質量的的卡頓和網路狀況。
如何進行自適應編碼
自適應編碼(Content Adaptive Encoding)是視訊編碼的一大趨勢。從One-size-fit-all的單一編碼引數、位元速率和解析度配對,到根據視訊內容的複雜度進行定製化的編碼引數適配。自適應編碼可以針對單個視訊、場景、GOP,甚至是Frame用不同的壓縮引數進行動態調整,這樣最大限度優化視訊質量、節約頻寬。這種自適應優化最重要的就是視訊質量的衡量指標。一旦定義好可用的指標,就可以圍繞它進行不同層次的優化。
對於自適應編碼,機器學習可以大有用處。比如利用機器學習針對不同的視訊特徵,找到對應優化的編碼引數。
人腦占人身體的比例不大,但是消耗人體大約1/3的能量,人的基因特性決定了大腦只會關注畫面中重要區域,忽略不重要的區域。利用這種ROI(Region of Interest)進行編碼,就可以在保持視訊主觀質量的情況下減少編位元速率。比如人臉和文字是經驗意義下的ROI的例子。
音視訊伺服器網路架構
實時音視訊伺服器的網路架構,除了MESH外,還有MCU(Multi-point Control Unit)和SFU(Selectiveforward Unit)兩種。
MCU是集中的媒體處理服務,優勢在於可以對媒體和信令進行控制和轉換,如對媒體進行轉碼、轉流、混屏、分流,對信令進行轉換,對媒體包進行路由優化等等。MCU可以減低Client端的CPU和對網路頻寬的需求,但是MCU的缺點也較明顯,那就是伺服器CPU的開銷以及帶來的延遲。
相對MCU來說,目前更流行的架構是SFU,它主要的好處是簡單、低時延、高吞吐,缺點是對client端的頻寬要求比較高,client上傳一路或者多路流同時下載多路流。SFU的客戶端可以發單流、多流(Simulcast)和SVC。根據運用場景的不同,客戶端發流策略也不同。
在阿里巴巴的音視訊會議系統中,採用的是一種SFU+MCU的混合模式,以保證最大的相容性。這種SFU和MCU級聯的策略保證對各類客戶端的最大靈活性。此外媒體伺服器在不同區域可以進行級聯,客戶端就近入會、就近補包,減低第一公里和最後一公里對音視訊質量的影響。
網路頻寬評估
網路頻寬評估是實時通話的關鍵技術。阿里巴巴在這方面進行了很多針對會議室場景的優化。並且通過評估演算法可以在伺服器端快速釋出,不用等待更新客戶端軟體。
在弱網不可避免的情況下,通過合理的頻寬分配,確保音訊優先傳輸,同時及時把弱網資訊傳達給使用者,同樣可以得到使用者理解,提升使用者體驗。
後記
音視訊提供的是服務,不是單點的QoS,使用者的最終體驗不是簡單的抗丟包率、卡頓率的指標,而是端到端的體驗。所以不僅需要我們在事先創造一個良好的音視訊環境,更需要我們對整體鏈路進行質量監控。除了能及時發現問題,快速響應外,還能幫助我們不斷發現與創造更多新業務場景。通過把業務資料化,再根據資料來指導業務,這樣才能讓音視訊的服務體驗達到極致。