天天看點

結合 5G和邊緣計算,優酷如何做雲渲染?

作者| 阿裡文娛進階技術專家 伊耆

當5G來了,視訊還是平面的影像嗎,隻能靜靜觀看嗎?一定不是!現在,你可以像玩遊戲一樣,參與到視訊内容當中,還能體驗新的播放形式,比如發AI彈幕、猜劇情、橫豎屏随意旋轉,立體的觀看進球一瞬間,看到螢幕之外的更大畫面等等。這背後的技術是如何實作的,未來有哪些新互動方向?

在GMIC智慧文娛技術專場上,阿裡文娛進階技術專家伊耆分享了如何利用終端裝置的互動特性,結合内容和算法,所實作的新觀影模式的探索。同時結合5G網絡和邊緣計算所做的雲渲染技術預研。主要分為四部分:

一是視訊和遊戲的共性和差異,如何看待兩者?

二是視訊場景結合内容、算法探索播放新互動模式

三是結合 5G、邊緣計算和立體視覺的雲渲染技術

四是未來的思考和總結

一、為什麼做播放互動探索?視訊和遊戲的共性和差異

為什麼要做新互動?其實使用者在文娛消費體驗上,尤其在視覺體驗上,主要集中在兩個領域,一是視訊,一是遊戲。我們在思考切入點時,更多是關注兩者之間的共性和差異,尋找結合點。

首先回想一下,你在玩遊戲是一種什麼樣的體驗?網上有很多類型的遊戲,休閑類、益智類、競技類等等,我們可以發現遊戲的特點是互動性越強,競技屬性越強;互動屬性越弱,休閑體驗越強。視訊的本質相同,在一個純被動觀看的過程中,内容本身會帶來感官刺激,但更多展現在休閑上。但随着互動屬性的加入,比如當視訊引入VR/AR等互動後,其形态也更趨于遊戲化,更像是一種休閑類的遊戲。也就是視訊的“内容屬性”與遊戲的“互動屬性”結合,最終它可能就變成一個像遊戲化的視訊了,使用者會獲得比較強的沉浸式的感覺。

二、視訊場景結合内容、算法探索播放新互動模式

結合 5G和邊緣計算,優酷如何做雲渲染?

參考優酷在互動劇的嘗試,我們在播放和互動領域的結合也做了非常多的探索。先看2個視訊。視訊1是正常的旋轉,體驗還算順滑;視訊2是加入算法後的政策,在旋轉過程中,畫面始終是平穩的,甚至使用者在橫移手機時,可以在螢幕中看到更多的畫面,這也是初步嘗試。

以旋轉的視訊為例,形式上看似簡單,但它背後也有很多技術點:

1、旋轉手機時,不丢失畫面中心。我們看視訊時,視線往往會聚焦在一個中心人物,或是一個場景中心。當手機旋轉,自然也不希望丢失視覺的中心點。是以需要一套算法去識别觀影中心點。在此基礎上,通過服務鍊路去打通,将算法和視訊畫面聯合下發到端側,并将資料和畫面進行綁定,同時在使用者旋轉手機時,通過對手勢的監測選擇對應的畫面中心點,并進行畫面的放大、縮小或平移。

2、基于原始的大量資料樣本,做算法模型訓練,得到對于視訊畫面區域熱度算法的模型。由于視訊是一個連續過程,我們需要對鏡頭的切換做平滑處理,結合算法生成一個原始的算法資料。

結合 5G和邊緣計算,優酷如何做雲渲染?

3、将算法資料和視訊内容做關系綁定,并下發到端側。這樣在端側就同時具備算法的資料和實際播放的視訊資料。在播放程序中,我們需要擷取旋轉-陀螺儀傳感器的輸入,也會利用降噪算法過濾躁點,根據使用者的旋轉角度,結合目前視訊畫面,将算法資料和畫面本身綁定,找到畫面中心點,做相應處理,最終渲染到螢幕上。

以上是大緻實作思路,在落地過程中,我們也面臨不少挑戰,最突出的是算法與傳統圖像處理算法不同。普通的圖像處理多是基于單張圖檔,而視訊本身是多幀的,而且每個視訊幀間是連續性的。同時在識别過程中,尤其對于運動場景、切換鏡頭的場景,普通算法的識别焦點是存在偏差的,甚至識别不到,是以我們需要新的處理。

結合 5G和邊緣計算,優酷如何做雲渲染?

在算法設計上,采用鏡頭分割方式,區分不同的場景鏡頭,然後對于每個鏡頭,我們認為是畫面是連續的。這部分,我們結合現有成熟算法,融入自己的技術探索。

首先,在看畫面時,人眼睛會聚焦在人臉、人體,這些點的區域熱度是比較高的,将些場景樣本作為模型訓練資料,同時視訊本身還有部分字幕,也需要去除、識别和檢測的處理。綜合這一系列的檢測内容,最終把一幀幀畫面看成一個連續的軌迹,做聚類,形成一個角色或者是一個熱度點的軌迹;集合多個鏡頭,形成一個視訊區域熱度算法的資料,然後下發到端側。

其次,有了算法資料,在端側更多是如何處理端上傳感器,處理算法資料和視訊之間的同步問題。

以上是我們現階段的嘗試,同步也在做其他嘗試,在不遠的未來也會逐漸上線,大家很快就體驗到。

三、基于 5G 的雲渲染

在現有場景上,算法資料是基于原始視訊進行識别,由于中間需要預生産過程,這就局限了它更多是在點播場景中。

如果不做預生産,而在端側進行,則會産生識别的速度不夠,效率底的問題,以及在不一樣的互動時,處于實時性的訴求,本身對端側算力是非常大挑戰。結合5G的發展,我們設計出雲渲染方案。首先看兩個視訊:

視訊3在電腦上,可以認為它是一個雲端主機,在雲端是一個高清畫質。而在手機端,使用者真正看到畫面,隻是雲端畫面的一部分。為什麼這樣設計?

視訊4是6DoF視訊,使用者可以通過手勢旋轉,從各角度看到不一樣的視角。

6DoF視訊的本質是,使用者看到的某些角度的視訊,其實是很多角度拼合的畫面,使用者在選擇某一角度時,我們經過截取,提取其中兩個畫面,通過算法虛拟生成,一個使用者觀看角度的這麼一個畫面,然後下發到端側。

6DoF視訊的某一幀,真實畫面本身是非常大的畫面,8k甚至11k。使用者端看到是其中一部分,720p或1080p,其對應的VR場景也類似。

挑戰是什麼?使用者觀看VR全景視訊時,本質是4k甚至8k視訊,但使用者在每一個視角上看到的點,可能隻有720p甚至更低。想看更高清的畫質,就必須提升畫面的大小。如果我們希望要看到4k畫面,原始畫面要達到8k,甚至更高。

8K畫面下發到端側是無法解決問題的。一是晶片的限制,其次還有電量、能耗等。是以我們将終端計算能力放到一個強算力中心上,将使用者終端裝置變成三部分:手勢輸入、螢幕輸出,計算單元放到遠端計算伺服器上,它的算力要數倍甚至是幾十倍于端上。

結合 5G和邊緣計算,優酷如何做雲渲染?

基于分布式的前提,輸入、計算和輸出的傳輸過程的耗時變短。考慮到未來5G網絡、邊緣計算的發展,在邊緣節點和終端之間的傳輸速度,加上邊緣計算節點的計算耗時,可能要比你在本機輸入到本機晶片計算的耗時還要短。

是以,我們設計了一套分布式的雲端渲染和實時計算方案。一方面解決互動的方式,大計算量的實時的資料場景。另一方面,借鑒在遊戲領域(如雲遊戲)的思路,以下是設計模型:

結合 5G和邊緣計算,優酷如何做雲渲染?

1、對于使用者的手機終端、VR裝置或眼鏡類各種裝置,因為硬體在不斷發展,它的算力會越來越強。但是個别裝置算力還比較弱,是以我們希望有實時排程能力。算力強的裝置,在端上做;算力弱的裝置,在雲上做。同時基于使用者的手機電量等各方面場景,在邊端體系上有一個排程能力。使用者端的一個播放行為,其實是從媒資的存儲到轉碼、CDN分發,CDN節點,通過分發服務到手機終端,當使用者點選視訊,通過對應的時間節點拉取對應的雲端視訊資料。

2、在雲渲染鍊路上,我們希望使用者是通過排程的操作,決定計算邏輯是在端上還是邊緣節點上。如果在邊緣節點,通過邊緣節點去通路中心節點,拉取到資料。當使用者再次操作時,通過邊緣節點進行相應的互動處理,再下發到端側。這樣從邊緣節點到播放終端,是點對點的實時傳輸的操作。

細化雲渲染的整體設計,我将它分為五個部分:邊緣服務架構、網絡協定、端側互動引擎、邊端排程系統、應用開發工具鍊。其中邊緣服務架構、網絡協定、端側互動引擎如下圖所示,分别承擔着邊緣節點的架構服務能力、網絡通信的協定處理、以及終端的互動、渲染引擎。而邊端排程系統如上所說,主要是根據使用者終端、邊緣節點算力等情況合理排程使用者的渲染服務是應該在終端處理還是到邊緣節點處理。而基于此,我們可以看到,很大程度上服務程式是需要在多平台基礎上運作的,是以相應的開發工具鍊(開發調試IDE、服務部署釋出系統等)也是很重要的部分。

結合 5G和邊緣計算,優酷如何做雲渲染?

在邊緣服務上,我們希望搭建一套基礎架構,不僅承載現有的渲染服務,未來也可以部署遊戲引擎來實作雲遊戲的服務。由于單個邊緣服務節點需要服務多個終端裝置,推拉流服務的使用者session 管理很重要,并且低延時的推流處理、高性能的渲染服務等都是我們需要突破的重點。同時,由于我們定義的很多場景是基于實時計算和強互動的模式,更像是遊戲,上行的資料以操作指令、文本等為主,下行則主要是流媒體資料、算法資料等,而且考慮到時延等問題,優選基于UDP建構的傳輸協定,同時考慮到網絡穿透率的問題,基于TCP的方案會作為基礎的兜底政策。而在端側,重點是低延時的直播播放器,網絡協定的用戶端實作以及使用者上行的指令處理等。

四、未來的思考和總結

始于播放新互動,結合5G和邊緣計算,面向雲渲染。基于這個鍊路,未來我們希望的播放新互動是什麼樣子?

結合 5G和邊緣計算,優酷如何做雲渲染?

首先,在互動能力上,我們已經将算法和内容做結合,視訊内容本質上是導演、演員基于劇情,向使用者傳遞資訊。使用者觀影過程中,是不是可以跟導演、演員或内容之間有關聯互動。

其次,如何将這兩者之間的資訊拉通?就是通過算法結合内容做識别,算法本身去識别内容,再将識别出的内容跟使用者看到的内容,在資訊上更貼合使用者偏好,将更多主動權交給使用者,給使用者更沉浸式的觀影體驗。同時因為這種互動的模式,對算法對算力有更高要求,借由5G和邊緣計算的發展,打造一個環形體系,實作播放新互動的體系化形态。

以上就是我們對于未來在播放和互動領域的思考。

繼續閱讀