文章插圖

文章插圖
近年來,內容業務在行業蓬勃發展 。淘寶也在積極進行內容化轉型,今天我們邀請到阿里巴巴淘系技術高級算法專家——王立波(莊恕),回顧淘寶從圖文到短視頻直播的發展歷程,介紹音視頻算法在其中的應用和未來的投入方向包括編解碼、視頻處理、音頻通訊與互動 。文 / 王立波(莊?。?br /> 整理 / LiveVideoStack
很高興與大家進行交流與分享,首先介紹一下自己,我是來自淘系技術部的王立波,花名莊恕,今天分享的主題是音視頻算法在淘寶中的應用 。剛接到這個任務時,覺得題目特別大,可以講的東西特別多,經過考慮我還是決定集中講3個觀點,可以為大家介紹得更詳細 。
01 業務介紹
淘寶從PC走向移動,從圖文走向直播短視頻,從傳統電商走向內容電商再到發現電商、興趣電商 。在過去的2020年,淘寶直播的GMV突破4000億,去年雙十一一天之內有超過7億人次觀看淘寶直播;2020年底隨著點淘,逛逛的推出,短視頻成為內容業務發展的新引擎;在這個飛速發展過程中面臨巨大的成本壓力 。
02 視頻壓縮有效降低成本
2.1 從圖片壓縮說起
說起編解碼,可能不得不先提圖片壓縮了,這是一張小小的商品詳情圖,在直播短視頻興起之前,圖片是大家獲取信息主要手段,隨著用戶增長,成本壓力越來越大,過去幾年中,淘寶圖片日均播放量超過千億次,如果通過降低質量來降低成本會犧牲大家的體驗,所以我們希望依靠技術升級來提高壓縮效率 。
2.1.1 圖片壓縮標準的演進
這里我對各種格式做了一個簡單總結,JPEG是目前使用最廣泛的圖片壓縮標準,從1992年公布至今已經接近三十年,它非常簡單高效 。10年前左右,Google基于VP8內核發布了WebP格式 。WebP在塊劃分,預測,變化,量化,熵編碼方面比JPEG更優,且增加了Deblock功能;HEVC則比WebP更進一步,通過多個工具的升級來提升壓縮效率,另一方面,由于Tile劃分及Wpp技術的引入,HEVC給Codec工程實現提供很多并行化的手段,這對現代多核CPU來說比較友好 。
為了比較三種格式在不同場景數據集下的壓縮效率,我們設計圖中實驗 。得出的結論是WebP比JPEG大約提升29%的壓縮性能,HEVC對比JPEG大約提升接近50%壓縮效率 。
2.1.2 淘寶自研APG格式
除此之外,我們對整個系統的架構方面也進行了大量工作,比如高并發實時響應、CDN的下發策略、存儲和計算分離,多內容災等策略,最終實現了淘寶千億級的實時圖片處理系統,在大大節省業務成本的同時也保障了畫質體驗 。
2.1.3 內容業務進化為視頻為主
2.1.4 HEVC在視頻業務落地挑戰
首先是編碼速度,H265的官方模型HM,在普通PC上編碼720P視頻時只能達到0.1fps,想象一下,壓縮一段十分鐘的視頻需要花費一天甚至幾天的時間 。業界最好的開源編碼器X265,在慢速檔也只有6.8fps,距離30fps實時編碼的需求有相當大的差距;
其次是編碼質量,由于復雜度的原因,X265僅比X264節省18%的碼率,遠遠達不到HEVC相比AVC理論上的上限值(HEVC標準在設計時以50%的碼率節省為目標);
第三是碼率控制,業界有許多場景的碼率控制方法,比如ABR、CBR、CRF,但現在實時音視頻的業務場景非常復雜,無法直接使用這樣的碼率控制方法;
第四是解碼的兼容性和性能,也是大家普遍關心的問題 。用戶觀看環境多種多樣,有Android、IOS、Web的H5觀看,H265在H5上的支持不太好,限制了它的發展,硬解設備兼容性也不完善,所以在解碼兼容性方面也面臨著很大的挑戰 。
2.1.5 S265編碼內核優化
1、Cu深度預測算法,HEVC的塊劃分從64劃分到8*8,深度有4層,如何預測出CTU的劃分深度是具有挑戰性的事情 。HM為了確保編碼性能會對每一層都計算其RDcost,我們這里結合紋理復雜度、時空域相鄰塊及前處理運動信息,做到比較準確的Cu深度預測 。進一步深度預測方面有許多研究,比如一些機器學習,深度學習的方法能夠精準預測塊的劃分層級 。
2、自適應的EarlySkip算法和RecursionSkip算法 。這兩個算法比較類似,EarlySkip的目的是在本層跳過其它模式的計算,而RecursionSkip目的是跳過當前層不再Split 。X265也有類似的技術,我們比X265更進一步,做RS時會同時考慮skip和merge模式子塊的satd,做ES時,會同時考慮最佳模式的cost大小避免殘差過大,我們的結果做到在相同速度條件下對比X265相當程度的節省碼率 。
3、All Zero Block的檢測 。如果一個塊經過量化后是全零塊,就沒有必要進行RDO及編碼了,但怎樣預測一個塊是All Zero Block 。我們發現一種方法可能適合于一種大小的塊,在8*8中比較準確,但放在32*32中不可用,所以要根據塊大小及內部紋理強度,更加精確地預測出是否是All Zero Block 。
4、Fast Intra Prediction 。這個技術有很多人研究,H.265總共有35種預測方式,如何快速找到預測角度,有許多相關論文 。我們使用Bayes估計模型,在橫向及縱向找到準確方向,再去做細分角度預測,提高角度預測的速度 。
5、分像素的搜索 。傳統的分像素的搜索在整像素最佳點上下左右找4或8個點,相對來說計算量比較大,根據整像素結果通過誤差平面估計模型推導出分像素點的位置,從而節省分像素的計算個數 。
【淘寶圖片軟件免費的 淘寶圖片下載軟件】6、多參考幀的選擇 。為了提高壓縮效率,現在的編碼器會選擇更多參考幀,比如在一個方向選擇3到4個參考幀,我們會根據參考幀的質量,距離來做加權,選擇適合的參考幀 。在拿到一個比較好的結果后如何提前跳出其它參考幀的遍歷?多參考幀是提升壓縮質量的一個很好選擇,但需要避免計算復雜升高 。
7、Distortion的快速估計 。在RDO過程中要對誤差進行仔細估計,如果用傳統下的SATD做的話,效率不高,但如果做完整的RDO計算非常耗時,所以我們有殘差的預估模型,從量化后的系數中用模型推導出Distortion的結果避免再做反量化,反變化 。還有像Bits估計,RDCost的另一個分量是Bits代價,用一次完整的熵編碼會非常耗時,如果用一個分段線性模型能夠估算出來Bits來,我們就可以快速做出RDO的計算 。
其它的比如Deblock,SAO優化偏一些工程方面手段 。
1、第一個碼率控制 。碼率控制的目標是把碼率分配到更有價值的地方 。它分幀級別碼控和塊級別碼控 。在幀級別碼控中,我們對I幀碼控和P幀碼控做了精確的預分析,在塊級別碼控中,我們設計了增強型的Cu-tree算法 。
2、分層B幀以及參考結構的優化 。分層B幀在實現方面不難,對壓縮效率方面有大的幫助 。前面介紹了GOP結構的優化,我們會對參考幀的選擇會做權衡 。
3、大家知道在靜止場景下,分層越多壓縮效率越高,但在運動場景就不那么有效,所以我們實現了自適應的GOP Size,并自研了Scenecut算法 。能夠適應不同運動強度、場景切換的需求包括淡入淡出的需求 。
4.此外,在Bi-Search,GPB,LTR這幾個工具,在開源軟件X265是沒有的,但對提高預測效率很有幫助;MCTF工具對編碼噪聲的去除非常有幫助,我們將這幾個技術加入到S265之后獲得了5%以上的BD-rate收益 。
5、2-pass是在求解一個全局最優的Qscale,它在離線轉碼場景中被用到,允許對視頻做更多分析,但在求解過程中,失真度量是MSE,我們對度量函數進行了重新推導,獲得5%壓縮性能;
6、Dynamic CRF和Pboffset,常規做法是是固定幀級P,B幀的Offset,我們會根據幀的復雜度來調節幀級QP值;
7、AQ和RDO的代價計算通?;贛SE,但如果是針對SSIM指標的話,可以推導SSIM的模型,RD也一樣 。
8、針對會議場景,我們還實現了IBC工具,對PPT投屏有幫助 。并專門設計了對屏幕內容優化的搜索算法,傳統的快速算法如菱形搜索、六邊形搜索在SCC場景下效率很低,很難找到最優解,但如果用自研的算法搜索就有較好的效率提升 。
2.2 場景自適應編碼
1、視頻分析:利用機器學習方法做視頻切分,并得到高層語義分類,比如動畫,體育,秀場,商品介紹等;
2、另一個維度看利用信號分析手段檢測出視頻的底層特征,比如運動強度,紋理特征,噪聲強度,亮度特征等,根據高低維度信息決定編碼參數 。
3、自適應決策引擎(ADE):根據語義特征和信號特征以及網絡狀況,決策出最佳編碼參數組合 。這個決策過程被建模為一個帶約束優化模型;
2.3 S265解碼提升覆蓋率
1、硬解碼適配 。對市面上基本所有機型(>1000款)都進行了適配;
2、自研高性能Native H265解碼器,在小米5 720P的設備上做測試得到240幀左右的速度,通過很低的功耗實現實時解碼 。
3、H5的解碼 。H.265在H5中沒有支持,我們基于WebAssembly技術來支持H5的播放 。目前可以做到在i7電腦上1080P 30fps的實時解碼,CPU消耗在30%以內;
2.4 淘寶編碼器落地歷程
解碼器方面對比VTM實現單核3.5倍提速,多核16倍提速;在高端的手機(IPhone12、P40)實現4K 30FPS解碼,低端手機720P雙核實現30FPS解碼 。720P內存消耗<35m< span=””>和Binary<1m< span=””>,對大型APP來說非常關鍵,包過大時安裝下載會受阻 。
我們內部正在做VVC編碼器,目標是1FPS Slow檔對比X265 Veryslow節省50%碼率;30FPS Fast檔對比X265 Medium節省40%碼率 。大家知道VVC比HEVC會更慢,一段1分鐘的4k視頻用HEVC的HM壓縮需要幾天,而如果用VVC的VTM則可能需要一個月,時間消耗會非常長 。目前我們Slow檔已經做到比VTM提升100倍速度但是壓縮效率接近 。
業務策略上包括場景分類自適應、智能碼控、針對不同場景的延時需求,做延時的適配及優化(在非常低的延時下達到接近不限延時的壓縮效率)、算力自適應(根據不同的設備自適應調節編碼的速度檔次) 。
編解碼內核包括碼控及前處理、編碼工具集、快速算法,編碼框架等優化 。
系統平臺包括基于ARM平臺的(armV7/arm64)及X86實現(SSE/AVX)、目前在考慮基于FPGA、ASIC的實現,還有質量評價系統和訓練集群來輔助編碼器研發 。
03 視頻處理提升畫質體驗
下面介紹視頻處理提升畫質體驗的觀點 。
3.1 視頻處理提升畫質
3.2 淘寶短視頻窄帶高清轉碼
向大家介紹一下轉碼服務,它的核心技術是窄帶高清和S265,分別有兩個視覺處理模型 。首先是窄帶高清的處理模型包括質量分類,細小紋理去除、脫焦區域弱化(節省碼率)、易感知紋理增強(增強視覺體驗)、人臉保護(避免過度增強引起體感不好)、馬賽克修復、去隔行掃描 。S265視覺壓縮模型有三個點,人眼感知與失真拐點(BD-rate曲線剛開始較陡,向后較緩,要找到高性價比的點,感覺不出更多的失真又可以達到合適碼率)、碼率與分辨率甜蜜拐點(不同碼率在不同內容上適合于不同分辨率壓縮 。如果一個非常低的碼率300K強行壓縮1080P出來都是塊主觀體驗很差,如果壓縮540P、360P可以獲得更高的視覺體驗)、場景分類編碼(不同分類場景適合不同編碼參數、碼率的選擇) 。
3.3 電競場景中的美顏
3.4 HDR10端到端系統
但HDR是一個端到端的系統,需要考慮到各種設備的兼容,所以我們做了一些適配來提升用戶體驗,比如普通相機拍出的內容就用普通通道傳輸解碼,而一些高端設備支持HDR10,可以把內容做10Bit壓縮,傳輸,在對端根據播放設備能力,做HDR To SDR、10Bit To 8Bit的轉換來保證質量,對于好的手機就可以得到最好的HDR體驗,一般手機也能得到基礎的HDR體驗 。圖中可以看到HDR技術使照片顏色更接近實物顏色 。
04 音頻技術提升體驗和生產力
第三個觀點是視頻技術提升體驗和生產力 。音頻在過去幾年都伴隨視頻出現,而在去年Clubhouse的發布,大家覺得音頻可以獨立玩,這對音頻技術來說是一個很好的啟發 。除此以外,音頻的技術還可以輔助我們做內容的生產、審核及各種音頻處理,個人認為音頻會是后續很重要的生產力 。
4.1 業務:用戶數和時長
在主播角度,音頻技術可以來做口播自動剪輯、來客提醒(不用一直守在電腦旁邊)、開播輔助、字幕和配樂生成 。在用戶角度,音頻的互動可以支持連麥、游戲、猜價格、語音評論 。在平臺角度,音頻可以監管黃暴政、盜播、盜鏈、檢測空鏡 。
直播內容中,對音頻的適配也非常重要 。(陳老師提到一個例子:如果是音樂直播間,用普通模板做音質會很差,所以需要幾套針對不同類型直播間的聲音模板 。)在這樣的系統上,我們支持淘寶直播,語音聊天室等業務 。
4.2 AliDenoise——讓聲音更清晰
有三段音頻,第一段是街邊的場景,是原聲;第二段是RTC處理后的效果(汽車走過的聲音比較明顯);第三段是AliDenoise處理后的效果,可以聽出它對非平穩噪聲的抑制很好,且人聲保留度高 。
街邊場景-原聲
RTC處理后的效果
AliDenoise處理后的效果
- 調整屏幕亮度的軟件 屏幕亮度調節的軟件
- Flash軟件是什么 flash軟件是啥
- oa辦公系統軟件多少錢 oa軟件多少錢一套
- dps軟件操作 dps軟件安裝教程
- 遠程桌面管理軟件哪個好用 比較好用的遠程桌面
- ps軟件收費要多少錢 ps軟件收費嗎
- 淘寶網店代理免費加盟 淘寶代理商加盟
- 圖片壓縮免費 圖片壓縮方法 手機免費
- cat軟件使用經驗 最常用的cat軟件
- 硬盤恢復數據的軟件哪個好用 恢復硬盤數據工具
