端雲協同創新優化音視訊場景使用者體驗

語言: CN / TW / HK

  //  

編者按:相信大家手機裡或者生活中都有大量位元組產品線的應用,包括短視訊、直播、社交等一系列的音視訊應用場景,包括大量的音視訊應用產品。今天LiveVideoStackCon 2022 音視訊技術大會 上海站邀請到了火山引擎智慧互動特效解決方案總監範青老師,為我們分享在位元組內部業務線和外部企業服務線裡面,視訊雲產品和視覺特效演算法融合的最佳實踐以及在業務的落地環節中,位元組在這些方面發現的一些創新點以及技術積累。


文/範青

整理/LiveVideoStack


大家下午好,我是範青,我來自火山引擎的智慧美化特效團隊,今天由我來代表我們組來給大家進行分享。



今天我分享的主題是《端雲協同創新優化音視訊場景使用者體驗》。表面看上去音視訊場景、使用者體驗這件事,與我們這個做特效的團隊不是那麼沾邊。那麼為什麼會由我來進行這個分享呢?接下來給大家分享一個我親身經歷。



1、分享親身經歷,引入話題

我們位元組有To B企業服務的品牌,有時會把我們自己覺得用得還不錯的各種元件提供給我們的企業客戶。企業客戶比較多的比如與音視訊相關的,像短視訊、直播行業之類的、拍照工具等,經常有客戶和我說:“是不是自己使用了你們的美顏功能之後,就可以跟和抖音一樣,有非常好的拍攝體驗,從而成為下一個抖音呢?”


我對這個問題思考了很長時間,最開始的時候大家可能都會覺得買個美顏就成抖音了這個想法有點奇怪。後來我仔細思考了客戶的想法,他認為自己既然使用了服務,那自己是不是整個端到端的體驗就應該和我們對齊。


之後我發現,為什麼大家對美顏寄予了很高期望,是因為大家在進行抖音拍攝或者直播瀏覽的時候,發現畫質清晰度包括色彩、亮度等都很不錯。但是大家用的都是同樣的音視訊技術,為什麼它的色彩會更好、畫質會更清晰?為什麼加入這些之後,人就變得更精神了?


有不瞭解的同學或許會認為這個東西是美顏做的。抖音美顏很強,抖音加了美顏之後,它的畫質就變好了。因此他們會把這件事歸結於只要用了抖音的美顏,就可以和抖音拍攝的一樣好。


所以為了解決這個問題,我深入內部的業務線去討論我們到底在這個端到端的過程中做了哪些事情,使畫質、特效整個疊加起來有了一個更好的觀看和拍攝體驗。講完這些,大家應該就能明白為什麼由我來給大家分享這個使用者體驗。


2、畫質測評報告



我們從一份畫質的測評報告開始闡述。畫質測評報告是我們內部的產品——剪映,和競品做對比。大家知道我們有非常多的音視訊產品,和相機相關的,和視訊相關的。例如直播工具有抖音直播、短視訊工具有抖音短視訊、拍攝工具有輕顏、圖片編輯工具有醒圖、視訊編輯工具有剪映等。所有以畫面為介質的產品,從生產到播放到消費整個流程,我們都有不同的模組和不同的產品。


作為一個視訊產品,我們編輯頁和拍攝頁有一個五邊形的維度,包括畫質、亮度、色彩等都進行了一些評估。之後以結果來主導我們每一次產品的優化和迭代,包括拍攝的優化迭代和編輯的優化迭代。


該競品和剪映相比,在iOS端匯出視訊和Android端匯出視訊,在五角邊圖上有一個不同的得分,可以看到藍色的部分是剪映的得分,橙色的部分是某個競品的得分。推理得出兩個結論:一是iOS端視訊軟體M偽項表現不如剪映,存在色塊和過銳的問題;二是Android端剪映支援2K/4K的匯出,但是視訊軟體M不支援導致清晰度明顯不如剪映。


接下來是我們自己內部對於整個影象的一個看法,從這個影象的領域來看,我們的五邊圖由五部分組成:解析度、位深、亮度、幀率和色域,這五個概念導致人眼在觀看視訊,無論是拍攝的時候,還是在看成片的時候,有不一樣的感官體驗。接來下我們分別從各個維度來細說。


第一個是解析度,代表影象細節的精細程度。解析度指的是影象中的畫素數量,在特定螢幕的尺寸下,解析度越高,畫素越多,顯示細節更精細。例如手機大多都支援看4K視訊,但是之前手機畫素如果不支援高解析度,即使有4K/8Ks視訊,也無法觀看。因此清晰度是人眼第一個感官,視訊的好壞程度與清晰度有著很大的關係。


第二個是位深,指的是色彩漸變的精細程度,位深的程度越大,可顯示的顏色越多,漸變會更平滑自然。人眼在觀察這個世界的時候,對每一個顏色的漸變非常敏銳。當我們覺得看到顏色覺得很舒服的時候,就是因為這個顏色漸變色很自然的。當我們看到一些照相機拍下來的影象,有時候會覺得配色很奇怪,就是因為它的漸變色不充足。有個笑話說五彩斑斕的黑實際上就是即使只有一種顏色,它也有很多的表達形式。當我們在看天邊的彩霞的時候,會發現自己看到的和拍出來的差別很大,是因為手機的顯示的畫素包括位深和人眼感受到的是不一樣的。因此,如果軟體支援更高的位深,那麼它顯示的圖片會更柔和,漸變更自然。


第三個是幀速率,也就是運動的平滑速度。比如直播,如果幀速率低於15FPS以下,視訊就明顯有卡頓感。當達到了24幀率及以上時,視訊會相對流暢。例如電視節目使用30FPS,高幀電影使用60FPS,就會讓我們感覺動作和動作之間的銜接很自然的。幀率越小,動作越卡頓。

第四個是色域,是色彩的生動程度,指的是可以顯色的所有顏色的範圍。範圍越廣,視訊越可以還原人眼感知的真實的RGB值的範圍,相當於我們人眼能夠感受到的顏色的種類。在這種情況下,如果我們看到的顏色種類較少,影象也會不自然。


最後一個是亮度,指的是影象照明強度的範圍。比如HDR用來提升亮度,使人擁有更好的一個感官,更接近裸眼的感知。


我們的產品為了提升真正的使用者的體驗,就是在這個五個方向不斷努力。包括自適應銳化、HDR、SDR、防抖、降噪等都是為了去提升人眼的感官,去還原人眼看到的更真實自然的觸感。



剛才有提到測試報告,那測試報告是如何產生的呢?首先,我們有主觀測評和客觀測評。主觀評測流程分為專家測評、專業小組測評、使用者眾測、上線AB 實驗。也可以由我們的眾測平臺去進行任務分發。上線AB實驗之後,會觀察效果,如果正向顯著,我們就會逐步放量;如果正向不顯著,我們會重新打磨,再考慮是否上線,最終開放全量。


整個流程得益於內部資料平臺,幾乎我們所有的內部平臺都會和資料AB test平臺打通。例如做特效的平臺和AB test平臺就有非常大的關係,即使是一個小小的美顏上線之前也會做一個全量AB test。比如說我們會先小部分測試某區域女性使用者對這個事情的一個感官,然後再去測使用者屬性,最後將對照組和實驗組進行感官。所以位元組會在每一個環節裡,即使是很小的功能都會進行AB test。


主觀方向的專家有來自於這個手機廠商,硬體廠商,或是視訊類公司;專業測評小組會有考核體系,比如GSB(good、same、bad)或別的輔助測評工具色卡、刻度尺等幫助對顏色不太敏感的部分人群,去對比是否還原了真實色調。使用者眾測以及主觀測評方面,我們擁有一個200多平米的大實驗室,有光照和測量的儀器,去幫助使用者體驗數碼圖片。


在客觀方向,我們有24色卡分析、防抖客觀工具、常用工具集。提升評測效率方面有燈源自動控制,拍攝檔案自動重新命名,主觀效果客觀化的一些模型打分。


因此在對待畫質的每一方面,我們都非常認真的去對待,希望使用者在最後使用時能對這個產品有更好的認同度。



3、畫質優化的價值



那麼我們在畫質方面做的努力對使用者有什麼真實收益呢?這也是我們AB test中的一個小實驗,從清晰度這個小的維度出發。實驗組去掉了1080P和720P的視訊放出,對照組保留1080P和720P,對比發現了清晰度更低的一組使用者播放時長損失了0.47%。0.47%表面看起來不高,但實際上關係著後續的播放、留存、商業化等諸多因素,到最後可能關係到幾個億的小生意。在這樣的一個AB test下,它被標註是一個紅圈,是一個顯著的表達。在這個變數下,造成了很大的使用者影響。


4、手機端全流程影象體驗升級



剛才提到很多“好”是什麼,那麼我們怎麼才能做到“好”,在內部的流程會略顯複雜。這件事就是通過端雲共同完成的,只有雲不行,只有端也不行,那雲和端分別有什麼作用呢?現在有生產端、服務端、消費端,在不同的業務裡分別代表不同的方面。比如說在直播業務裡生產端就代表著直播的軟體,例如抖音或直播助手等。服務端指的是雲上的這些伺服器比如轉碼、分發。


在這樣的不同的端我們有不同的模組元件做不同的工作。最一開始的東西叫做VE_SDK,它有什麼用呢?包括Camera採集、編解解碼引數和演算法增強。例如一個視訊,最重要就是在採集時就要採集優良的視訊,否則後期再如何加工,都屬於二次加工。那在採集時,採集引數會影響畫質的質量。玩攝影的小夥伴可能會了解到ISO和白平衡這兩個概念,它們在使用介面時就已經可以配置了。之前有一個客戶認為抖音通過加入一個高階演算法使畫面更加鮮豔,其實就是採集視訊時,調了一點亮度和白平衡,不是AI演算法。


VE_SDK這個模組的camera採集,抖音在這裡做了一些工作。大家都知道蘋果手機品控穩定,但是安卓產品的攝像頭比較多樣、很難統一。那麼做這個大量的適配工作有沒有意義呢?是有意義的,每個攝像頭如果你都給他去設定不同的引數時,大概率是會對這個畫面是更好的。那做這樣的一件事情,其實是很耗費人力的,需要有一個系統化的機制去控制整個流程。所以適配工作非常有用,雖然有點繁瑣。我知道國內的安卓廠商,現在心態越來越開放,例如OPPO就開放了一些底層的相機介面,將防抖、HDR等供給了第三方開發者。我們會發現高階相機拍出來的畫質,以及防抖效果非常好。可能這一類的廠商近兩年會以一個更開放的心態,把這些底層的介面供給第三方廠商使用。內部產品其實原來有和一些第三方廠商合作,廠商會提供一些特殊的採集SDK,這樣我們就擁有和系統相機一樣的畫質許可權,很大幅度的提升了拍照預覽的情況。


採集到的視訊,調好白平衡、曝光、亮度,以及加入演算法、夜景、防抖之後我們會進行第二步——effect_SDK模組。在特效裡邊可能有非常多的型別,比如美顏濾鏡和常見的包括2D、3D、互動、AR,大場景、商品試穿試戴之類的。裡邊包括的AI演算法、渲染引擎、新的玩法,國外做的最好的就是Snapchat ,國內做的不錯的可能就是抖音和快手。通過做這些東西,使用者增強了拍攝體驗,可以更快的產生UGC內容,使DAU觀看率更高。堅持拍視訊,留存也會更高了。因此,使用一些特效或一些互動玩法促進使用者開播,促進使用者變成生產者,是提升產品DAU和提升產品留存一個非常有效的手段。


話說回來,那這個部分我們做了什麼?我們要做到的就是減少損害更多的畫質。比如說美顏的濾鏡、磨皮都會損害畫質,因為磨皮在使臉上的瑕疵顯得更平滑的同時把一些其他的邊緣細節也掩蓋了邊緣細節比如面板的肌理等。在這種情況下,特效除了好玩和好看之外,還有一個重要任務就是要保證畫質不受到更多的損害。尤其是相機廠商對此事非常敏感,有的使用者為了更真實的拍照體驗不惜花費重金,最後效果如果被美顏功能擾亂了,那使用者必然不會買單。所以,特效美顏的重要任務就是減少畫質損害。那演算法增強是什麼?演算法增強就是剛才提到的如超分銳化之類的,在這個環節已經可以開始佈局了。


VE_SDK 和Effect_SDK這兩個模組在位元組內部是有一些中間模組使其連線的,在這裡不做詳細介紹。在端上生產端做了這兩件事情之後,我們來到雲端伺服器端。伺服器有什麼?有編解碼演算法、影象增強演算法、視訊引數等。比如配置位元速率,配置幀率,不同地區的距離、CDN分發之類的東西,在畫面在無損的情況下,壓縮的越多,越節省頻寬。


我們有一個圖片的服務可以使圖片壓縮80%、節省頻寬80%的情況下,達到畫質無損,可以降低運營成本。所以無損畫質的極致壓縮也是一個很重要的環節。到了分發端,我們有轉碼策略、下發策略和播放策略。端上的播放器也很重要,編碼之後,當然需要解碼。


生產端播放視訊的播放器要有相應的配備。以及消費端在觀看的時候需要做HDR或超分。觀看視訊時,如果視訊沒有拍好,但是分發時在端上又做了一些別的工作,極有可能會節省了雲端的頻寬。把何種功能放在端上或是雲端上是由不斷的實驗得出來的。有些模型很大,甚至不能把放在端上,但是它的效果又特別好,這時候我們就會做一個比較。比如說一個效果優先,一個性能優先,需要效能優先的就會進行更極致的壓縮即使損害了一些效果,這些大概率都是要做實時的。舉一個最簡單的例子,美顏可以做在雲端,那為什麼不把它放在雲端呢?是因為美顏需要達到使用者實時預覽的效果,如果放在雲端就不能達到使用者實時預覽了,因此一定要放在端上。例如人臉演算法的極致壓縮,我們做了一些在端上推理加速的引擎,都是為了能讓使用者實時體驗。


很注重效果的東西一定要放在雲端,舉一個簡單的例子。老視訊是存量視訊,老視訊修復是為了視訊有極致的體驗,此時擁有實時體驗效果就不是最重要的。視訊之前是720P的,為了達到4K,要進行畫質修復和解析度提升,那一定是效果最重要,所以這個要放在雲端。因此,平衡效果和平衡效能決定了功能放在雲上還是端上。


5、生產端-畫質相關



接下來我們看看實際應用效果。首先我們做了視訊超分,即在不損失畫質的前提下要提升畫素。比如一個1080P的視訊,為了能在4K的顯示屏上去看,它被拉大了。如果用傳統的插值演算法去進行拉伸的話,畫面邊緣會有很多馬賽克。但是如果採用智慧的超分演算法,就可以使畫面邊緣更加平滑,觀看體驗更好。


那抖音是怎麼做的呢?首先它使用了這個超分的效果在觀看端落地。比如主播拍了720P的視訊,使用者在端上觀看的時候選擇1080P。在效果上就是使用者看到了清晰度更高的視訊,也節省了一部分頻寬。那如果原視訊想使用1080P呢,那就得錄視訊時就採用1080P,這是某種意義上的窄帶高清。


還有一個更重要的前提就是如果選擇在端上做,一定要保持足夠的覆蓋率。大家都知道,安卓的下沉市場很多,一千五百塊錢左右的機型比大家想象中的更多。我們平常用旗艦機大概兩三千塊錢很正常,iPhone也就五六千塊錢,但實際上真正的星辰大海是在安卓機的下沉市場。在這樣的情況下,要達到一個非常高的覆蓋率很難。現在主流的晶片可能就是MTK和高通,包括高通450這些下沉機型,我們也會努力去覆蓋。目前這些演算法可以覆蓋到高通660以上的機型,iOS可以覆蓋到iPhone7及以上的機型,這個範圍是我們認為一個演算法能在端上給這個主端帶來更大收益的一個演算法。


那下一步是什麼?是更下沉的安卓機,或是其他裝置。比如車機、智慧的IOT裝置更是星辰大海,所以我們要做更好的適配。包括新型的NPU,把一些耗費CPU的演算法移植到NPU上,讓更大的模型、更好的效果在這樣的一個新的硬體裝置上發光發熱。



第二塊還是之前提到的VE_SDK部分,VE_SDK或者Effect _SDK研發HDR,使畫面更亮。當然如果從採集的時候,事先調好合適的曝光也能達成這種效果。那它解決了什麼問題呢?它解決的是視訊內容裡的欠曝、過曝和偏色問題。偏色是由白平衡造成,有可能白平衡沒調好。白平衡是它和白的對比度,如果白不是真正的白,那麼其他的顏色也不是真正的其他顏色。當你通過對HDR的一些校正還原了真正的白色,就可以使這個畫面就變得更好。現在我們將HDR應用在了抖音主站的編輯上,就是開啟抖音編輯裡有這樣的一個演算法。現在在iPhone7可以達到一幀五毫秒的速度。補充一個小的tips,什麼樣才叫實時處理呢?一幀大概要處理多長時間才能讓30FPS滿足呢?答案是33毫秒,在三十多毫秒內所有的效果,包括什麼編解碼、渲染、畫質增強等。如果30多毫秒處理不完,那就無法達到30FPS,所以這種演算法必須是個位數。



下一個演算法是視訊降噪,降噪是在手機端針對不同的攝像頭、不同噪聲結果的視訊生成的噪點,對噪點和細節進行平衡。在種情況下,噪點降低會使畫面更糊,其他清晰的地方就會受到影響。就如這些邊角都需要有一個清晰的邊界,如果噪點降低,它就會變得有點模糊,分界線就不清晰了。所以噪點某種意義上代表著銳化程度,有的時候想讓夜色更清晰一點,開了很高的銳化,實際上會發現噪點就多了,這是一個平衡的狀態。


針對這種情況,我們做了視訊智慧降噪,即使在夜晚也有更好的降噪體驗。例如直播行業,有些主播在直播時,周圍環境較暗時,會選擇開一盞燈,在兩側打光或加一個背光使亮度更加明顯的,畫質更加清晰。是否打光關係到室內亮度,室內特別亮時,畫面就會更好。正常人的眼睛在黑暗中適應一段時間之後就能看清楚,但是攝像機不同,攝像機只能記錄當時的場景,暗度越低,攝像機就越吸收越少的光,圖片就顯得越不清楚。所以補光很重要,視訊降噪功能通過觀察噪點的位置消除噪點,而且在夜晚,顯示畫面的質量會更高。


剛才提到的演算法不會疊加到一起,一定會有適配功能。比如說到了夜晚,手機自動開啟HDR。如果環境不是很黑,功能就不會開啟。那這些下發策略,其實剛才說到的系統架構,就是對不同的地區和時間,對不同機型的承載能力,都會有一些更好的表現。


6、播放端-畫質相關


畫質這裡要提到的是播放端的銳化。我們可以看到有這樣的效果,能讓拍攝端、編輯端有更好的觀感體驗。銳化不能提升解析度,只是讓我們的感官有更好的效果。



接下來介紹插幀演算法,插幀是運動的順滑程度,是通過幀率來實現的。經過了插幀之後,畫面會更加流暢。插幀有非常多的用處,除了在幀率低的短視訊下進行一個修復之外,還有比如說慢動作防止卡頓。手機可以拍慢動作,但是一般相機不可以,是因為可能會形成卡頓。兩秒鐘視訊在視訊編輯軟體里拉到八秒鐘之後,視訊就會變得卡頓,有PPT即視感。做了插幀之後,就能讓畫面更為順滑。


剛才提到的分別是一些離散的部分,將其串起來能變成一個端到端進行服務體驗提升的流程。位元組跳動提供了一整套智慧終端畫質增強方案,包括智慧分析和畫質增強,包括拍攝控制、畫質增強和自動美化等,裡面每一個小模組都可以自行管理。


7、生產端-特色功能



影象分割演算法在短視訊、直播、視訊會議都有應用,展開之後又有很多細節和不一樣的地方,有不一樣的效果和不一樣的效能,每一個細節都是非常多的工作才能做成的,包括端上的一些美化,特效,拍創作等。



針對不一樣的地區,我們的美顏、特效都做了非常多的工作,讓這個地區更喜歡我們的玩法。不止是短視訊直播場景,我們在健身、電商等都有相應的方案。



在端上,除了畫面上的功能,我們在音質處理上也做了一些努力。影象有自己的評價標準,視訊音量也有,關於聲音方面的也有噪聲、不清晰、失真、聲音小等問題。




我們通過做了一些工作優化這些方面,包括端上的玩法,比如K歌的玩法、打分、歌詞對齊等都做了一些小元件。包括聲音延遲,抖音共同觀看功能需要兩邊同時看,如果我這邊播放到第三秒他那邊第五秒就會很奇怪。


8、如何保證端到端的體驗



位元組音視訊服務裡有云服務,有客戶端套件,有應用場景。線上音視訊、社交娛樂、遊戲互動、線上教育裡都有各自的一些不同的應用,客戶端套件以及之前提到的端到端套件,也可以對外提供技術服務。我們都有自己的Demo、場景化Demo、以及各種各樣的服務配套。


我所在的AI組做的功能也非常多,也擁有自己的生態,外部的設計師、內部的設計師加起來共幾萬個人。商城上面有7萬個貼紙,現在一個星期我們生產1000個貼紙,使所有的東西都最具有時效性,讓大家在最低的成本下得到這個新的效果。


今天的分享到這裡就結束了,謝謝大家。




▼識別 二維碼或猛戳下圖訂閱課程

 



掃描圖中 二維碼 或點選 閱讀原文
瞭解大會更多資訊

喜歡我們的內容就點個“在看”吧!

本文分享自微信公眾號 - LiveVideoStack(livevideostack)。
如有侵權,請聯絡 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。