本文來(lái)自阿里巴巴淘系技術(shù)部 高級(jí)算法專家王立波在LiveVideoStackCon 2020線上峰會(huì)的分享,從直播背景、直播痛點(diǎn)分析、窄帶高清、云視頻技術(shù)趨勢(shì)幾方面詳細(xì)介紹了如何在確保用戶體驗(yàn)QOS不變的前提下,實(shí)現(xiàn)淘寶直播的技術(shù)架構(gòu)升級(jí)和成本大幅縮減。
本次分享內(nèi)容主要分為五個(gè)部分,首先是全民直播大時(shí)代的背景介紹,第二是直播痛點(diǎn)分析,第三是淘寶直播窄帶高清技術(shù),第四是音視頻技術(shù)趨勢(shì)探討,最后是在線互動(dòng)。 1 背景-全民直播大時(shí)代
在疫情的影響下,直播從傳統(tǒng)的秀場(chǎng)應(yīng)用逐漸滲透到行業(yè)的各個(gè)領(lǐng)域。包括在線課堂,旅游,政企,房車銷售等等,可以說(shuō)是全民直播時(shí)代已經(jīng)到來(lái)。
在這樣的一個(gè)大背景下,過(guò)去一年淘寶直播得以快速發(fā)展。2019年,淘寶直播擁有了4億+的年度用戶規(guī)模,有100萬(wàn)+年度主播入駐,2000億+年度直播成交以及4000萬(wàn)+直播商品。春節(jié)期間,釘釘在線課堂更是有350萬(wàn)+的教師主播,為1.2億+中小學(xué)生提供了在線課程服務(wù)。 2 直播痛點(diǎn)分析
在這么大的一個(gè)業(yè)務(wù)體量下,我們將會(huì)面對(duì)非常多的難點(diǎn)與挑戰(zhàn)。總的來(lái)說(shuō),包含以下三個(gè)部分,首先是成本,包括帶寬、存儲(chǔ)和轉(zhuǎn)碼三個(gè)方面。其次是用戶體驗(yàn),例如畫質(zhì),音質(zhì),秒開、卡頓和延時(shí)。最后是效率方面,例如開播的效率、審核的效率和理解分發(fā)的效率。接下來(lái)我們就來(lái)看一下淘寶在成本和體驗(yàn)優(yōu)化方面做了哪些工作。 3 淘寶直播窄帶高清技術(shù) 3.1 淘寶直播窄帶高清
淘寶直播有三大核心技術(shù),第一大核心技術(shù)是端上窄帶高清。我們采用HEVC編碼實(shí)現(xiàn)了720p,25fps,800kbps的壓縮,并且PSNR> 43db/VMAF>90。端上窄帶高清技術(shù)主要應(yīng)用有三個(gè)方面:第一是音視頻增強(qiáng),采用基于AI的圖像增強(qiáng)、美顏和語(yǔ)音增強(qiáng)來(lái)提高生產(chǎn)質(zhì)量。第二是感知處理,采用信源信道聯(lián)合自適應(yīng)編碼。第三是S265編碼器,S265編碼器是業(yè)界領(lǐng)先的HEVC編碼器。 第二大核心技術(shù)是零轉(zhuǎn)碼系統(tǒng),我們實(shí)現(xiàn)了端到端原始流生產(chǎn)的和播放,成功的解決了兩個(gè)核心的痛點(diǎn)問(wèn)題:不同網(wǎng)絡(luò)速度的兼容和不同播放設(shè)備的兼容,后者主要通過(guò)高性能解碼器實(shí)現(xiàn)iOS,Android和H5三端的100%解碼。 第三大核心技術(shù)是低延時(shí)技術(shù),我們實(shí)現(xiàn)了端到端秒級(jí)延時(shí)。主要依靠?jī)蓚€(gè)技術(shù),一個(gè)是基于RTC的實(shí)時(shí)直播系統(tǒng),第二個(gè)是S265低延時(shí)編碼技術(shù)。 3.2 淘寶直播系統(tǒng)架構(gòu)
如圖所示淘寶直播的系統(tǒng)架構(gòu),從生產(chǎn)側(cè)來(lái)看,有采集、增強(qiáng)、感知處理、S265編碼四個(gè)環(huán)節(jié)。云端我們有邊緣的接入,有中心接入、切片錄制和CDN分發(fā)以及邊緣分發(fā)。在播放端有擁塞控制、解碼、渲染和顯示。除此之外,在云端還有內(nèi)容審核,質(zhì)量監(jiān)控,內(nèi)容理解和智能分發(fā)。 3.3 端上窄帶高清
生產(chǎn)側(cè)的第一個(gè)環(huán)節(jié)是圖像增強(qiáng),為了提升主觀質(zhì)量,我們引入了圖像增強(qiáng)技術(shù),對(duì)編碼前的視頻做去噪、去抖、紋理增強(qiáng)以及美顏、美型的功能。除此以外,在后處理部分,我們還引入了適時(shí)超分和HDR技術(shù)來(lái)提高觀看質(zhì)量。在美顏、美型以及圖像處理等方面,我們引入了GPU的技術(shù),包括內(nèi)存帶寬優(yōu)化、shader優(yōu)化、Pipeline優(yōu)化等等以減少GPU的開銷。
針對(duì)音質(zhì)的優(yōu)化,我們采用了智能降噪技術(shù)。無(wú)論是在STO還是PESQ的指標(biāo)上都顯著高于傳統(tǒng)WebRTC算法,在性能和包大小方面也都可以實(shí)現(xiàn)普通設(shè)備的覆蓋。下面播放的三段音頻,分別是原始音頻、RTC降噪和阿里降噪音頻。原始音頻我們可以明顯聽到馬路上車呼嘯而過(guò)的聲音非常強(qiáng)烈。RTC降噪音頻中降噪產(chǎn)生了一定的效果,但是汽車飛馳而過(guò)的呼嘯聲還是非常明顯。而在阿里降噪音頻中,我們可以聽到汽車呼嘯而過(guò)的聲音已經(jīng)基本消失。
生產(chǎn)的第二個(gè)環(huán)節(jié)是感知處理。我們采用信源信道聯(lián)合自適應(yīng)編碼技術(shù)。感知處理分為5個(gè)方面,首先是ROI區(qū)域的感知,我們基于PixelAI人臉檢測(cè)加商品檢測(cè),對(duì)ROI區(qū)域進(jìn)行提取和重點(diǎn)編碼。第二是場(chǎng)景的感知,不同的場(chǎng)景適合不同的編碼參數(shù),我們通過(guò)對(duì)場(chǎng)景進(jìn)行分類,對(duì)于不同的場(chǎng)景賦予不同的編碼參數(shù)來(lái)提高壓縮質(zhì)量。第三個(gè)是智能碼控CARC,我們采用機(jī)器學(xué)習(xí)的碼率控制,對(duì)簡(jiǎn)單場(chǎng)景賦予較低的碼率,對(duì)復(fù)雜的場(chǎng)景賦予較高的碼率來(lái)實(shí)現(xiàn)對(duì)帶寬的節(jié)省。第四個(gè)是網(wǎng)絡(luò)帶寬的感知,在網(wǎng)絡(luò)比較好的時(shí)候,我們會(huì)采用比較高的碼率來(lái)實(shí)現(xiàn)畫質(zhì)的提升,在網(wǎng)絡(luò)不太好的時(shí)候,會(huì)降低碼率,避免發(fā)生帶寬擁塞,由于cdn采用峰值收費(fèi),峰谷時(shí)間段還可以采用不同碼率策略。最后是設(shè)備算力的感知,不同的設(shè)備擁有不同的算力,我們可以實(shí)時(shí)檢測(cè)設(shè)備的算力情況及時(shí)調(diào)整編碼的檔次,以此來(lái)實(shí)現(xiàn)對(duì)算力和質(zhì)量的平衡。
生產(chǎn)的第三個(gè)環(huán)節(jié)是編碼,這又要講到我們核心的S265編碼器,得益于S265編碼器的編碼壓縮技術(shù),我們實(shí)現(xiàn)了淘寶直播的720p、800kbs、25fps編碼,相比于業(yè)界常見的720p 1600kbps 節(jié)省了50%的帶寬。釘釘?shù)脑诰€課堂我們更是把碼率壓縮到了200kbs,并實(shí)現(xiàn)了43db以上的質(zhì)量。S265是淘寶和阿里云共同發(fā)起的HEVC編碼器,目前已經(jīng)實(shí)現(xiàn)集團(tuán)內(nèi)部的開源,并落地在點(diǎn)播、直播會(huì)議等各個(gè)場(chǎng)景中。相比起業(yè)界優(yōu)秀的HEVC編碼器,S265在PSNR指標(biāo)上有比較大的優(yōu)勢(shì)。首先在編碼工具提升方面,我們做了大量工作,實(shí)現(xiàn)了HierarchyB、GPB、Bi-Search、Longterm、RDOQ、AdaptGOP等編碼工具,并且對(duì)這些工具進(jìn)行了大量的算法和速度優(yōu)化。我們還設(shè)計(jì)了50多種快速算法,比如說(shuō)Deblock的優(yōu)化,編碼速度對(duì)比X265有1倍以上的提速。在工程上的優(yōu)化,我們做了浮點(diǎn)轉(zhuǎn)定點(diǎn)、位寬的縮減、SIMD的優(yōu)化、冗余去除、訪存效率提升及循環(huán)展開等等來(lái)提升我們的編碼速度。在框架方面,我們還做了線程調(diào)度優(yōu)化等等。在碼率控制方面,我們對(duì)幀級(jí)別碼控和塊級(jí)別碼控分別進(jìn)行了優(yōu)化,并且對(duì)2pass編碼進(jìn)行了原創(chuàng)性的優(yōu)化來(lái)提高2pass編碼的質(zhì)量。在塊級(jí)別碼控中,我們?cè)O(shè)計(jì)了新的CUTree和AQ算法。
下面來(lái)看一下S265的幾個(gè)典型優(yōu)化,首先是CU劃分決策,我們把CU劃分決策模塊分成兩個(gè)步驟,一是紋理強(qiáng)度決策,通過(guò)計(jì)算CU的紋理梯度來(lái)判別平坦塊和復(fù)雜塊,如果是平坦塊就直接退出,如果是復(fù)雜塊就繼續(xù)向下劃分。第一步可以解決大部分塊劃分的決策問(wèn)題,但是對(duì)于模棱兩可的塊,則需要依靠CNN模型來(lái)輔助劃分。我們使用了一個(gè)5層網(wǎng)絡(luò)的小模型把決策的準(zhǔn)確度從72%提升到了96%;這個(gè)成果我們跟清華大學(xué)劉老師合作發(fā)表了一篇論文,在DCC會(huì)議上展示。
第二個(gè)方面的優(yōu)化是運(yùn)動(dòng)搜索方面的優(yōu)化。運(yùn)動(dòng)搜索是從參考幀尋找最佳匹配塊的過(guò)程,包含整像素搜索和分像素搜索,分像素需要做7抽頭或8抽頭插值濾波,計(jì)算量大;整像素搜索已經(jīng)有比較多的快速算法,比如菱形搜索、六邊形搜索及分層搜索,但分像素搜索一直沒(méi)有什么好的方法。比如在圖中矩形的整像素周圍,分布著60個(gè)分像素點(diǎn),如果要對(duì)分像素點(diǎn)進(jìn)行全部搜索的話,需要60次,經(jīng)過(guò)優(yōu)化之后一般需要搜4個(gè)、8個(gè)或16個(gè)點(diǎn),但搜索次數(shù)還是比較多的。我們采用一個(gè)二元二次誤差平面方程,用9個(gè)整像素點(diǎn)的預(yù)測(cè)誤差來(lái)求解方程的5個(gè)系數(shù),再對(duì)方程求偏導(dǎo),可得到最佳分像素點(diǎn)的位置。只需對(duì)這個(gè)最佳分像素點(diǎn)計(jì)算1個(gè)1/4差值,就可以完成我們的搜索過(guò)程。這個(gè)技術(shù)在編碼器的整個(gè)提速有12%,但bd-PSNR只有-0.016db。這些成果在VCIP 2016上可以看到。
第三個(gè)是我們的碼率控制。ABR是較適合直播的一種碼率控制方法。但HM中基于
-
直播
+關(guān)注
關(guān)注
1文章
246瀏覽量
21347 -
窄帶
+關(guān)注
關(guān)注
0文章
16瀏覽量
12773 -
高清技術(shù)
+關(guān)注
關(guān)注
1文章
16瀏覽量
14605
原文標(biāo)題:淘寶直播窄帶高清技術(shù)
文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論