天天看點

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

作者:LiveVideoStack

視訊賽道卷到下半場,一定會面臨體驗與成本的對抗,尤其是在行業大環境“過冬”的背景下,想要在有限帶寬下獲得最佳的畫質觀感變得異常具備挑戰性。從視訊雲業務場景的視角來看,如何有效解決cross-domain問題、如何突破低業務延遲下的算力瓶頸、如何提升機關碼字承載的有效資訊量,成為我們在實踐過程中的應用範式。LiveVideoStackCon 2022 北京站邀請了Bilibili雲端多媒體平台的成超老師,為我們分享Bilibili在急速發展過程中基于視訊業務上總結的一些先進的經驗和想法 。

文/成超

編輯/LiveVideoStack

大家好,我叫成超,來自Bilibili雲端多媒體。我們雲端多媒體主要負責Bilibili點直播技術業務,而我所在的算法組則是基于AI算法為Bilibili點直播降本增效相關工作賦能。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

盡管過去行業在過冬,但是Bilibili仍然是一家保持着非常高增長的公司,我們的使用者規模以及播放量一直在持續增長,相關的總帶寬成本也在節節攀升。大家參加LiveVideoStackCon2022北京站可能最高頻聽到的一個詞就是降本增效,它對成本增長提出了非常高的要求,我們需要把成本增長控制在一個非常合理并且高效的規模上。但與此同時,我認為B站的初心仍是沒有變的,我們始終秉持着“使用者是B站最核心的價值”這一信條,也始終期望着使用者能夠在B站得到最好的音畫體驗。

圍繞着這個目标,我們做了非常多的工作,自下而上我們在預處理層面做了今天要講的畫質矩陣、AI前處理,并且我們有一個很強大的團隊自研編碼器,再上一層,研究使用編碼器開展窄帶高清工作,最底層也會設立一道CDN來進行網絡、排程和節點優化等等工作。

如果說降本增效是目前行業對于所有公司提出來的命題作文,那麼我們的答卷就是:低碼高畫。

今天我的分享主要分為四部分,第一部分講視訊雲AI畫質提升鍊路;第二部分将結合一個非常具體的實時遊戲直播來分享我們所做的4K遊戲實時超分;第三部分則轉到低碼部分,講一下基于低秩重構所做的AI窄帶高清前處理算法;第四部分是一個簡單的總結及展望,介紹我們在做和未來可能會做的一些工作。

-01-

視訊雲AI畫質提升鍊路

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

首先簡單談談我們對于畫質業務的思考和了解,即為什麼要在成本受限的情況下仍然堅持做高畫質服務,我認為原因可能出于以下四個方面:

第一方面是對于使用者,我們認為高畫質是科技發展的必然趨勢,并不受行業的升降趨勢所左右。我們在企業内部提出了一個“全時高清”的概念,即使用者在任何時間、任何地點都無需受到任何限制來享受高品質的音畫服務;

第二方面是希望對UP主進行賦能,我們希望UP主們能夠将百分百的身心投入到idea創作和内容的生産中去,無需受到專業的拍攝器材裝置和拍攝條件限制;

第三方面是針對産品和營運,我們希望畫質能力能夠成為他們執行一些策劃或者活動的有效抓手,配合擴大B站的影響力;

第四方面則是針對商業合作夥伴,我們希望能以畫質做為切入點,配合他們做好商業宣發和推廣活動。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

在這裡談談B站以前舊的畫質生産鍊路,在過往長期的業務需求裡我們積累了大量的畫質原子能力,形成了畫質矩陣,但實際上應用模式并沒有實時更新到原子能力的增長上。

舉一個簡單的例子:以前想要對視訊做超分大概要按照這樣一個流程,如果上傳了一部動漫,在其轉碼完成後,營運首先要浏覽視訊内容并判斷它适合進行什麼樣的畫質增強處理,如果認為适合做超分,那就将它送到對應的超分服務裡去。

這個流程存在的問題就是所有内容都是預先定義好的,如果一個視訊需要同時進行多種畫質增強處理(如先去噪、再增強、再超分)但目前沒有對應服務,那便必須先上線相應的服務才能支援該視訊所需的處理流程。這導緻舊鍊路的時效性很差,在業務規模較小的時候尚可,一旦處理需求增長,它勢必将受到營運人員的經驗主義制約,并且無法實時去響應業務需求。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

新鍊路與舊鍊路最大的差別在于兩點:一個是QoE的接入,我們把QoE接入到畫質決策體系中,形成了一個以QoE為主,人工營運政策為輔的決策模式。QoE将會提取視訊的約40多個特征,包括視訊的資訊密度、噪聲強度,動态分析結果,一些業務上的名額(如上傳的視訊是否會成為一個高熱度視訊),另外還涉及一個内部的無參畫質評價。

總之QoE政策加上營運政策最後得到的特征向量,将被送至一個決策器來決策目前投稿究竟适合什麼樣的畫質處理,如果資訊密度不夠則需要做超分,如果時域性不夠強并且有提升空間的話則可以做超幀,如果要進行完美的畫質修複,則可能需要進行超分加超幀,甚至還需要進行修複,後續的處理流程可能是非常多樣并複雜的。基于此,為了滿足視訊複雜的畫質處理需要,我們要完成可用于自定義畫質處理鍊路的工程支援。

最終我們對畫質矩陣重新設計了一套底層的AI處理架構,這也是新舊鍊路的第二個主要差別。它的思想是把所有的畫質原子能力盡量節點化,然後我們将處理流程搭成計算圖,以計算圖的形式來支援任意的畫質處理流程,可以說它在使用上就像搭積木一樣。

在這個處理流程上線之後生産力得到了極大的增強。我舉一個簡單的例子:去年大家都知道,在全網範圍内發生了一個非常重大的宣發事件,就是周傑倫新專輯《最偉大的作品》的釋出,B站也全程跟進了這張新專輯所有曲目的宣發工作。這次工作可以說是最具代表性的一個CASE,主要有兩點:

第一是1080P的問題,可能大家不是很清楚,類似傑威爾這樣的頭部音畫文化傳媒公司其實還是在生産1080P清晰度的視訊,并沒有更新4K、60FPS這樣的新技術。但實際上4k對于使用者來說又是一個非常剛需的需求,我們當時就反映了這一問題并詢問能否提供4K媒體,實際當然是沒有生産的。

而使用者有需求怎麼辦?

我們提出了建議方案:即借助AI對原視訊進行4K高清化。他們聽後表示非常高興,并且很樂意我們對他們的媒體進行AI增強。同時還提出,如果使用者希望得到最好的音畫體驗,要做幹脆就将畫質拉滿。是以除了超分外,本CASE還一并進行了60fps增強,大家上B站是可以看到的。

第二點就是時效性。如去年7月6日,新專輯第一張單曲最偉大的作品釋出時,傑威爾公司要求歌曲在當天中午十二點準時全網上線,但隻提前兩到三小時提供歌曲原始媒體。如果以舊鍊路對媒體進行4K化處理,至正式上線可能需要三到四小時。使用新的生産鍊路,整個流程可以縮短到約一小時。使用新鍊路可以更好地響應業務的實時性,B站也是去年全網唯一在第一時間支援4K模式的宣發平台。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

大家可以從圖中看到三次元的超分效果,發現衣服的紋理、人臉和背景的木質材質得到了極大的增強。

除超分外,我們也支援很多low level的能力,比如超幀。不知道大家對B站舞蹈區是否有了解,舞蹈區可謂是所有分區中的“卷王”,這主要展現在拍攝手段上,舞蹈區UP主們的拍攝手段甚至會比一些攝像、器材區的UP主還要專業,舞蹈區視訊普遍已經達到了4K清晰度,有些甚至到了8K。流暢度方面,如果大家觀看宅舞較多,應該知道高幀率下人體的舞蹈是非常絲滑的,衆宅男對60fps也有相當高的需求。如果觀察B站舞蹈區排行榜就會發現,榜單頭部視訊都至少支援60fps,有的甚至支援120fps。

這随之帶來的問題是拍攝高清晰度高幀率視訊所需的器材成本非常高。對于中長尾UP主,我們不希望器材裝置條件限制他們的内容創作,是以在雲端通過插幀的方式來對他們進行賦能。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

插幀現在已經比較成熟,但在落地過程中存在比較多的問題。可以發現,插幀對于大規模運動的特征捕捉得不夠好,反映到舞蹈中則會造成圖中紅框所示的斷肢問題,或者在一些高動态場景(如賽車場景)中,可能會出現紋理丢失問題,如路面的柏油、瀝青路面紋理丢失,路面變得平滑。這都是插幀算法目前面臨的比較典型的問題。

我們針對這些問題進行了定點優化,比如在插幀網絡中頭部的特征提取部分拉出一個額外的分支去預測人體關鍵點,希望網絡在特征提取部分就能夠去關注到一些人體姿态的變化,更好地去捕捉人體姿态特征。

經過優化,可以看到斷肢問題得到了極大的緩解,動作已經能十分流暢了。現在上線的插幀算法已經支援30幀超60幀,30幀超120幀,并且線上已經有低幀率視訊通過該算法實作了高流暢度。歡迎大家去抓抓蟲,看能否識别哪些CASE是原生高幀率,哪些是經過算法處理,我認為現在已經很難看出差別了。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

本頁講一下我們所做的HDR工作。HDR也是一項非常重要的工作,因為人眼對色彩是非常敏感的。将SDR轉為HDR大概需要三個步驟,第一步是Color Conversion,它是在8bit上對全局的曝光和色彩進行調整,調整後能夠得到很好的色彩增強效果。第二步是Global Color Mapping,在這個階段主要将8bit由bt709色域映射至bt2020色域的10bit HDR。第三步是Local Enhancement,主要是進行一些局部微調,至此HDR的AI生産鍊路就完成了。

由于HDR需要專業裝置渲染,是以此次現場不再示範HDR demo,而是主要介紹其中一項非常有趣的工作。我們将Color Conversion特化成了一個調色方案,具體是如何做到的呢?

最開始是采用了大量的3D LUT去學習一些非常specific的調色風格,然後将一個視訊切成不同的clip,每個clip要求AI按照視訊中的場景來學習應該如何使用3D LUT調色單元,通過網絡預測權重得到最終的建議調色方案。

其中的有趣點是,我們在權值特征的embedding階段手工引入一個政策對它的latent code進行限制,例如在訓練階段可以限制一些不同的latent code指向不同的調色風格。

這種自定義調色風格可以應用在一些場景。打個比方:很多美食區UP主做菜和教程講解做得都不錯,但在菜品拍攝上有欠缺,拍出的成品飽和度偏低,讓人沒有食欲。該怎麼辦呢?實際可以通過以上方式将調色方案下放到UP主手中,通過指定菜單和latent code調整可以對UP主特化出一個具體的調色風格來支援他們的工作。

可以看到,現階段的調色效果已經相當好了,兩個示範demo中第一個是還原人眼所見色彩的調色風格;第二個有暗場增強能力,圖中右側暗處本來有塊廣告牌,經過調色增強後是清晰可見的。

-02-

4K實時超分

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

接下來主要圍繞直播場景來介紹4K實時超分。我們對超分是這麼了解的:超分業務被它的一些性能名額劃分為不同的應用場景。

首先以超分的計算效率為例,它被兩個名額劃為三個應用場景。如果超分算法隻能跑到30幀以下,那麼就隻能做點播業務;如果能跑到30幀以上,那麼可以做直播;如果可以進一步跑到60幀以上,那便支援幾乎所有的場景,因為一般情況下視訊直播不會超過60幀。

第二,受超分算法的資源限制影響,使用場景又可被分為三個。如果跑一路超分必須多機多卡,那麼勢必隻能去做低頻需求,畢竟顯示卡價格太高;如果能做到單機多卡,那麼可以去做一些頭部需求;如果可以隻用單卡支援單路甚至是多路超分,那便具備工業化生産能力。

在從前超分算法性能不夠的情況下,如果還是想去做實時超分那該怎麼辦呢?一般會有兩種思路,一種是幀并行方案,一種是塊并行方案。無論哪種方案本質都是用空間交換時間,并且都有各自的問題。幀并行方案會引入同步buffer,造成額外延遲。塊并行方案如果模型能力不夠強,模型拼接處大部分時間會出現明顯拼接縫,視覺感受非常不好。

我們去年也參與了英雄聯盟S12的全程直播,實際上S12這種頭部賽事也是不支援4K清晰度的,主辦方為了保證所有下遊直播方的服務穩定性,主推的流為1080P 60幀。但大多數使用者對4K是有天然需求的,我們希望能夠一步到位,單卡下支援4K 60幀的超分。這項工作非常難,不僅在于要将1080P實時超幀到4K清晰度,而且還要保持60幀的高幀率。

接下來分析一下遊戲場景。遊戲超分實際比普通超分要簡單,因為遊戲視訊信号以高頻重複紋理居多,如果單個地方紋理發生缺失,可以在另一個地方找回來。第二就是遊戲的特征空間以及模型在學習時的參數搜尋空間都非常小,與普通超分相比訓練難度小。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

直播遊戲場景還有另外一個特點,就是接到的原始流其實都經過了編碼,這個問題會貫穿點直播業務始終,為了應對源流編碼造成的細節損失,我們采用GAN引入對抗loss以達到重複紋理生成的目的,并且配合Pixel-loss初步限制GAN可能産生的僞影。

一般情況下,使用GAN可能還會配合使用感覺loss,感覺loss一般會在imagenet這種大資料量級上進行訓練,但遊戲畫面的特征空間較小,并不需要這些非常general的特征,如果引入感覺loss反而會造成訓練速度降低,是以最終Cont-loss被放棄。并且為了進一步限制遊戲中産生的結構化紋理,引入了基于sobel算子的Edge-loss對紋理進行強化。

在網絡的具體結構上,談一談細微計算單元的設計思想,我們并沒有使用ESA這種非常流行的空間注意力,而是設計了一個更加高效的高通通道注意力機制,可以看到該子產品在開始時就通過運算簡單提取到了patch的高頻部分,并在最後對其進行權重得到了最後的attention權重。本方案配合接下來提到的重參數可以達到非常強的高頻學習目标。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

重參數的原理可以歸結為,利用卷積的同質性和可加性把不同的卷積進行融合。從上圖中可以看到,開始的計算結構有三個連結:一個跳躍連結、一個1x1卷積和一個3x3卷積,通過卷積的兩個特性可将它們最終歸并成一個3x3卷積。大家可能有疑問,為什麼不可以直接使用3x3卷積呢,這是因為三個連結的學習力度是不一樣的,跳躍連結、1x1和3x3對特征抽取的力度不同,是以可以使用一個很簡單的政策,不增加額外計算量即可提升卷積子產品的學習性能。在訓練階段采用重參數,在infer階段則是把它歸并成單個卷積。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

接下來介紹一個成本效益最高的加速方法,叫做Unshuffle。大家可以将Unshuffle了解成Pixelshuffle的對偶。如果對超分算法了解得足夠透徹,可以發現實際上目前主流的超分網絡的主要計算量并不在中間的bottleneck和backbone部分,而是在featuremap相對較大的head和tail。以前如果不使用Unshuffle要如何實作降維?大概隻能通過pooling或帶stride的卷積兩種方式。帶strike的卷積會将很大計算量放在網絡頭部,是以效率很低;pooling可能會使特征出現人為丢失。

所謂的“Unshuffle是Pixelshuffle的對偶”這一想法貌似簡單,但實際上諸如pytorch或tensorflow支援Unshuffle也就是最近這一年的事情,在沒有這些工具的時候要如何去使用Unshuffle?

這其實是一個純粹的矩陣變換問題,我們可以将它拆成三個簡單的算子,使用reshape、 transpose和第二個reshape對它不同的次元進行調整,得到最後的結果。

我們還可以看到Unshuffle有個很好的特性就是它在降維時是資訊無損的,它原始是哪些像素,新來還是哪些像素,在其中隻要配合少量的卷積就可以達到與前述兩種方式相當或者更好的畫質能力。經過全局優化,backbone的計算量相對于原生網絡可縮減75%,并由此可将bottleneck的寬度适當進行增加(例如增加一倍),以便讓其儲存到更多的特征。最後上線的遊戲超分算法隻用到了106K個參數,不到1M,它的計算量隻有49G。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

最後一個懸而未決的問題是,我們在訓練政策中引入了對抗生成網絡的方式,大家也提到這将大機率造成僞影的問題,怎麼了解這個問題呢?把特征搜尋路徑以上圖來進行示意,可以看到,如果不對GAN訓練增加限制,它的參數搜尋将極不穩定。

圖中最外側的圓代表人眼最佳的感覺點,越趨近于圓心紋理應該越平滑,相反則代表出現了不必要的僞影。我們通過使用一個巧妙的阻尼政策來對每一步學習到的參數進行step by step的權重,可以将其視作對網絡學習參數的濾波機制。

通過這個方法最後可以将參數搜尋路徑盡量平滑化,極大抑制其超出圓外的機率。并且我們也參考了CVPR2022的一篇關于Locally Discriminative Learning論文的政策。它的思想是:如果目前這個step網絡所預測出的某一個特定像素與EMA網絡所預測出的像素差距甚遠,那就将它定義為僞影并加以懲罰。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

這套政策極大抑制了僞影問題。大家可以看兩個demo,由于B站并沒有對S12比賽做轉錄,作為替代方案我們在UAT環境裡用S11和S3世界總決算來進行示範,這就是線上的實時效果。

可以看到,在對結構性紋理的保護和重複紋理的生成上,超分算法使原視訊效果産生了極大提升。視訊在V100單顯示卡下可以跑出75fps的幀率。B站也是在參與S12直播的平台中,唯一有4K模式的。

-03-

基于低秩重構窄帶高清前處理

高畫部分到此講解結束,接下來引入到低碼部分。我們本次想要介紹基于低秩重構所做的AI窄帶高清前處理算法。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

首先談談傳統的編碼觀點,編碼實際上是在DCT頻域人為制造精度缺損以達到碼率節省的目的。但可以看到,如果以高觀點來看待這個問題,編碼器是不關注編碼單元中的内容的,它一視同仁地做有損編碼,從高頻到低頻去相對應地去抹掉特定的頻率分量。它對編碼内容的頻譜不做任何改變,并不知道自己壓縮了什麼,在壓縮有效資訊的同時也去壓縮噪聲,反之亦然。

第二個觀點就是去噪觀點,這也是目前做窄帶高清會用到的傳統方案,即通過去噪增強的方式來進行窄帶高清。因為源流裡已經包含了大量的編碼噪聲或者其他類型的噪聲,可以通過增強編碼流的信噪比來折中得到二次編碼的效率提升。但這種方式非常依賴去噪網絡的去噪能力,去噪能力要足夠強,一般和工業化生産需求無法比對。那麼它在抹除噪聲的同時勢必也會抹除一些有效資訊,最終造成畫質缺損。

今天主要想要談論的是基于一個重構觀點來完成這項工作。低秩重構有兩個核心出發點:第一是重構之後的圖像變化對人眼來說是幾乎無法認知的,第二是使用盡量少的頻率分量達到與原生頻率分布一樣的效果,對圖像進行重建。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

以一個空域頻譜重建的demo來做執行個體,上下圖分别是重構前和重構後的效果,圖中的細節變化是人眼不太可能感覺到的。但實際上再看右邊的頻譜,可以發現它的頻譜構造尤其是中高頻部分已經和之前完全不同。它并不像編碼一樣造成了頻譜的缺損,而是排列本身發生了變化,頻率分量發生了更替,最終達到了一定的稀疏性。這是非常有利于編碼器進行編碼的。

低秩重構是一個非常經典的數學問題,具體描述如下:一個原始信号為D,我希望用一個重建後的信号A來表示D。E是D與A的殘差。低秩重構的目标是兩點,第一點是A的秩要足夠低,用另外一個方式來解釋就是矩陣的備援資訊要盡量少。第二點則是殘差要足夠小,即從某種角度上衡量,重建信号與原始信号差距不要太大。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

那麼在算法中,以上問題被特化為兩點:第一點是使用感覺限制對E進行限制,使重建後的信号在感覺層面與原信号沒有太大差異;第二點對于A的限制則是非常難的,因為傳統的低秩限制實際上是把一個非凸優化問題轉換為凸優化問題,由于矩陣的秩是不可導的,是以使用神經網絡來進行低秩限制是幾乎是不可能的。

我們采用了一個頻譜熵限制的方法來逼近它,當最終優化目标逼近頻譜熵限制時,它自然就逼近了低秩限制。最終在感覺限制部分我們采用三個loss來聯合表征感覺優化目标,第一是pixel-loss,第二是感覺loss,第三是FID,在感覺loss上采用的是LPIPS。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

頻譜熵限制在訓練階段是一個two stage的結構,圖中的重建圖像是已經通過stage1網絡重新生成的結果,重建圖像經過unfold切片以及dct變換後得到其所對應的頻譜,所有塊得到的頻譜共同構成了頻譜簇。我們在stage2中引入了可學習網絡用來學習各塊對應的頻譜每一個頻率分量的重要性,可以了解為是在頻率中設立一個attention機制,經過權重疊加得到最後頻譜簇的熵,使熵最小化即達到了頻譜熵限制。

在網絡的訓練階段則要考慮到工程中的一些常見問題和非常多的落地問題,如果大家基于上述原理去進行訓練,基本上一定能達到編碼收益。但想将收益最大化則需考慮非常多的trick。

在這裡介紹之前也提到過的一點,怎麼去處理視訊編碼中含編碼噪聲的問題。因為B站面向的直播場景都是點直播,視訊源都經過了一次轉碼,無論如何都會攜帶編碼噪聲。在做窄帶高清時需要讓網絡學習基本的噪聲模式,為構造學習所需的典型低清高清圖像對,可能大家大機率會采用的方案是将一個高清視訊不斷做編碼,得到低清視訊。

但此方法在實操上有兩個問題:第一,高清視訊非常難擷取;第二,高清視訊并沒有大家想象得那麼高清,本身可能也包含噪聲。真正優質的資料一定是圖檔,但在圖檔内施加編碼噪聲難度非常大,針對圖檔可以考慮使用jpeg壓縮,不過相對編碼器來說它隻考慮到了空域特性,并沒有考慮時域特性。通過一個巧妙的方法,可以将時域編碼引入到圖檔中以産生時域編碼噪聲。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

我們可以将原始圖檔複制成多份,在其中引入連續形變來得到一個淺顯的單圖生動畫效果,通過人為引入形變和時域變化再對圖檔進行編碼,最後進行特定解幀,其中有一幀是不會做任何形變的,也就是我們需要加的一幀,最終形成構造的LR/HR對。

使用這種方法可以在圖像上施加編碼噪聲。

以上述訓練政策和方法來訓練網絡,在實際部署階段非常簡單,它是一個frame by frame的處理,不涉及時域工作,可以無縫插入到所有基本的轉碼流程中來達到收益。本算法最終隻用了三千個參數就達到了低秩學習分解的能力,即使在CPU上也能夠得到很好的推理性能,目前基于TensorRT做T4卡的部署可以跑到300fps以上,可以滿足大規模生産的需求。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

以上算法雖然設計上隻針對空域,未對時域做特定優化,包括在推理過程中也是frame by frame地進行時域推理。但本算法是有時域親和力的,在時域上一個連續的patch經過低秩重構後所得的頻譜會相似于原始頻譜,以一個典型的室内演播廳場景為例,當碼率相對比較充足時,背景看似不變,但其中包含了很多人眼難以感覺的擾動,這些擾動可能是因拍攝期間的熱噪聲或受拍攝條件影響所緻。編碼器也會将碼率配置設定到這些對于人眼來說不變化的地方。經過本算法處理後,可以看到大部分的塊都被skip掉,對有一部分塊則采用幀間編碼方式,對真正差異較大的地方才會使用幀内編碼。這樣可以使編碼器做到高效率碼率配置設定,無形地提高了時域壓縮性能。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

這裡介紹一下編碼收益,主要分三部分,第一部分是基于ssim的RD-curve,使用ssim做編碼的同學都知道,ssim是比較難優化的,我們在264、265甚至在AV1上都達到了一個全局的ssim的編碼收益。

如果将評價名額改為vmaf,那麼收益會更大。

本算法已經灰階上線,在實際生産資料中,我們基于典型碼率段做了分析,在1080P及以上分辨率可以達到18%以上的碼率節省,全局也有16%的碼率節省。

-04-

總結與展望

至此今天主要的分享内容結束,接下來想和大家介紹我們将持續跟進的一項工作:高糊修複。在這次LiveVideoStackCon上我們遇到了很多同行,經過交流,這也是同行們做視訊雲業務都會遇到的問題。高糊修複在一些特定場景有重要用途,如老片修複或一些拍攝品質極低的視訊修複。

我認為目前雖然大家對高糊修複都研究了很久,但仍然沒有很好的解決方案。去噪、增強、劃痕修複和調色并不能解決根本的問題,高糊視訊缺失了對人眼來說最基本的材質、紋理等細節。在古早片中可以發現,人物在高清處理後雖然很清晰,但衣物還有紋理缺失的現象。

為了解決這個問題,我們做了很多嘗試,甚至是對早期的曆史拍攝器材進行專門研究。例如老西遊記電視劇使用了顯像管錄影機進行拍攝,我們便研究了這種錄影機的成像原理,從鏡頭組到感光元器件再到最後的曝光成像媒體,了解成像流程對原始畫面造成了怎樣的降質。

了解這個原理是非常重要的,可能和大家平時做超分或者修複預想的不同,一般超分或修複會使用一些典型的降質算子,如高斯模糊、中值模糊和各種各樣的壓縮,但高糊修複和前述的這些算子關系相去甚遠。

近期AIGC以及大模型的興起對高糊修複是很好的信号,可以看到LDM已經具備非常不錯的圖像細節修複能力,但它還不能很好地适應生産應用場景。

目前針對圖像大模型調優已經出現了一些低成本調優方案,例如lora,基于lora可以對LDM像類似于condition-GAN一樣的方式訓練,把低清和高清pair當做condition/target,采用這樣的圖像對來微調大模型。

通過研究各類古早片原始畫質的降質過程可以對畫質改善起到很大的積極作用,我認為如果持續跟進大模型調優,它将是非常好的解決方案,可以解決很多應用上的痛點。

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

大家可以看展示的CASE,原圖相當模糊。

經過大模型處理後,吉他上的木紋、衣服上的材質和櫃子上的木紋等在原視訊中幾乎沒有的材質都被進行了豐富與補充。

為了達到這個效果,還需要做很多工作去限制擴散模型産生的時域不連續問題,如果不采用一些trick進行抑制,不連續情況可能會很嚴重。

我相信通過後續不斷的研究和應用,這些問題都會或早或晚的解決。

我認為低碼高畫工作非常有意思,雖然當下的環境艱難,但期間也促成了行業全體同仁優化工作的明顯進步,對于技術人員也是挑戰與機遇并存,相信接下來的工作仍然任重道遠,謝謝大家!

哔哩哔哩視訊雲畫質與窄帶高清AI落地實踐

▲掃描圖中二維碼或點選“閱讀原文” ▲

檢視更多LiveVideoStackCon 2023上海站精彩話題

繼續閱讀