“好為人師,博而不精,雜而不純。”——宋利。
收到對(duì)宋利的采訪郵件,正文開始是一段自嘲,讓原本枯燥的技術(shù)采訪變得生動(dòng)。相比于之前幾個(gè)采訪,本文的信息量更大,不得不對(duì)嚴(yán)謹(jǐn)?shù)膶W(xué)術(shù)界敬佩三分。本文是『下一代編解碼』系列采訪的第6篇,邀請(qǐng)到了上海交通大學(xué)任研究員,博士生導(dǎo)師宋利,他全面的解讀了編解碼器的現(xiàn)狀與未來(lái)趨勢(shì)。
LiveVideoStack:請(qǐng)簡(jiǎn)要介紹下自己,以及目前主要的工作方向,對(duì)哪些技術(shù)或領(lǐng)域感興趣?
宋利:謝謝邀請(qǐng)。我目前在上海交通大學(xué)任研究員,博士生導(dǎo)師,研究方向是視頻編碼、圖像處理與計(jì)算視覺。
我屬于興趣廣泛型的,對(duì)各類奇技都心生好奇。就視頻而言,從視頻生產(chǎn)、分發(fā)到消費(fèi),整個(gè)鏈路的相關(guān)技術(shù)都會(huì)留意,近期關(guān)注點(diǎn)有:
視頻生產(chǎn)(production): UHD/HDR,360VR等新型視頻內(nèi)容的采集、加工、合成技術(shù); 基于人工智能的視頻處理技術(shù);Video over IP;云化媒體生產(chǎn)系統(tǒng);
視頻分發(fā)(distribution/delivery):新型編碼標(biāo)準(zhǔn)/技術(shù)、混合云+邊緣媒體處理架構(gòu),低延遲傳輸相關(guān)協(xié)議和技術(shù)(CAMF、WebRTC、HTTP2)
視頻消費(fèi)(endpoint):新型視頻播放器/終端軟件,支持跨屏同步,動(dòng)態(tài)渲染(VR)、強(qiáng)交互(AR)和AI
視頻體驗(yàn)評(píng)價(jià)(QoE),視頻內(nèi)容保護(hù)(DRM)等,如區(qū)塊鏈和媒體服務(wù)的聯(lián)姻。
關(guān)于編解碼器
LiveVideoStack:什么樣的編解碼器是一個(gè)好的編解碼器?視頻質(zhì)量、碼率、算法復(fù)雜度、對(duì)數(shù)據(jù)丟失或錯(cuò)誤的魯棒性等。
宋利:當(dāng)我們?cè)u(píng)價(jià)一個(gè)東西是好或者不好,首先需要給出一個(gè)測(cè)度。從廣義上看,編解碼器的測(cè)度是多個(gè)維度的函數(shù),維度包括:壓縮效率(即碼率和質(zhì)量)、算法復(fù)雜度(時(shí)間、空間復(fù)雜度)、實(shí)現(xiàn)復(fù)雜度(平臺(tái)支持能力、技術(shù)人員市場(chǎng)占比)、系統(tǒng)指標(biāo)(可并行性、可擴(kuò)展性、延遲大小、抗誤碼能力)等。由于這些維度之間是互相制約的,實(shí)際研發(fā)中只能取主要維度而犧牲其他方面,取得某種平衡。比如在視頻內(nèi)容生產(chǎn)領(lǐng)域用的JPEG2K、TICO等編碼器,就強(qiáng)調(diào)低復(fù)雜度,壓縮比并沒有分發(fā)領(lǐng)域的HEVC、H264等高。再比如H264編碼器,會(huì)分為不同的profile或類型,直播編碼器碼率通常是離線編碼器1.5到2倍,就是為了降低延遲而犧牲了壓縮效率。
LiveVideoStack:當(dāng)下對(duì)于編解碼器的研發(fā),業(yè)界主要的研究方向是什么?其難點(diǎn)是什么?有沒有一些典型或您十分看好的應(yīng)用場(chǎng)景?
宋利:編解碼的研發(fā),大致有三類人:『吃碗里的,看鍋里的,想田里的。』
第一類人是業(yè)界視頻編碼技術(shù)人員。大家主要關(guān)注于編解碼的優(yōu)化,解決的是低成本、高效率的問題,以Netflix、Youtube、Twitch、Hulu,奇藝、騰訊、優(yōu)酷土豆等為代表。最近聽到他們的一些報(bào)告,主題有內(nèi)容自適應(yīng)ABR、窄帶高清、多流聯(lián)合優(yōu)化等,都是圍繞降碼率,提效率,幫公司運(yùn)營(yíng)省錢。
第二類人是業(yè)內(nèi)標(biāo)準(zhǔn)或聯(lián)盟的研發(fā)人員,工作在MPEG、AVS、AOM等陣營(yíng)。視頻編碼這個(gè)領(lǐng)域有點(diǎn)像無(wú)線通信領(lǐng)域,工業(yè)界組成的標(biāo)準(zhǔn)組織帶著往前走,每隔8~10年同步一下,update一代標(biāo)準(zhǔn)。背后的基本技術(shù)邏輯是RD(Rate Distortion Efficiency,率失真,可以替換成編碼效率)倍增定律和摩爾定律(用來(lái)對(duì)抗復(fù)雜度的增加),目前比較熱鬧的是兩大陣營(yíng):ITU/MPEG的FVC 和 AMO/谷歌 的AV1,作為兩個(gè)編碼技術(shù)聚集池,前者已經(jīng)正式Call for Proposal(CfP)了,明年2月份對(duì)各個(gè)應(yīng)標(biāo)方案進(jìn)行評(píng)測(cè),確定新的參考平臺(tái)1.0,前期的算法探測(cè)軟件JEM在RD效率上已經(jīng)超過30%的增益(主觀性能更高),因此2020年出臺(tái)下一代視頻編碼標(biāo)準(zhǔn)H.266應(yīng)該是有把握的,不過編解碼復(fù)雜度目前比較高(10倍)。AV1推進(jìn)速度更快,已經(jīng)close了,今年底將正式release最終的Spec。AV1在性能方面主要是和之前的VP9相比,Netflix和Google的測(cè)試,RD效率提升30%以上。AV1解碼復(fù)雜度控制的較好,與VP9相比,只增加2倍多。所以,這兩個(gè)陣營(yíng)近期的工作重點(diǎn)應(yīng)該是不一樣,F(xiàn)VC還將主要集中在編碼算法模塊的提出和優(yōu)化,參與標(biāo)準(zhǔn)打擂;AV1 從明年開始應(yīng)該集中在平臺(tái)設(shè)計(jì)與優(yōu)化、降低編碼復(fù)雜度等方面。
第三類人是第二類的硬化團(tuán)隊(duì)和顛覆技術(shù)的探險(xiǎn)者。以往每一代視頻編碼產(chǎn)業(yè)周期中,基本按技術(shù),標(biāo)準(zhǔn),軟件,硬件的順序推進(jìn)。一般做硬件的要等到標(biāo)準(zhǔn)定下,部署和需求達(dá)到一定規(guī)模時(shí)候才出手,所以做硬件的團(tuán)隊(duì)大多還在迭代當(dāng)前市場(chǎng)上部署的版本,對(duì)新標(biāo)準(zhǔn)保持觀望狀態(tài)。不過互聯(lián)網(wǎng)的陣營(yíng)迭代速度很快,AV1在做軟件的同時(shí),硬件參考設(shè)計(jì)和IP核基本同步推進(jìn),相差也就幾個(gè)月到半年時(shí)間。因此,預(yù)計(jì)2018年下半年AV1的硬編碼就會(huì)有release。
另外一波人學(xué)界的居多,目前在嘗試使用全新的技術(shù)對(duì)編碼架構(gòu)進(jìn)行革新,比如人工智能,神經(jīng)計(jì)算模型等。做編碼的都了解,視頻編碼基本結(jié)構(gòu)(波形混合編碼)在過去幾十年都沒怎么變化,主要在于預(yù)算、變換和熵編碼三大部件(及零件)的不斷替換和完善。近期,學(xué)界已經(jīng)提出了一些用深度學(xué)習(xí)對(duì)HEVC進(jìn)行編碼提升的研究工作,不過大多集中在環(huán)內(nèi)濾波或后處理方面,還是屬于模塊級(jí)提升,沒有結(jié)構(gòu)突破,無(wú)End to End 學(xué)習(xí)能力。FVC和AV1陣營(yíng)專家普遍認(rèn)為,短期內(nèi)深度學(xué)習(xí)還是干不過人工fine tune的各種編碼模式(算子),還得繼續(xù)潛伏一陣。
應(yīng)用場(chǎng)景方面,個(gè)人比較關(guān)注兩塊:一是實(shí)時(shí)視頻服務(wù)場(chǎng)景(像抓娃娃,在線示教,視頻會(huì)議等),另一個(gè)是大分辨率浸潤(rùn)式VR視頻服務(wù),把視頻編碼推向更高、更快、更強(qiáng)。盡管VR在2017年遇冷,但暗流涌動(dòng),技術(shù)腳步絲毫沒有減緩,各大玩家都在蓄力,預(yù)計(jì)后面兩年會(huì)有大的機(jī)會(huì)。
LiveVideoStack:大家已經(jīng)開始研究H.266、AV1以及國(guó)產(chǎn)的AVS2,他們有哪些特點(diǎn)?各自的優(yōu)勢(shì)應(yīng)用場(chǎng)景是什么?
宋利:首先來(lái)看H.266,準(zhǔn)確來(lái)說(shuō)是FVC(Future video coding),正式的H.266要等到2020年標(biāo)準(zhǔn)發(fā)布到ITU后才算數(shù)。它是HEVC/H.265的繼任者,目前來(lái)說(shuō)還在CfP階段,在前期Study和CfE(Call for Evidence)階段不少有潛力的技術(shù)已經(jīng)亮相。代表性的工具有包括:
塊結(jié)構(gòu)方面:四叉樹加二叉樹(QTBT)塊結(jié)構(gòu),大的編碼優(yōu)化單元(CTU最大256x256,TU最大64x64);
幀內(nèi)預(yù)測(cè):65個(gè)方向,多抽頭插值,高級(jí)邊界濾波,跨CTU的預(yù)測(cè)(CCLM),位置相關(guān)的組合預(yù)測(cè)(PDPC),自適應(yīng)的參考樣本平滑等;
幀間預(yù)測(cè):OBMC模型,仿射運(yùn)動(dòng)補(bǔ)償,雙向光流,局部光照補(bǔ)償(LIC), 更高精度MV,局部自適應(yīng)MV, 高級(jí)MV預(yù)測(cè),子PU級(jí)MV預(yù)測(cè),解碼端MV refine等(DMVR);
變換方面:DCT/DST多核變換,模式相關(guān)的不可分二次變換,信號(hào)相關(guān)的變換等;
環(huán)內(nèi)濾波方面:雙邊濾波器(BLF), 自適應(yīng)環(huán)內(nèi)濾波器(ALF), 內(nèi)容自適應(yīng)限幅等;
熵編碼方面:變換系數(shù)的上下文模型選擇,多假設(shè)概率估計(jì),更好的上下文模型初始化等。需要說(shuō)明的是,正式打擂還沒開始,上述有些模塊完全可能被新模塊替換或者踢出去,有些模塊將被進(jìn)一步完善和優(yōu)化。應(yīng)用方面,現(xiàn)在說(shuō)可能還為時(shí)尚早,但UHD/HDR,VR等大分辨率視頻服務(wù)應(yīng)該是主要的出口。
AV1方面,尚沒有全面深入地分析,下面的一些信息來(lái)自于Google團(tuán)隊(duì)今年的文章和報(bào)告,代表性的工具有包括:
編碼結(jié)構(gòu)方面:SuperBlock,大小可以為128x128。
幀內(nèi)預(yù)測(cè)方面:65個(gè)方向預(yù)測(cè),Top-right邊界擴(kuò)展,用于光滑區(qū)域的Alt模式,亮度預(yù)測(cè)色度,參考像素平滑。
幀間預(yù)測(cè)方面:8種矩形+契型,OBMC,擴(kuò)展參考幀(ERF), Dual MC插值濾波(水平和垂直濾波器可以不一樣),全局運(yùn)動(dòng)補(bǔ)償,新的MV預(yù)測(cè)方法等。
變換方面:擴(kuò)展模式(水平和垂直變換可以從不同類型變換核組合),遞歸模式(根據(jù)殘差特性自適應(yīng)地切分變換單元),合并模式(變換單元覆蓋多個(gè)預(yù)測(cè)單元),長(zhǎng)方形變換等;
環(huán)內(nèi)濾波方面:方向Deringing濾波(DDF),有條件的低通濾波器(CLPF),維納濾波器等。
熵編碼方面:非二進(jìn)制的多符號(hào)熵編碼,自適應(yīng)上下文,新的標(biāo)識(shí)集合等。需要說(shuō)明的是,他們?cè)谶^去的1年中代碼迭代速度比較快,有些模塊級(jí)技術(shù)已經(jīng)被替換或者合并掉。應(yīng)用方面,AV1應(yīng)該是和HEVC搶奪市場(chǎng),特別是IPTV和OTT領(lǐng)域。
AVS2方面,總體來(lái)說(shuō),大部分模塊技術(shù)是對(duì)齊HEVC的,特色技術(shù)是針對(duì)視頻監(jiān)控場(chǎng)景引入的背景幀預(yù)測(cè)技術(shù),在靜止攝像機(jī)場(chǎng)景下性能突出,顯著優(yōu)于HEVC(40%~50%增益)。關(guān)于AVS2的技術(shù)細(xì)節(jié),北京大學(xué)深研院的『智媒之音』微信公眾號(hào),有系列的技術(shù)帖子進(jìn)行介紹,在此不再贅述。應(yīng)用方面,國(guó)家新聞出版社廣電總局前段時(shí)間發(fā)文,明確要求4K超高清電視終端支持AVS2,將會(huì)推動(dòng)AVS2落地。
LiveVideoStack:在做編解碼器的開發(fā)或優(yōu)化時(shí),會(huì)考慮相關(guān)專利及其產(chǎn)生的費(fèi)用成本嗎?
宋利:因?yàn)槲也皇亲錾虡I(yè)編碼器的,所以一些思考僅供參考。研發(fā)編碼器公司大致有三類:靠編解碼器賺錢的;自研編解碼器自個(gè)用的;賣硬件平臺(tái)送編碼器的。
第一類公司是專業(yè)編碼器公司或團(tuán)隊(duì),代表性如哈雷、Atmel、Envivo(被愛立信收購(gòu)),Elemental(被Amazon收購(gòu))等,規(guī)模其實(shí)都不算大,市場(chǎng)估值也不算高,因此專利方面其實(shí)不是太顧慮,MPEG LA也好,HEVC Advanced也好,不指望從他們身上撈油水。所以這些公司主要是根據(jù)市場(chǎng)需求和成熟度來(lái)決定開發(fā)和優(yōu)化的節(jié)奏,自然HEVC是他們目前主要的產(chǎn)品對(duì)象。
第二類公司主要是互聯(lián)網(wǎng)大玩家,像Youtube、Netflix,以及國(guó)內(nèi)的愛奇藝、騰訊、優(yōu)酷土豆,這些團(tuán)隊(duì)大部分都是以開源軟件如ffmpeg/x264/x265/vp9等為基礎(chǔ)進(jìn)行優(yōu)化,這類公司要么太牛叉,自己說(shuō)了算,用自家的或free的,像Youtube、Netflix,要么追求快速落地也不差錢,終端也大多是自家能掌控的,目前用H.264的居多,H.265的也開始用,不清楚交沒交過專利費(fèi)(十有八九沒交)。
第三類公司代表的是Intel、Nvida、ARM等公司了,這些平臺(tái)級(jí)的巨頭,估計(jì)不在乎這點(diǎn)專利費(fèi),為了鞏固江湖地位,都是通過SDK方式免費(fèi)送合作伙伴的。不過因?yàn)檎疹櫭姹容^寬,往往初期性能優(yōu)化的一般,給前兩類公司或人員留下了空間。但是隨著時(shí)間的推進(jìn),性能逐步都上來(lái)了,比如Intel Media SDK新版本已經(jīng)把H265優(yōu)化的相當(dāng)不錯(cuò)了。
LiveVideoStack:普遍認(rèn)為,硬件編解碼器的畫質(zhì)沒有軟件編解碼器的效果好。有沒有一種能將硬件編解碼器的海量處理能力與高畫質(zhì)結(jié)合起來(lái)的解決方案?
宋利:當(dāng)說(shuō)到硬編碼器時(shí),我腦海中default的應(yīng)用場(chǎng)景是直播,并且是直連信號(hào)源(攝像機(jī)或者通過contribution編碼器送過來(lái)的解碼視頻)。在這種應(yīng)用中,受限于時(shí)延和線性快編,留給編碼器時(shí)間窗口比較短,加之硬件編碼器計(jì)算和buffer資源有限,像multipass、lookahead等一些復(fù)雜的編碼優(yōu)化手段就會(huì)disable掉,因此壓縮效率會(huì)受限。軟件編碼器的應(yīng)用場(chǎng)景更多的是點(diǎn)播或者延遲直播,并且可以部署在彈性的云上,如果并行擴(kuò)展性設(shè)計(jì)的好的話,一些高級(jí)的復(fù)雜編碼模式都可以開啟,壓縮能力能夠充分施展,壓縮效率自然更好。
此外,當(dāng)我們說(shuō)到畫質(zhì)的時(shí)候,其實(shí)更多的說(shuō)的是重建視頻的主觀感受,并不是我們優(yōu)化編碼器時(shí)通常使用的PSNR(或者SSIM等)。對(duì)于特定的視頻幀,無(wú)論是那個(gè)metric,碼率或者QP的變化,畫質(zhì)的相對(duì)變化都能直接反應(yīng)出來(lái)。難在不同內(nèi)容的視頻,人對(duì)畫質(zhì)的感受是很implict的,從不好到好的刻度是不均勻和非線性的。這給編碼器優(yōu)化帶來(lái)了較大的自由度,也是各位編碼老鐵們發(fā)揮的空間。窄帶高清,per-title,感知編碼、視覺優(yōu)化、內(nèi)容自適應(yīng)等都是工作在這個(gè)區(qū)間。我們常說(shuō),編碼既是技術(shù)(Tech)也是藝術(shù)(Art),這里面有很多know-how的tricks,有工匠精神的老司機(jī)們往往更勝一籌。舉個(gè)例子,我們?cè)鴮?duì)國(guó)外一款商業(yè)編碼器和 x265,HM進(jìn)行過對(duì)比測(cè)試,單看PSNR,商業(yè)編碼器比不過HM,甚至x265,但是在體育比賽,歌舞晚會(huì)等實(shí)際場(chǎng)景中,畫面的均勻性和一致性等主觀方面(如畫面之間閃爍性低),商業(yè)編碼器優(yōu)勢(shì)明顯。
另外補(bǔ)充一點(diǎn),畫質(zhì)的好壞不只取決于編解碼本身,預(yù)處理和后處理也很十分重要,甚至帶來(lái)的畫質(zhì)提升效果要大于編碼優(yōu)化本身。
LiveVideoStack:FPGA/ASIC做編解碼的前景怎么樣?
宋利:我理解,問題的本意是想討論一下硬件編解碼工程師和軟件編解碼工程師的職業(yè)前景。首先,視頻作為所謂最大的大數(shù)據(jù),存取和交換都離不開壓縮和解壓。因此,背后的編解碼技術(shù)(及工程師)是被需要的,短期不會(huì)被冷落。但是換個(gè)角度看,正是因?yàn)榫幗獯a無(wú)處不在,高頻和基礎(chǔ)的特點(diǎn),盡管邏輯上常常放在應(yīng)用層,但技術(shù)下沉或者說(shuō)硬核化的趨勢(shì)很明顯。解碼就不用說(shuō)了,播放器大都調(diào)用芯片內(nèi)置的硬解碼。編碼方面,情況好一些,NTT,索喜(Socionext)、富士通這些專業(yè)做編碼芯片的廠商主要集中在專業(yè)領(lǐng)域。真正走量的互聯(lián)網(wǎng)視頻服務(wù)商大多還是用云+軟編碼的方式。不過如前面提到的,平臺(tái)廠商有抄底的趨勢(shì),Intel和Nvida就是代表。特別是Intel,本身就是云計(jì)算的主力平臺(tái),其新的CPU+FPGA的計(jì)算平臺(tái)值得期待,盡管現(xiàn)在主打AI對(duì)抗Nivida。但視頻方面不難推測(cè),Media SDK應(yīng)該逐步支持到FPGA層面。從這個(gè)意義上看,F(xiàn)PGA/ASIC 做編解碼前景還是不錯(cuò)的,適合于練內(nèi)功的人,但就業(yè)口子不大,集中在少數(shù)幾家。相比來(lái)說(shuō),軟件編解碼門檻低,口子寬但變化快。
LiveVideoStack:對(duì)于應(yīng)屆生或從其他研發(fā)領(lǐng)域轉(zhuǎn)行學(xué)習(xí)編解碼、多媒體開發(fā)的技術(shù)人,有哪些建議?
宋利:正好發(fā)揮點(diǎn)好為人師的特點(diǎn),說(shuō)點(diǎn)道的層面(慣用忽悠學(xué)生的套路)。我稱之為又“紅”又“?!保蛘逿型學(xué)習(xí)模型?!凹t“表示的是水平維度,強(qiáng)調(diào)知識(shí)面,”?!氨硎镜氖谴怪本S度,強(qiáng)調(diào)技術(shù)特長(zhǎng)。處在一個(gè)技術(shù)層出不群和加速創(chuàng)新的時(shí)代,一方面需要在自己的領(lǐng)域中不斷積累,形成核心競(jìng)爭(zhēng)力,就視頻編碼而言,包括架構(gòu)、算法或平臺(tái)等很多不同的層面,很少有人對(duì)所有的方面都很精通,對(duì)初入行的人來(lái)說(shuō)更是如此。面面俱道結(jié)果往往是蜻蜓點(diǎn)水,不如發(fā)揮自身特點(diǎn),專攻一技之長(zhǎng)。另一方面,也不能只顧低頭拉車,不抬頭看路。在不斷積累特長(zhǎng)的同時(shí),也要通過多種方式擴(kuò)展相關(guān)的知識(shí)體系,了解行業(yè)的上下左右。比如做編碼算法優(yōu)化的,要時(shí)刻關(guān)注新的平臺(tái)(下層變化)、新的架構(gòu)(上層變化)、新的應(yīng)用(左側(cè)變化)、新的通道(右側(cè)變化)。之所以強(qiáng)調(diào)這一點(diǎn),是因?yàn)楦黝I(lǐng)域都在進(jìn)步,隔壁老王沒歇著,一不留神,可能就被人旁通或者截胡了。舉個(gè)例子:近兩年深度學(xué)習(xí)在圖像超分辨率上取得很好的效果,編碼4K視頻的時(shí)候,可以通過先下采樣成HD然后編解碼,再通過后處理超分成4K。這個(gè)放在前幾年可能只在低碼率的應(yīng)用上有效果,但現(xiàn)在這個(gè)優(yōu)勢(shì)可能提升至中碼率了。這比直接在4K上做RDO優(yōu)化要省事的多。所以既要見自己,也要見天地、見眾生。
LiveVideoStack:能否推薦一些系統(tǒng)學(xué)習(xí)編解碼、多媒體開發(fā)的圖書、資料?
宋利:不說(shuō)具體資料,之前采訪中,大牛們已經(jīng)給的比較具體了。說(shuō)說(shuō)術(shù)層面的東西,總結(jié)為8個(gè)字:
勤學(xué):讀論文,泡社區(qū),看帖子;
苦練:多媒體領(lǐng)域最不缺參考代碼了,從jm/hm/jem, 到 ffmpeg, x264/265, vlc...,花時(shí)間練劍;
多想:這個(gè)類似于練心經(jīng),需要把知識(shí)和技能有機(jī)關(guān)聯(lián),形成自己的體系和toolbox,即插即用;
常聊:遇高人不能失之交臂,臉皮厚,多和高手討教,是進(jìn)步最快的方式
總之,『Never stop learning, learning from everyone. 』
-
編解碼器
+關(guān)注
關(guān)注
0文章
258瀏覽量
24225
原文標(biāo)題:宋利:編碼既是技術(shù)也是藝術(shù)
文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論