新聞中心
低延時音視頻技術在OPPO云渲染場景的應用
作者:邵高杰 2023-04-10 07:49:43
云計算 本文主題是低延時音視頻技術在 OPPO 云渲染場景的應用與實踐。

昌都ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
一、云渲染場景的傳輸需求及挑戰(zhàn)
首先介紹一下云渲染業(yè)務對音視頻的一些傳輸要求,以及面臨的挑戰(zhàn)。
1、云渲染場景應用
隨著互聯(lián)網(wǎng)技術的發(fā)展,音視頻應用經(jīng)歷了三個階段:
第一個階段主要為 2008~2013 年,也就是 3G 時代,以長視頻為主,以 PDN 點播、 VOD 點播為核心技術。
第二個階段從 2013~2019 年,進入 4G 時代,誕生了很多音視頻的產(chǎn)品,比如播直播、短視頻,音視頻技術。
第三個階段從 2019~ 至今,進入了 5G 時代,隨著 5G 和云基礎設施的發(fā)展,給音視頻技術帶來了更多施展空間,音視頻技術進入繁榮時期,這一時期的應用和技術主要有云會議、互動直播、遠程協(xié)作、XR、云游戲、自由視角等等。
什么是云渲染,簡而言之,云渲染是利用云端算力來解決終端算力瓶頸問題,進而解放端側(cè)算力壓力,主要的場景有虛擬社交,虛擬演播廳、虛擬演唱會、云游戲、遠程協(xié)作等。
云渲染平臺借助云端算力和音視頻技術將引領下一代多媒體互聯(lián)發(fā)展。
2、云渲染平臺架構(gòu)
云渲染平臺主要有兩大部分,第一部分是云端渲染平臺,第二部分是跨終端平臺,兩個部分中間通過串流技術依托網(wǎng)絡傳輸進行鏈接。基本原理是把 3D 應用渲染在云端運行,通過接收終端的控制指令渲染相應音視頻畫面,再通過流化技術由網(wǎng)絡推給終端用戶進行體驗。
串流是云渲染業(yè)務用戶體驗的核心點,云渲染將本地應用的算力移到云端,但需要與本地應用有相同的體驗,從體驗角度來講,云渲染對流化傳輸有兩個需求:
① 如何實現(xiàn)沉浸式超高清體驗:相比以前的音視頻,比如云會議、在線課堂,云渲染需要實現(xiàn)高清體驗;以前 1080P、720P 分辨率,1~2M 的帶寬基本滿足,但現(xiàn)在的視頻畫面更高清,比如 4K、8K 畫質(zhì),音視頻傳輸負載變更大,從原來的 1M 級變成 10M 級,自由視角的場景甚至到 100M 級。
② 如何實現(xiàn)實時互動:零延時是相對概念,用戶無感知延時就叫零延時,目前百毫秒延時能夠給用戶提供較好的體驗,百毫秒延時成為未來的趨勢。
二、RTC 和云渲染業(yè)務的結(jié)合
本章節(jié)將介紹 OPPO 在云渲染場景與 RTC 的結(jié)合,傳輸架構(gòu)所做的調(diào)整,并分享一些優(yōu)秀的實踐。
1、基于 CloudRTC 的云渲染平臺傳輸架構(gòu)
首先是產(chǎn)品架構(gòu),云渲染平臺傳輸架構(gòu)與傳統(tǒng) RTC 架構(gòu)類似,包括推流端、拉流端、云端轉(zhuǎn)發(fā)三大部分,不同點在于邊緣云與媒體轉(zhuǎn)發(fā)服務在同一個機房或同一個網(wǎng)源點上。
推流端主要部署云渲染應用,邊緣計算集群、虛擬化后的 GPU 集群都在這部分。
云端服務包括三部分:
第一部分是信令加速服務,負責用戶接入、流量調(diào)度、用戶管理、房間管理等。
第二部分是媒體轉(zhuǎn)發(fā)服務,與傳統(tǒng) RTC 有一點區(qū)別,會根據(jù)云渲染應用提供 SFU/PTP 架構(gòu),同時提供轉(zhuǎn)發(fā)和點對點直連。媒體轉(zhuǎn)發(fā)服務負責云渲染平臺的兩種數(shù)據(jù)流,第一種是媒體流,也就是音視頻流,第二種是控制流,即用戶對云渲染平臺反向的交互控制指令。
第三部分是拉流播放服務。拉流播放實現(xiàn)了更多端側(cè)設備適配,如 IOT 設備、頭顯設備、手表、鼠鍵盤、手柄及平板、手機、電腦等設備。
接下來對調(diào)整后的云渲染全鏈路串流方案傳輸架構(gòu)進行整體介紹。如上圖所示,從架構(gòu)上分為三大模塊:
① 云化平臺:渲染應用的核心模塊。
② 流化模塊:包括采集編碼、網(wǎng)絡傳輸、解碼、反向指令傳輸?shù)鹊取?/p>
③ 終端顯示:包括指令采集等等。
整體流程如上圖所示,過程中有個技術點需要重點介紹,在整個流程中我們將指令采集和音視頻流放在同一網(wǎng)源,即同一個傳輸協(xié)議,將指令采集通過信令方式傳輸,通過將指令發(fā)送與音視頻通過同一通道傳輸,可以對時延有較好的控制,方案已經(jīng)在新一代的 OPPO 云渲染平臺上線。
三、低延時串流技術探索
這一章節(jié)中將介紹對低延時技術的探索與實踐,特別是 RTC、串流等技術。
1、云渲染串流時延優(yōu)化
通過分解將整體時延優(yōu)化分為三個部分:
① 采集編碼優(yōu)化。
② 傳輸優(yōu)化。
③ 接收端優(yōu)化。
2、采集編碼優(yōu)化
采集編碼優(yōu)化主要有兩部分工作:
(1)GPU 編碼方案
GPU 編碼方案的調(diào)整包括渲染畫面顯示后,通過屏幕或窗口采集,送到編碼模塊進行編碼;另外,引入 GPU 的優(yōu)勢,通過在 GPU 進行渲染和編碼,引入零拷貝編碼方案。
零拷貝編碼方案:通過云渲染引擎設置鉤子函數(shù),當渲染畫面出來之后通過鉤子函數(shù)將 frame buffer 里面的數(shù)據(jù)整理,將 frame buffer 里的數(shù)據(jù)拷貝到共享紋理 share texture 中,通過共享紋理圖像使用 GPU 進行編碼,可以避免 GPU 和 CPU 之間原始數(shù)據(jù)拷貝,通過在 GPU 內(nèi)部完成視頻采集處理和編碼,大大縮短效率,降低 CPU 消耗,編碼模塊將數(shù)據(jù)送到云串流引擎上通過網(wǎng)絡發(fā)送,同時在時延上有一些收益。
(2)低延時編碼方案
① 自適應編碼:結(jié)合傳輸和控制,根據(jù)網(wǎng)絡質(zhì)量和傳輸質(zhì)量進行自適應編碼及碼率調(diào)整。
② 前向糾錯技術:結(jié)合糾錯技術對網(wǎng)絡丟包進行動態(tài)冗余編碼,進行信源編碼交錯。
③ ROI 編碼:通過 ROI 區(qū)域感興趣編碼,降低一些編碼碼率,增強畫質(zhì),從而實現(xiàn)低碼高清的。
④ 分層編碼:分層包含 SVC 編碼以及一些 Cmucas 的編碼來實現(xiàn)抗弱網(wǎng)以及在弱網(wǎng)情況下的重傳壓力。
⑤ LTR 編碼:通過 LTR 查詢參考幀的編碼引入,在編碼方案上會做低延時的更多選擇性。
3、傳輸優(yōu)化 -基于 GCC 的優(yōu)化方案
再來看一下傳輸層的優(yōu)化內(nèi)容。
(1)擁塞控制優(yōu)化方案:OPPO 的 RTC 基于 WebRTC 演進,控制算法是基于 GCC 的優(yōu)化方案,在低時延的預算情況下,媒體傳輸在發(fā)生網(wǎng)絡擁塞時降低一些碼率,避免發(fā)生更嚴重的網(wǎng)絡擁塞,減少丟包重傳及時延上升。
① 帶寬評估
1)調(diào)節(jié)基于延遲和丟包預測模型的加權(quán)參數(shù),提高網(wǎng)絡敏感環(huán)境抗性。
2)在探測過程中,采用快速收斂策略,優(yōu)化帶寬估計反饋周期 feedback。
② Pacing 流控發(fā)送
1)在網(wǎng)絡良好時,調(diào)整流控超發(fā)參數(shù),提高單次數(shù)據(jù)發(fā)送量,降低單幀發(fā)送時延。
2)采用 Pace+Probe 方案,更加主動的探測網(wǎng)絡帶寬,提高帶寬利用率。
4、傳輸優(yōu)化 -流暢性優(yōu)先的 QoS 策略
接下來介紹傳輸算法中重要的內(nèi)容——QoS 策略。
QoS 策略如圖所示,如何在編碼發(fā)送接收過程中,發(fā)現(xiàn)丟幀,恢復,通過不同手段解決丟幀問題,對 QoS 進行優(yōu)化,保證流暢性。QoS 流暢性優(yōu)先優(yōu)化策略包括:
(1)HARQ 動態(tài)冗余策略
優(yōu)化重傳和 FEC 技術,通過前置冗余的方案,在丟包之前配備一定冗余,以局部帶寬為代價,降低重傳時延。
(2)不對等保護
依據(jù)不同信源做不同保護策略,在弱網(wǎng)場景,配合 SVC 分層編碼,采用主動丟幀和減少 P 幀重傳策略,降低傳輸帶寬,緩解網(wǎng)絡擁塞。
通過流暢性優(yōu)先的 QoS 策略,可以在時延及帶寬上取得更好的平衡。
5、接收端優(yōu)化--零緩存播放
下面介紹接收端的優(yōu)化。在音視頻發(fā)送到客戶端播放之前經(jīng)歷三個階段:抗抖動、解碼時延、渲染時延;最后到接收端時延。
接收端時延優(yōu)化策略有:
(1)調(diào)整 Jitterbuffer 算法
采取“來一幀,出一幀”思路,重構(gòu)低延時 Jitter 評估方案,同時弱化幀間差異帶來的抖動,控制 buffer 緩存,更快更及時地輸出給解碼器解碼。
(2)低延時解碼
在硬件比較差的設備,采用軟硬結(jié)合的解碼方案,基于端側(cè)設備選擇解碼類型,以達到高效率低延遲的目標。
6、時延測試數(shù)據(jù)及應用效果
上圖中展示了優(yōu)化后的時延實驗測試數(shù)據(jù)。
左邊圖片是基于 RTC 場景的測試數(shù)據(jù),時延在 180ms 左右,整體網(wǎng)絡模擬延時是50ms;優(yōu)化后的低時延測試數(shù)據(jù)在 100ms 左右,通過邊緣節(jié)點可以進一步降低網(wǎng)絡時延。
右邊圖片是 OPPO 的 3D 虛擬數(shù)據(jù)中心,基于優(yōu)化后的 RTC 技術,整體時延及體驗得到了提升。
四、總結(jié)與展望
最后介紹一下對低時延應用的展望。
現(xiàn)有串流技術,達到了百毫秒級別,但仍需要進一步優(yōu)化時延,實現(xiàn)更高標準的“延時自由”,未來展望主要有三點:
(1)內(nèi)容生產(chǎn)端:通過生產(chǎn)的傳輸端優(yōu)化,比如,云端應用與推流更緊密的聯(lián)合,實現(xiàn)“生產(chǎn)端+傳輸”更加閉環(huán)。
(2)云端:通過云端更低成本的基礎設施,結(jié)合邊緣節(jié)點,實現(xiàn)全局一張網(wǎng),降低接入成本和時延。
(3)用戶端:用戶端的 SDK 除了實現(xiàn)播放,通過策略在部分端側(cè)進行端側(cè)渲染,以及 RTC 和指令控制的結(jié)合,達到更佳的用戶體驗。
新聞標題:低延時音視頻技術在OPPO云渲染場景的應用
路徑分享:http://m.fisionsoft.com.cn/article/dpeeoje.html


咨詢
建站咨詢
