01 AR與RTC的應用場景
我們先給大家簡單的介紹一下在AR里我們的應用場景有哪些。為什么會提這些點呢?我們在2020年向國內的客戶推AR眼鏡的時候,客戶是基本上是不太能理解的。因為那時大家都不懂這個東西對企業(yè)能帶來什么價值?但是在國外,像德國本身就是工業(yè)起家的,尤其它們自己也在推工業(yè)互聯網4.0,它們就能夠反過來找我們談,找我們要AR眼鏡,這就是在早期時候的一些差距。到2021年的時候,國內的客戶會主動跟我們聊AR眼鏡對他們的幫助有哪些,因為大家可能感受到了趨勢,也更愿意去嘗試去了解AR眼鏡的用途。
我就以這一張圖簡單的給大家說一下AR上的應用。Rokid是一家專注新一代人機交互技術的產品平臺公司,有自己的OS和云,基于這點我們會有自己的AR硬件,我們自己會對外輸出這些產品,已經在淘寶、京東上可以看到的ToC的RokidAir眼鏡;有面向數字文化(博物館、景區(qū)等)的Rokid Air Pro,也有ToB的RokidGlass和面向重工業(yè)的X-Craft。同樣,我們也與一些硬件廠商合作,它們會集成我們的系統,然后整個輸出一個硬件的產品。同時,我們也對外推出Rokid Solution,包括針對各行各業(yè)輸出一些解決方案。當然,也有其它的客戶基于我們的硬件跟軟件做第三方。
我們整個的應用場景大概有三塊:一塊是數字文化相關,展示文物以及教育知識等應有的生動形象,讓文物和文化遺產“活”起來;第二塊是工業(yè),包括制造、汽車等,還有電力等,用AR賦能一線人員提升協作效率,打造“超級工人”;還有一塊是B端和G端上的公共服務等。那么,我們AR在行業(yè)應用的一些點,哪些是跟我們RTC相關的呢?我就以公司銷售端對外播放的一個視頻向大家展示。
視頻提到了幾個點:
第一個是高清的音視頻。因為在AR尤其是在B端的應用上很多,比如我們的客戶是在山區(qū)、海上或者是其它的煤礦這種弱網環(huán)境,我們怎么樣能夠做到高清音視頻這是其中一個點;
另外一個點是面向B端的時候, 主要就是低碳出行和高效工作;所謂的低碳出行,以前出現什么現場問題專家會立刻趕過去,現在就是減少飛機/火車等交通工具帶來的排放,線上解決問題;至于高效工作,我們會有遠程協作平臺,平臺會允許專家端跟現場客戶以第一視角來連線,并且它會根據你這邊的現狀去做一些指導,這個指導涉及AR的一些標注。最右圖中紅色的跟綠色的是2D或3D的數字模型,是虛擬的數字內容,它會告訴你這一塊需要怎么做或者一些東西扔過來會顯示在上面。這些數字的模型會根據SLAM的技術,錨定在技師現場,它是不會變的。專家端看到的東西都是現實世界的內容疊加上數字世界的內容,虛擬加上現實是融合在一起的,專家端可以始終以這個視角看到。
這里面還包括協作、共享。比如說它遇到什么問題隨時需要跟你說明這個問題怎么解開,從電腦端找任何的圖片、截圖、文字都會跟你協作發(fā)送過來。
這些都是AR下RTC的應用。
AR下RTC遇到通訊的問題:
第一個就是弱網的環(huán)境。剛才有提到,包括有一些電力的人是帶著頭盔爬桿上去,他的雙手是一直在操作的,而AR頭環(huán)是一直戴在眼睛上的。不管是山區(qū)、弱網還是海上油田等,弱網是最基本改變不了的;
第二個是嘈雜的環(huán)境,就是經常通信起來專家端聽不清,因為工廠的噪聲特別大。像核電現場的噪聲我們這邊需要做處理,各種化工區(qū)現場制造車間的嘈雜聲音,這些聲音都是影響我們RTC通信的;
視聽的視野是什么意思呢?就是在AR音頻中Audio跟Video是典型不一樣的,Audio Focus有全局感受野,所以在360°的環(huán)境中,聲音是能夠全局捕獲到的,但是因為Video是純球體360度,沒法瀏覽出Video的Focus,是需要依賴Audio的聲音來進行感受野的切換。Audio可能此時出聲打游戲的時候有聲音來了,我可能會轉過來。所以這是它們一個大的不同點,這也是我們會在AR的RTC上會講到,對Audio做一些處理的原因;
還有個是開放式的喇叭,就是在AR上我們喇叭的出聲口和speaker是在耳朵上,大概離耳道口有3厘米的距離。其實這個距離下,比如說本來弱網就使得聲音很糟糕,再離開一點距離基本上就沒法聽到更有效的聲音,所以這是我們現在在AR上做RTC試圖去解決的一些問題。
02 AR RTC中的著力點
RTC的著力點,是否不同的行業(yè)都需要卷RTC?其實做RTC的,不管是大廠,包括騰訊、頭條等,其實大家都做RTC。從我們自己的角度出發(fā),我們要做的不僅僅是RTC本身,那我們要做的點在哪?
為什么我們不去講RTC本身,包括我們自己用一些合作伙伴的SDK,他們的SDK已經可以做到從A端到B端不管是抖動、時延還是抖動本身時延的方法提升已經很大。我們不試圖在這個基礎上卷網絡的優(yōu)化,卷一些云端的分發(fā)、鏈路。
我們做的事就是里面核心的兩塊標顏色的。我們從最外層講RTC有RTC的量度或者CDN的量度。一整套已經有成熟的產品,靠近里面的不管是網絡傳輸上的重傳、FEC這些也不需要我們做,再到里面的網絡抖動,其優(yōu)化也有很多,像騰訊的SDK針對它專門做算法上的優(yōu)化。其實我們自己focus的點在于音視頻的數據最終到了工業(yè)頭盔等產品上還能怎樣進行音質、畫質上的提升,這就是我們在做的一些事,包括最里面的源泉是語音跟視頻發(fā)生了切切實實的數據丟失,更長遠一點就是在解碼上我們是否能夠做出一些改變,用我們的自己場景做優(yōu)化,這就是我們自己在做的,講RTC實際上是在收到數據之后。
03AR RTC中的技術應用
下面,我從以下四個方面給大家介紹一下AR里面我們做的RTC的技術應用點。
第一塊是語音的降噪,就是我們剛才提到的工廠嘈雜噪聲;第二塊是超分,就是為了把弱網下工人或者技師端看到的一些小畫面進行超分;第三塊涉及音頻的補償,對于一些確切發(fā)生丟包的數據,我們會把它的語音數據進行算法處理,使得它聽起來會更順滑;第四塊是空間聲場,其實我們解決的就是剛剛提到的在AR或者是VR里現在已經是很現實的問題,打游戲的時候全依賴聲音來切畫面進行一些實時的渲染變更,包括編解碼上的處理。
語音的降噪涉及到的模塊偏技術。整個語音降噪就是在于把一個帶噪的語音x(n)經過一些濾波處理來得到預測的y(n),這個y(n) 其實就是預測出的干凈語音,通過和參考的d(n)比較,看差值是否能滿足迭代收斂的條件。從傳統的LMS,再到AP,發(fā)展到如今大家都是在用深度學習的方向去做這件事,因為它可以針對不同工廠、不同場景下的噪聲做專門的處理和濾波。我們也是采用深度學習上的一些線路。
我們也是基于CRN加上復數卷積的方式進行處理,包括對網絡本身去做一些端上跑,達到工廠噪聲、核電噪聲等,到最終消噪的目的來提升通信體驗。我們自己在AR眼鏡終端上同時配合定向波束,加上降噪跟語音識別技術,最終提升至95db的工業(yè)噪聲下到90+%的語音識別準確率。當然降噪本身是為了提升RTC,專家端聽到的也可以更好。這里面的測試結果就是2021年的DNS測試數據,外加核電工業(yè)噪聲后得到的PESQ的提升結果。就是降噪前后以及STOI的數據。
圓桌會議是真實的應用場景。我們用客戶的SDK,但是客戶的SDK在一些場景下嘯叫跟回聲解決不掉,那些垂直黃線其實就是噪聲,然后我們把自己的降噪用進去,就可以一定程度上消除掉嘯叫。另外一個就是核電客戶現場的噪聲,本身聲音是有點吵的,整個平臺都是客戶現場機器噪聲,聽不到語音內容的;最后就是很普通的辦公室的這里面的聲音。
其實深度學習解決了傳統解決不了的一個問題,就是傳統的信號處理只能解決一些平穩(wěn)的噪聲,對于非平穩(wěn)的“pia pia pia”或者是工廠巨大的機器噪聲收斂不了或者不停的收斂效果就會不好。
超分是針對AR頭環(huán)端收到的一些數據,數據本身視頻分辨率只有360P,在山區(qū)等弱網下收到RTC的數據后,我們會再做實時的超分。超分本身這件事就是從深度學習PixelShuffle后的時候開始,基本上網絡結構就是呈現到一個從低分辨率的LR再到HR的過程。Shuffle本身是視頻超分的一個恢復操作,非時流的經歷過一些發(fā)展路線,大家都是換中間的一些骨架,包括ResBlock、SEBlock等,再到提出實時流的框架ECBSR,大家會基于NAS做實時檢索,自己做搜索找一個更達到目標的東西,別人再從參數化去做。我們自己也是基于這個大的框架,只不過本身卷積Block就會根據端上的性能做一些裁剪使得它在端上能夠做到實時。
除了框架之外,我們會同時把CPU跟GPU放一起,因為我們的設備上有NPU加速,把這幾個流水線跑起來。其實一次性把很多東西放在GPU上去做,然后有一些東西在服務端可以直接走TensorRT的處理,在我們端上的話就直接走NPU的。我們會根據算法和硬件的性能去設計、調優(yōu)這個pipeline,我們把很多能在NPU上操作的全部移到4核NPU上,包括利用圖片的解碼,以及解碼的數據直接放在CPU上放著。NPU直接去獲取,減少CPU跟區(qū)間的通信,同時把CPU的資源利用起來做一些并行處理。
圖中是工程加上模型塊達到的效果,頭盔上面是實時的四核的A73加上兩核的A53還有5 TOPS NPU,上面的算法性能就是大家做超分基本數據集的PSNR提升。如果我們把整個模型的input輸入比固定下來的時候,NPU的優(yōu)化程度會更高,它就能從28提升到38。 當然,我們也在服務端的A30單卡上做了測試,把編解碼都算進去大概1170fps,
這個是我們自己做的一個測試集視頻,左邊會是超分后的,右邊是沒超分的,一次下雨天測試錄的。
開放式的喇叭在弱網下本身聽起來就會比較吃緊不清楚,如果再發(fā)生丟幀的話效果就會更差,所以我們針對這一點專門做了音頻的補償。當然,音頻的補償其實本身的歷史也是從LPC技術切換到深度學習的方式做。Web RTC其實也改成用深度學習的方式,大家很多都在用GAN的方式去進行丟包生成。我們本身的操作就是模擬丟包率在10%到30%之間,整個丟包時長最長的大概是120毫米之內,然后驗證PESQ的效果。這個基于的是在DNS挑戰(zhàn)賽的模型上做優(yōu)化。
這里給大家放一下效果。最上面的是丟包處理之前的。第二個是處理后的聲音頻譜圖。第三個是最原始的聲音小的。從圖上可以看出來,凡是豎線的就是丟數據造成的,凡是一整條豎線從上面畫下來,修復之后就會少很多。圖像識別跟原始圖像很接近,就說明你恢復的越接近。
剛才有提到AR、VR里Audio Focus是一個全局感受野。我們怎么樣能夠把真實聲音的方位感給還原出來?這是我們其中做的一件事,就是空間聲場。這里跟B端剛剛講的3個不一樣的點在于B端上的那些都是屬于真實有用的。而C端更偏向于使沉浸感更好。你要說沒有它可不可以?可以。但擁有空間聲場的好處就在于,在真實RTC通信的時候,能使得語音到了之后能分清這個人在我的左邊還是右邊,以及在大概什么位置,把真實空間位置感還原出來,包括轉頭轉向誰說話。轉向誰說話這個方向的聲音會大是一樣的。像在線教育、在線會議,尤其是在線的社交里面應用會比較多一些。
聲音的發(fā)展情況,最開始的空間表達上是單聲道、雙聲道,后來的5.1、7.1屬于平面上有五個喇叭加一個低音炮,再到5.1.x、7.1.x,就是空間布局上也會加喇叭,但這些還是個體不連續(xù)的。再發(fā)展到編碼的維度上來講就是我們從最開始單聲道到面向對象的編碼。比如大家經常到電影院看 3D電影,把整個炮彈或者是其它的戰(zhàn)爭打起來的時候東西飛過來的聲音,整個朝你逼近過來,你會感覺很真實,因為它是把這個對象,不管是炮彈還是其它武器的發(fā)出的聲音按照空間喇叭的位置跟你以最接近的路線給你播出來,所以你才會有真實感。再到后面就是面向場景的,像HOA的技術就意味著我盡可能地把任何東西都還原,不只是人為處理過的局部。從XR的角度來講,其實我們要做的就是把割裂的感覺,1是1,2是2變成沉浸式的,所以從C端來講它的效果就是在往這個方向走。
我們自己定義空間聲場是從產生再到傳播,整個傳播過程中因為在AR、VR里都會出現,聲音出來之后,大家很多利用頭傳或者是其它方式模擬球體范圍內聲音的產生,然后再到球體范圍之外的聲音該以平面波,還是以一維的波動方程,還是該以三維的波動方程去模擬、仿真的時候,每個人需要根據自己的算力去平衡去簡化的,同時需要考慮傳播過程中涉及到的一些障礙物。我戴著AR眼鏡確實走到了另一個地方被一堵墻隔了聲音,要不要遮擋,怎么去遮擋?包括經過那些東西的反射吸收了多少,還剩多少。這些都是去考慮的問題,再到編解碼的模塊定義外面的一些全景聲能不能導到你這里進行播放。這是對于模塊的一些定義。
整個空間聲場的難題在于聲場的仿真。波動方程很多都沒有解析解,只有數值解,因為實時計算出來的東西沒有固定的表達公式能夠所有位置都做到,它只能不停地迭代。包括開放式喇叭帶來的效果,因為現在大家仿真生產的時候都是按頭傳去做的,先不說投傳的精細度做到什么程度,它仿真出來的結果是建立在到你耳道里面的聲音,實際上AR的喇叭是在外面且還有30厘米,會導致聲音發(fā)塞很厲害,聽出來的效果會下降很多。
另外還有一個就是RTC中的傳輸。在線社交就像麥克,輸出一些在線社交視頻大家純是在元宇宙里面跟你聊,但是你轉過來,轉過去的語音都是可以通過RTC的方式過來。這種盡可能地模擬真實場景說話的方式跟RTC的傳輸也有關系。
因為空間聲場是喇叭。假設這里面有5.1個喇叭,其實都很難聽出一個比較明顯的效果。這是虛擬的一個音響,你靠的近聲音會很大,你一旦背對著它聲音會越來越小,隔著門可以聽到房間里的一個虛擬聲音在發(fā)聲,但是進來把門推開的時候聲音會變得很大。這就是傳播中的一個遮擋問題。大家只要帶著同一個眼鏡,同一個東西你走到這都可以聽到它。
04AR RTC的一些挑戰(zhàn)
最后跟大家說一下AR下RTC的一些挑戰(zhàn)。
第一個就是極低功耗,這些功耗是算法本身性能跟資源消耗之間的一些balance。因為我們自己的設備都是AR終端,如何減少功耗、減少發(fā)熱、增加設備使用時常,始終是我們在終端上做的一些探索。另外,音視頻到達設備之后,我還能夠用哪些手段把音頻的音質增強,視頻的畫質增強呢?
第二塊涉及到弱網。大部分低端應用的場景就是惡劣的環(huán)境,所以很多算法就是針對弱網優(yōu)化的,包括我們正在做的也會涉及到音頻的超分,也是解決同樣的問題。
第三塊就是360度的超清高刷畫面。其實在VR里面它的刷新率目前最高可以到240Hz,分辨率是有在4K并且還是全方位的。在我們AR里面,比如FOV大幾十度,隨時切進這么大的畫面就是對RTC的挑戰(zhàn)。實時視頻該怎么去編?因為以前視頻是實時基于上一幀、下一幀能夠進行預測編碼,冗余度很強,但是如果現在這樣隨時切該怎么做?不過當下行業(yè)里也已經都在思考這個問題,推出新的3D編碼方式。
還涉及到一個點是虛擬模型里面通信的東西怎么跟RTC一起發(fā)走。比如RTC有時候這里還跟富媒體有關系,就是RTC更新的時候除了音頻、視頻、文字流之外,我們還有圖片、2D或者3D的模型,包括一些辦公文件。當然這些東西不見得一定得進RTC的協議里面,但是起碼我們實時處理的時候遇到了問題。
以上就是我給大家?guī)淼腁R×RTC的一個分享,包括遇到的一些點跟針對這些點我們做的一些技術應用與思考。謝謝大家!
審核編輯:劉清
-
Ar
+關注
關注
24文章
5098瀏覽量
169652 -
編解碼
+關注
關注
1文章
140瀏覽量
19619 -
RTC
+關注
關注
2文章
538瀏覽量
66640 -
SDK
+關注
關注
3文章
1037瀏覽量
45992
原文標題:AR下的RTC技術與應用
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論