5G +边缘计算,优酷如何做云渲染?
作者|?阿里文娛高級(jí)技術(shù)專家 伊耆
責(zé)編 | 屠敏
頭圖 | CSDN 下載自東方 IC
出品 | CSDN(ID:CSDNnews)
當(dāng)5G來了,視頻還是平面的影像嗎,只能靜靜觀看嗎?一定不是!現(xiàn)在,你可以像玩游戲一樣,參與到視頻內(nèi)容當(dāng)中,還能體驗(yàn)新的播放形式,比如發(fā)AI彈幕、猜劇情、橫豎屏隨意旋轉(zhuǎn),立體的觀看進(jìn)球一瞬間,看到屏幕之外的更大畫面等等。這背后的技術(shù)是如何實(shí)現(xiàn)的,未來有哪些新交互方向?
在GMIC智慧文娛技術(shù)專場(chǎng)上,阿里文娛高級(jí)技術(shù)專家伊耆分享了如何利用終端設(shè)備的交互特性,結(jié)合內(nèi)容和算法,所實(shí)現(xiàn)的新觀影模式的探索。同時(shí)結(jié)合5G網(wǎng)絡(luò)和邊緣計(jì)算所做的云渲染技術(shù)預(yù)研。
主要分為四部分:
一是視頻和游戲的共性和差異,如何看待兩者?
二是視頻場(chǎng)景結(jié)合內(nèi)容、算法探索播放新交互模式
三是結(jié)合 5G、邊緣計(jì)算和立體視覺的云渲染技術(shù)
四是未來的思考和總結(jié)
為什么做播放交互探索?視頻和游戲的共性和差異
為什么要做新交互?其實(shí)用戶在文娛消費(fèi)體驗(yàn)上,尤其在視覺體驗(yàn)上,主要集中在兩個(gè)領(lǐng)域,一是視頻,一是游戲。我們?cè)谒伎记腥朦c(diǎn)時(shí),更多是關(guān)注兩者之間的共性和差異,尋找結(jié)合點(diǎn)。
首先回想一下,你在玩游戲是一種什么樣的體驗(yàn)?網(wǎng)上有很多類型的游戲,休閑類、益智類、競(jìng)技類等等,我們可以發(fā)現(xiàn)游戲的特點(diǎn)是交互性越強(qiáng),競(jìng)技屬性越強(qiáng);交互屬性越弱,休閑體驗(yàn)越強(qiáng)。視頻的本質(zhì)相同,在一個(gè)純被動(dòng)觀看的過程中,內(nèi)容本身會(huì)帶來感官刺激,但更多體現(xiàn)在休閑上。但隨著交互屬性的加入,比如當(dāng)視頻引入VR/AR等互動(dòng)后,其形態(tài)也更趨于游戲化,更像是一種休閑類的游戲。也就是視頻的“內(nèi)容屬性”與游戲的“交互屬性”結(jié)合,最終它可能就變成一個(gè)像游戲化的視頻了,用戶會(huì)獲得比較強(qiáng)的沉浸式的感覺。
?
視頻場(chǎng)景結(jié)合內(nèi)容、算法探索播放新交互模式
視頻 1
視頻 2
參考優(yōu)酷在互動(dòng)劇的嘗試,我們?cè)诓シ藕徒换ヮI(lǐng)域的結(jié)合也做了非常多的探索。先看2個(gè)視頻。視頻1是常規(guī)的旋轉(zhuǎn),體驗(yàn)還算順滑;視頻2是加入算法后的策略,在旋轉(zhuǎn)過程中,畫面始終是平穩(wěn)的,甚至用戶在橫移手機(jī)時(shí),可以在屏幕中看到更多的畫面,這也是初步嘗試。
以旋轉(zhuǎn)的視頻為例,形式上看似簡(jiǎn)單,但它背后也有很多技術(shù)點(diǎn):
1、旋轉(zhuǎn)手機(jī)時(shí),不丟失畫面中心。我們看視頻時(shí),視線往往會(huì)聚焦在一個(gè)中心人物,或是一個(gè)場(chǎng)景中心。當(dāng)手機(jī)旋轉(zhuǎn),自然也不希望丟失視覺的中心點(diǎn)。所以需要一套算法去識(shí)別觀影中心點(diǎn)。在此基礎(chǔ)上,通過服務(wù)鏈路去打通,將算法和視頻畫面聯(lián)合下發(fā)到端側(cè),并將數(shù)據(jù)和畫面進(jìn)行綁定,同時(shí)在用戶旋轉(zhuǎn)手機(jī)時(shí),通過對(duì)手勢(shì)的監(jiān)測(cè)選擇對(duì)應(yīng)的畫面中心點(diǎn),并進(jìn)行畫面的放大、縮小或平移。
2、基于原始的大量數(shù)據(jù)樣本,做算法模型訓(xùn)練,得到對(duì)于視頻畫面區(qū)域熱度算法的模型。由于視頻是一個(gè)連續(xù)過程,我們需要對(duì)鏡頭的切換做平滑處理,結(jié)合算法生成一個(gè)原始的算法數(shù)據(jù)。
3、將算法數(shù)據(jù)和視頻內(nèi)容做關(guān)系綁定,并下發(fā)到端側(cè)。這樣在端側(cè)就同時(shí)具備算法的數(shù)據(jù)和實(shí)際播放的視頻數(shù)據(jù)。在播放進(jìn)程中,我們需要獲取旋轉(zhuǎn)-陀螺儀傳感器的輸入,也會(huì)利用降噪算法過濾躁點(diǎn),根據(jù)用戶的旋轉(zhuǎn)角度,結(jié)合當(dāng)前視頻畫面,將算法數(shù)據(jù)和畫面本身綁定,找到畫面中心點(diǎn),做相應(yīng)處理,最終渲染到屏幕上。
以上是大致實(shí)現(xiàn)思路,在落地過程中,我們也面臨不少挑戰(zhàn),最突出的是算法與傳統(tǒng)圖像處理算法不同。普通的圖像處理多是基于單張圖片,而視頻本身是多幀的,而且每個(gè)視頻幀間是連續(xù)性的。同時(shí)在識(shí)別過程中,尤其對(duì)于運(yùn)動(dòng)場(chǎng)景、切換鏡頭的場(chǎng)景,普通算法的識(shí)別焦點(diǎn)是存在偏差的,甚至識(shí)別不到,所以我們需要新的處理。
在算法設(shè)計(jì)上,采用鏡頭分割方式,區(qū)分不同的場(chǎng)景鏡頭,然后對(duì)于每個(gè)鏡頭,我們認(rèn)為是畫面是連續(xù)的。這部分,我們結(jié)合現(xiàn)有成熟算法,融入自己的技術(shù)探索。
首先,在看畫面時(shí),人眼睛會(huì)聚焦在人臉、人體,這些點(diǎn)的區(qū)域熱度是比較高的,將些場(chǎng)景樣本作為模型訓(xùn)練數(shù)據(jù),同時(shí)視頻本身還有部分字幕,也需要去除、識(shí)別和檢測(cè)的處理。綜合這一系列的檢測(cè)內(nèi)容,最終把一幀幀畫面看成一個(gè)連續(xù)的軌跡,做聚類,形成一個(gè)角色或者是一個(gè)熱度點(diǎn)的軌跡;集合多個(gè)鏡頭,形成一個(gè)視頻區(qū)域熱度算法的數(shù)據(jù),然后下發(fā)到端側(cè)。
其次,有了算法數(shù)據(jù),在端側(cè)更多是如何處理端上傳感器,處理算法數(shù)據(jù)和視頻之間的同步問題。
以上是我們現(xiàn)階段的嘗試,同步也在做其他嘗試,在不遠(yuǎn)的未來也會(huì)逐步上線,大家很快就體驗(yàn)到。
基于 5G 的云渲染
在現(xiàn)有場(chǎng)景上,算法數(shù)據(jù)是基于原始視頻進(jìn)行識(shí)別,由于中間需要預(yù)生產(chǎn)過程,這就局限了它更多是在點(diǎn)播場(chǎng)景中。
如果不做預(yù)生產(chǎn),而在端側(cè)進(jìn)行,則會(huì)產(chǎn)生識(shí)別的速度不夠,效率底的問題,以及在不一樣的交互時(shí),處于實(shí)時(shí)性的訴求,本身對(duì)端側(cè)算力是非常大挑戰(zhàn)。結(jié)合5G的發(fā)展,我們?cè)O(shè)計(jì)出云渲染方案。首先看兩個(gè)視頻:
視頻3
視頻3在電腦上,可以認(rèn)為它是一個(gè)云端主機(jī),在云端是一個(gè)高清畫質(zhì)。而在手機(jī)端,用戶真正看到畫面,只是云端畫面的一部分。為什么這樣設(shè)計(jì)?
視頻4
視頻4是6DoF視頻,用戶可以通過手勢(shì)旋轉(zhuǎn),從各角度看到不一樣的視角。
6DoF視頻的本質(zhì)是,用戶看到的某些角度的視頻,其實(shí)是很多角度拼合的畫面,用戶在選擇某一角度時(shí),我們經(jīng)過截取,提取其中兩個(gè)畫面,通過算法虛擬生成,一個(gè)用戶觀看角度的這么一個(gè)畫面,然后下發(fā)到端側(cè)。
6DoF視頻的某一幀,真實(shí)畫面本身是非常大的畫面,8k甚至11k。用戶端看到是其中一部分,720p或1080p,其對(duì)應(yīng)的VR場(chǎng)景也類似。
挑戰(zhàn)是什么?用戶觀看VR全景視頻時(shí),本質(zhì)是4k甚至8k視頻,但用戶在每一個(gè)視角上看到的點(diǎn),可能只有720p甚至更低。想看更高清的畫質(zhì),就必須提升畫面的大小。如果我們希望要看到4k畫面,原始畫面要達(dá)到8k,甚至更高。
8K畫面下發(fā)到端側(cè)是無法解決問題的。一是芯片的限制,其次還有電量、能耗等。所以我們將終端計(jì)算能力放到一個(gè)強(qiáng)算力中心上,將用戶終端設(shè)備變成三部分:手勢(shì)輸入、屏幕輸出,計(jì)算單元放到遠(yuǎn)端計(jì)算服務(wù)器上,它的算力要數(shù)倍甚至是幾十倍于端上。
基于分布式的前提,輸入、計(jì)算和輸出的傳輸過程的耗時(shí)變短。考慮到未來5G網(wǎng)絡(luò)、邊緣計(jì)算的發(fā)展,在邊緣節(jié)點(diǎn)和終端之間的傳輸速度,加上邊緣計(jì)算節(jié)點(diǎn)的計(jì)算耗時(shí),可能要比你在本機(jī)輸入到本機(jī)芯片計(jì)算的耗時(shí)還要短。
所以,我們?cè)O(shè)計(jì)了一套分布式的云端渲染和實(shí)時(shí)計(jì)算方案。一方面解決交互的方式,大計(jì)算量的實(shí)時(shí)的數(shù)據(jù)場(chǎng)景。另一方面,借鑒在游戲領(lǐng)域(如云游戲)的思路,以下是設(shè)計(jì)模型:
1、對(duì)于用戶的手機(jī)終端、VR設(shè)備或眼鏡類各種設(shè)備,因?yàn)橛布诓粩喟l(fā)展,它的算力會(huì)越來越強(qiáng)。但是個(gè)別設(shè)備算力還比較弱,所以我們希望有實(shí)時(shí)調(diào)度能力。算力強(qiáng)的設(shè)備,在端上做;算力弱的設(shè)備,在云上做。同時(shí)基于用戶的手機(jī)電量等各方面場(chǎng)景,在邊端體系上有一個(gè)調(diào)度能力。用戶端的一個(gè)播放行為,其實(shí)是從媒資的存儲(chǔ)到轉(zhuǎn)碼、CDN分發(fā),CDN節(jié)點(diǎn),通過分發(fā)服務(wù)到手機(jī)終端,當(dāng)用戶點(diǎn)擊視頻,通過對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)拉取對(duì)應(yīng)的云端視頻數(shù)據(jù)。
2、在云渲染鏈路上,我們希望用戶是通過調(diào)度的操作,決定計(jì)算邏輯是在端上還是邊緣節(jié)點(diǎn)上。如果在邊緣節(jié)點(diǎn),通過邊緣節(jié)點(diǎn)去訪問中心節(jié)點(diǎn),拉取到數(shù)據(jù)。當(dāng)用戶再次操作時(shí),通過邊緣節(jié)點(diǎn)進(jìn)行相應(yīng)的交互處理,再下發(fā)到端側(cè)。這樣從邊緣節(jié)點(diǎn)到播放終端,是點(diǎn)對(duì)點(diǎn)的實(shí)時(shí)傳輸?shù)牟僮鳌?/p>
細(xì)化云渲染的整體設(shè)計(jì),我將它分為五個(gè)部分:邊緣服務(wù)框架、網(wǎng)絡(luò)協(xié)議、端側(cè)交互引擎、邊端調(diào)度系統(tǒng)、應(yīng)用開發(fā)工具鏈。其中邊緣服務(wù)框架、網(wǎng)絡(luò)協(xié)議、端側(cè)交互引擎如下圖所示,分別承擔(dān)著邊緣節(jié)點(diǎn)的框架服務(wù)能力、網(wǎng)絡(luò)通信的協(xié)議處理、以及終端的交互、渲染引擎。而邊端調(diào)度系統(tǒng)如上所說,主要是根據(jù)用戶終端、邊緣節(jié)點(diǎn)算力等情況合理調(diào)度用戶的渲染服務(wù)是應(yīng)該在終端處理還是到邊緣節(jié)點(diǎn)處理。而基于此,我們可以看到,很大程度上服務(wù)程序是需要在多平臺(tái)基礎(chǔ)上運(yùn)行的,所以相應(yīng)的開發(fā)工具鏈(開發(fā)調(diào)試IDE、服務(wù)部署發(fā)布系統(tǒng)等)也是很重要的部分。
在邊緣服務(wù)上,我們希望搭建一套基礎(chǔ)框架,不僅承載現(xiàn)有的渲染服務(wù),未來也可以部署游戲引擎來實(shí)現(xiàn)云游戲的服務(wù)。由于單個(gè)邊緣服務(wù)節(jié)點(diǎn)需要服務(wù)多個(gè)終端設(shè)備,推拉流服務(wù)的用戶session 管理很重要,并且低延時(shí)的推流處理、高性能的渲染服務(wù)等都是我們需要突破的重點(diǎn)。同時(shí),由于我們定義的很多場(chǎng)景是基于實(shí)時(shí)計(jì)算和強(qiáng)交互的模式,更像是游戲,上行的數(shù)據(jù)以操作指令、文本等為主,下行則主要是流媒體數(shù)據(jù)、算法數(shù)據(jù)等,而且考慮到時(shí)延等問題,優(yōu)選基于UDP構(gòu)建的傳輸協(xié)議,同時(shí)考慮到網(wǎng)絡(luò)穿透率的問題,基于TCP的方案會(huì)作為基礎(chǔ)的兜底策略。而在端側(cè),重點(diǎn)是低延時(shí)的直播播放器,網(wǎng)絡(luò)協(xié)議的客戶端實(shí)現(xiàn)以及用戶上行的指令處理等。
?
未來的思考和總結(jié)
始于播放新交互,結(jié)合5G和邊緣計(jì)算,面向云渲染。基于這個(gè)鏈路,未來我們希望的播放新交互是什么樣子?
首先,在交互能力上,我們已經(jīng)將算法和內(nèi)容做結(jié)合,視頻內(nèi)容本質(zhì)上是導(dǎo)演、演員基于劇情,向用戶傳遞信息。用戶觀影過程中,是不是可以跟導(dǎo)演、演員或內(nèi)容之間有聯(lián)動(dòng)交互。
其次,如何將這兩者之間的信息拉通?就是通過算法結(jié)合內(nèi)容做識(shí)別,算法本身去識(shí)別內(nèi)容,再將識(shí)別出的內(nèi)容跟用戶看到的內(nèi)容,在信息上更貼合用戶偏好,將更多主動(dòng)權(quán)交給用戶,給用戶更沉浸式的觀影體驗(yàn)。同時(shí)因?yàn)檫@種交互的模式,對(duì)算法對(duì)算力有更高要求,借由5G和邊緣計(jì)算的發(fā)展,打造一個(gè)環(huán)形體系,實(shí)現(xiàn)播放新交互的體系化形態(tài)。
以上就是我們對(duì)于未來在播放和交互領(lǐng)域的思考。
?
推薦閱讀
手把手教你配置VS Code 遠(yuǎn)程開發(fā)工具,工作效率提升N倍
用大白話徹底搞懂 HBase RowKey 詳細(xì)設(shè)計(jì)
后端程序員必備:書寫高質(zhì)量SQL的30條建議
Go 遠(yuǎn)超 Python,機(jī)器學(xué)習(xí)人才極度稀缺,全球 16,655 位程序員告訴你這些真相!
任正非談“狼文化”:華為沒有 996,更沒有 007
區(qū)塊鏈必讀“上鏈”哲學(xué):“胖鏈下”與“瘦鏈上”
在商業(yè)中,如何與人工智能建立共生關(guān)系?
真香,朕在看了!
總結(jié)
以上是生活随笔為你收集整理的5G +边缘计算,优酷如何做云渲染?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新量子通信芯片曝光!大小仅为现有装置的
- 下一篇: 雪花算法(snowflake) :分布式