谷沉沉:专注视频技术十几年
和許多編解碼器玩家一樣,谷沉沉在視頻領(lǐng)域深入探索了很多年。在騰訊十年從間,歷經(jīng)各個產(chǎn)品的,但都沒有離開音視頻領(lǐng)域。這是『下一代編解碼器』系列采訪的第7篇,LiveVideoStack采訪了騰訊微信多媒體團(tuán)隊專家研究員谷沉沉,向我們講述了自己的“音視頻”十幾年。
策劃 / LiveVideoStack
責(zé)編 / 包研
LiveVideoStack:請簡要介紹下自己,以及目前主要的工作方向,對哪些技術(shù)或領(lǐng)域感興趣?
谷沉沉:謝謝LiveVideoStack的采訪。我目前在騰訊微信多媒體團(tuán)隊任專家研究員,負(fù)責(zé)微信視頻通話、朋友圈視頻/圖片、微信視頻圖片消息等業(yè)務(wù)相關(guān)的視頻圖像技術(shù)研究和應(yīng)用開發(fā),涉及的技術(shù)包括視頻編解碼、圖像處理、視頻傳輸?shù)确矫妗?/span>
我做視頻技術(shù)是從2004年在學(xué)校做課題研究開始的,當(dāng)時在ViLab和JDL實驗室主要做AVS, H264 SVC等視頻編碼標(biāo)準(zhǔn)方面的學(xué)術(shù)研究,加入騰訊后的這十年時間里曾參與過PC QQ、QQGame視頻斗地主、手機(jī)QQ,微信等產(chǎn)品的視頻通話功能,以及騰訊視頻播放器的技術(shù)研發(fā)工作。很榮幸這十幾年來能一直專注堅持在自己喜歡的視頻技術(shù)上,也因此能在這個方向上獲得持續(xù)深入的積累。
LiveVideoStack:能否簡要介紹下,從2012年微信視頻通話服務(wù)開通到現(xiàn)在,微信視頻編解碼器的演進(jìn)。
谷沉沉:視頻編解碼是影響視頻通話質(zhì)量的非常關(guān)鍵的技術(shù)環(huán)節(jié),微信視頻通話不斷發(fā)展的這五年時間里,其中的視頻編解碼器大致也經(jīng)歷了三個階段的技術(shù)突破:
第一個階段是編解碼速度優(yōu)化,為了讓視頻通話在移動設(shè)備上跑起來。在2010-2012年我們研發(fā)第一個微信視頻通話版本的這段時期,移動設(shè)備的計算能力比較低,單核主頻1.0GHz的手機(jī)已經(jīng)是市面上性能比較好的手機(jī)了,而視頻編碼就是整個視頻通話過程中計算資源消耗最大的瓶頸模塊,所以我們當(dāng)時的工作重點就是視頻編解碼速度優(yōu)化,通過快速算法研究、ARMv6/ARMv7平臺匯編優(yōu)化、代碼流程優(yōu)化等手段提高編解碼速度,使壓縮效率和編解碼速度達(dá)到最佳平衡,當(dāng)時我們的視頻編解碼器在同等壓縮效率下的編解碼速度就達(dá)到了業(yè)界領(lǐng)先水平,保證視頻通話在當(dāng)時各種主流設(shè)備上都能較為流暢地“跑起來”。
第二個階段的重點是適應(yīng)視頻通話傳輸需求的碼率控制優(yōu)化。隨著移動設(shè)備硬件性能的發(fā)展,性能較好的設(shè)備可以支持更高幀率的視頻通話,視頻的發(fā)送數(shù)據(jù)量也相應(yīng)增大,網(wǎng)絡(luò)傳輸?shù)膯栴}就逐步顯現(xiàn),短時較大的數(shù)據(jù)量沖擊會給很多移動網(wǎng)絡(luò)帶來丟包、延時等問題,造成視頻卡頓,而視頻通話實時性要求較高,通常沒有較大的緩沖,這就要求視頻編碼生成的碼流數(shù)據(jù)量盡可能平穩(wěn)。我們針對這種實時視頻傳輸需求,自主完成了大量的碼率控制算法研究工作,從每秒碼率平穩(wěn)到每半秒數(shù)據(jù)量平穩(wěn),再到降低單幀數(shù)據(jù)量沖擊,從常規(guī)幀率到極低幀率下的碼率控制……目前我們的編碼器在同等壓縮效率和編碼速度下,碼率平穩(wěn)性和時域質(zhì)量平穩(wěn)性都是處于業(yè)界領(lǐng)先水平的,極大地保障了視頻數(shù)據(jù)流暢地在移動網(wǎng)絡(luò)上傳輸。
第三個階段是為了提升視頻質(zhì)量的壓縮效率提升和主觀質(zhì)量優(yōu)化。隨著移動設(shè)備性能的進(jìn)一步發(fā)展,近兩年市場上出現(xiàn)了很多4核、8核的手機(jī),許多設(shè)備可能比早年很多PC機(jī)的CPU處理能力都要強(qiáng),這就允許視頻編碼器采用更高的計算復(fù)雜度來提高壓縮效率。我們在原來快速檔次的基礎(chǔ)上,通過研究高復(fù)雜度的高壓縮效率算法,以及基于視覺特征的主觀質(zhì)量提升算法等,建立了高壓縮率檔次,在高性能設(shè)備上采用這個高壓縮率檔次,提高同等帶寬下的主觀視頻質(zhì)量。
目前,我們?nèi)匀辉诓粩嘌芯繃L試新的視頻編解碼技術(shù),同時也持續(xù)研究優(yōu)化與視頻編解碼密切相關(guān)的前后處理、容錯保護(hù)、網(wǎng)絡(luò)適配等模塊技術(shù),努力做好視頻通話每一個環(huán)節(jié)的技術(shù)細(xì)節(jié),希望以盡可能低的帶寬、盡可能低的功耗,讓不同網(wǎng)絡(luò)和設(shè)備環(huán)境下的數(shù)億微信用戶都能體驗到盡可能最優(yōu)的視頻通話質(zhì)量。
LiveVideoStack:微信視頻通話、圖片壓縮、朋友圈視頻壓縮這些不同應(yīng)用中的編碼器有什么不同的特點?
谷沉沉:我們微信多媒體團(tuán)隊通過多年的技術(shù)積累,自主研發(fā)了多媒體應(yīng)用綜合引擎——WAVE(微信多媒體引擎,WeChat Audio & Video Engine)。WAVE引擎最早應(yīng)用于微信視頻通話功能,經(jīng)過多年的發(fā)展,目前WAVE引擎已經(jīng)完整覆蓋語音、圖片、視頻等各種媒體文件的編解碼和前后處理,廣泛應(yīng)用于微信的音視頻通話、多人通話、多媒體消息、朋友圈、公眾平臺等各項功能。WAVE引擎每天支撐了數(shù)億的視頻通話、數(shù)十億的視頻播放、數(shù)百億的圖片查看,在編解碼速度、壓縮效率上都經(jīng)過了微信億萬用戶的考驗,是目前業(yè)界領(lǐng)先的多媒體引擎。
WAVE引擎的底層包含了實時通話(RealTime Profile)、圖片壓縮(Picture Profile)、低復(fù)雜度文件壓縮(LowComplexity Proifle)和高壓縮率文件壓縮(HighEfficiency Profile)三個不同檔次的自研視頻圖像編碼器,以適應(yīng)視頻通話、圖片壓縮、客戶端和后臺視頻文件壓縮三類不同應(yīng)用:
視頻通話需要保證視頻數(shù)據(jù)的實時傳輸,同時還有碼率平穩(wěn)性等傳輸適應(yīng)性上的要求,所以只能采用低延時、低復(fù)雜度的RealTime Profile編碼器,壓縮效率相對視頻文件壓縮也較低。
圖片壓縮包含靜態(tài)圖片壓縮和動態(tài)圖片壓縮兩類應(yīng)用,動態(tài)圖片壓縮類似視頻壓縮,靜態(tài)圖片壓縮則可采用視頻壓縮中的I幀編碼技術(shù),由于圖片壓縮沒有實時性要求,所以Picture Profile編碼器復(fù)用了視頻文件壓縮中的部分技術(shù)。在此基礎(chǔ)上,該檔次還加入了圖片格式相關(guān)特性的支持,比如對圖片的透明通道壓縮,由于其內(nèi)容特點不同于自然視頻,我們采取特殊的編碼算法來提升壓縮效率,加快編碼速度,另外通過設(shè)計合適的圖片容器格式支持不同應(yīng)用場景的圖片顯示需求,以及各種圖片格式之間高效互轉(zhuǎn)等。
視頻文件壓縮有客戶端和后臺壓縮兩類應(yīng)用場景。由于客戶端計算能力有限,采用了低復(fù)雜度的LowComplexity Proifle編碼器,壓縮效率低于后臺視頻文件壓縮,但是由于允許一定的延時和緩沖,壓縮效率比實時通話檔次高。后臺視頻文件壓縮由于計算資源充足,同時又沒有嚴(yán)格的延時要求,因此采用HighEfficiency Profile編碼器,包含了各種高復(fù)雜度、高壓縮效率視頻編碼算法,以盡可能提高壓縮效率,節(jié)約海量視頻文件傳輸?shù)膸挸杀尽?/span>
關(guān)于編解碼器
LiveVideoStack:什么樣的編解碼器是一個好的編解碼器?視頻質(zhì)量、碼率、算法復(fù)雜度、對數(shù)據(jù)丟失或錯誤的魯棒性等。
谷沉沉:不同應(yīng)用場景對編解碼器的性能要求有所不同,對我們互聯(lián)網(wǎng)視頻應(yīng)用來說,編解碼器的關(guān)鍵指標(biāo)概括起來有三點——編碼效率、編解碼速度和特性支持:編碼效率可以用同等視頻質(zhì)量下的視頻碼率節(jié)省或增加百分比來表示,業(yè)界一般用PSNR或者SSIM等客觀指標(biāo)來表示視頻質(zhì)量,用BD-Rate來衡量編碼效率對比;編解碼速度與算法本身復(fù)雜度和實現(xiàn)方式、實現(xiàn)優(yōu)化水平都有關(guān)系;特性支持比如流媒體點播和視頻文件播放時的隨機(jī)訪問,實時通話應(yīng)用中的傳輸魯棒性、碼流數(shù)據(jù)量平穩(wěn)性等。
但這三方面的指標(biāo)之間是存在矛盾的,比如編碼效率的提升往往伴隨算法復(fù)雜度的提升,這樣編碼速度就會下降;一些特性支持也會影響編碼效率,舉一個最簡單的例子,I幀解碼不依賴其他幀,在傳輸時前面的幀數(shù)據(jù)丟失不影響I幀的解碼,所以傳輸時比P幀具有更強(qiáng)的魯棒性,但是I幀的壓縮效率遠(yuǎn)不如P幀。因此,一個好的編解碼器是要適應(yīng)應(yīng)用需求,做到這三個指標(biāo)的合理平衡。
LiveVideoStack:當(dāng)下對于編解碼器的研發(fā),業(yè)界主要的研究方向是什么?其難點是什么?有沒有一些典型或您十分看好的應(yīng)用場景?
谷沉沉:我覺得一個在成熟的互聯(lián)網(wǎng)產(chǎn)品中使用的視頻編碼器,其完整的研發(fā)過程一般包括三個階段,每個階段的研究工作會有不同的側(cè)重點:
第一階段是標(biāo)準(zhǔn)/格式的制定。這個階段主要是一些標(biāo)準(zhǔn)組織或公司制定通用的視頻編碼標(biāo)準(zhǔn),比如MPEG、H.26x、AVS、VPx、AV1等一系列標(biāo)準(zhǔn),當(dāng)然也有一些公司會根據(jù)自己的需求制定私有的編碼格式,這個階段主要是新的編碼框架和編碼算法研究,每一代的視頻編碼標(biāo)準(zhǔn),壓縮效率不斷提高,當(dāng)然計算復(fù)雜度也相應(yīng)的增加,這是跟硬件的計算性能不斷提升相適應(yīng)的。在標(biāo)準(zhǔn)制定過程中,除了基準(zhǔn)檔次外,往往還有針對不同應(yīng)用場景的擴(kuò)展檔次,比如屏幕內(nèi)容編碼、立體視頻編碼、多視點視頻編碼、全景視頻編碼、可伸縮視頻編碼等。近幾年工業(yè)界各類視頻應(yīng)用的飛速發(fā)展離不開標(biāo)準(zhǔn)技術(shù)的進(jìn)步,同時標(biāo)準(zhǔn)的制定也為學(xué)術(shù)研究提供了很好的平臺,很多學(xué)術(shù)研究都是基于最新的視頻編碼標(biāo)準(zhǔn),而一些優(yōu)秀學(xué)術(shù)研究成果也會加入到標(biāo)準(zhǔn)或者影響標(biāo)準(zhǔn)發(fā)展的進(jìn)程,比如最近比較流行的基于深度學(xué)習(xí)的視頻圖像編碼,在學(xué)術(shù)界和標(biāo)準(zhǔn)組織上都是熱點研究方向。
第二個階段是實現(xiàn)優(yōu)化階段。這個階段的實現(xiàn)優(yōu)化是在遵循特定標(biāo)準(zhǔn)/格式的前提下進(jìn)行,主要有兩類工作方向,一類是通過快速算法和特定平臺的代碼實現(xiàn)優(yōu)化來提升編解碼速度,同時控制壓縮效率損失,如常見的x264、x265開源工程就是H.264/AVC、H.265/HEVC標(biāo)準(zhǔn)的軟件編碼優(yōu)化實現(xiàn),此外還有一些公司自研優(yōu)化實現(xiàn)的非開源商業(yè)編解碼器,這些優(yōu)化實現(xiàn)的編解碼器編碼速度相對標(biāo)準(zhǔn)參考軟件往往能提升數(shù)十倍甚至百倍,可以滿足各種視頻編解碼應(yīng)用的編解碼速度要求。另一類是針對不同的應(yīng)用場景做一些定制的特性需求,比如x264中的multi-pass、mb-tree等選項,在離線視頻文件壓縮場景下,壓縮效率顯著提升;而前面提到的微信視頻通話中的自研碼率控制算法優(yōu)化,也是針對視頻通話應(yīng)用中的視頻實時傳輸?shù)囊蠖ㄖ频拇a率控制算法,提高視頻發(fā)送數(shù)據(jù)量的平穩(wěn)性,同時保證時域質(zhì)量的平穩(wěn)性。
第三個階段是打磨穩(wěn)定。雖然前兩個編解碼器研發(fā)階段中都會驗證編解碼匹配、碼率控制準(zhǔn)確性等一系列編碼器離線測試,但是在視頻編解碼器合入產(chǎn)品應(yīng)用之后,還是會出現(xiàn)一些編解碼器離線測試時難以發(fā)現(xiàn)的缺陷問題,特別是在海量用戶環(huán)境下,任何一個極低概率出現(xiàn)的問題實際已經(jīng)影響了千萬用戶,因此在這一階段的主要任務(wù)就是提升編解碼器的穩(wěn)定性,進(jìn)一步完善、提升編解碼器的性能,保障視頻服務(wù)的穩(wěn)定運營。比如在微信視頻通話中,我們會根據(jù)海量用戶通話反饋的錯誤信息,對解碼器做一些魯棒性的保護(hù),在遇到不能正常解碼的“臟”數(shù)據(jù)能及時終止解碼,避免crash發(fā)生等。另外,也能從線上產(chǎn)品應(yīng)用中發(fā)現(xiàn)一些細(xì)節(jié)研究方向,比如前面提到我們自研的極低幀率下碼率控制算法,就是在我們的編碼器上線后弱網(wǎng)環(huán)境下視頻通話時發(fā)現(xiàn)的,針對這些實際問題進(jìn)行研究、解決問題,使我們的編碼器支持場景進(jìn)一步完善,性能進(jìn)一步提升。經(jīng)過這一階段打磨穩(wěn)定的編碼器,才能支撐起海量用戶穩(wěn)定的視頻服務(wù)。
LiveVideoStack:對于應(yīng)屆生或從其他研發(fā)領(lǐng)域轉(zhuǎn)行學(xué)習(xí)編解碼、多媒體開發(fā)的技術(shù)人,有哪些建議?能否推薦一些系統(tǒng)學(xué)習(xí)編解碼、多媒體開發(fā)的圖書、資料?
谷沉沉:關(guān)于視頻編解碼技術(shù)學(xué)習(xí)的方法,我覺得對不同學(xué)習(xí)需求的技術(shù)人可以有不同的方法:
首先,對于希望快速搭建包含視頻編解碼技術(shù)的應(yīng)用開發(fā)者來說,x264、x265、FFmpeg等開源軟件提供了視頻編解碼器非常好的實現(xiàn)方案,可以通過查閱接口文檔、調(diào)用demo、閱讀代碼等快速了解開源軟件的使用方法,完成視頻應(yīng)用的基本開發(fā)任務(wù)。
進(jìn)一步地,對于希望學(xué)習(xí)視頻技術(shù)的基礎(chǔ)知識,以進(jìn)一步優(yōu)化視頻業(yè)務(wù)體驗的技術(shù)研發(fā)人員來說,需要首先掌握一些視頻圖像基礎(chǔ)知識,可以從網(wǎng)絡(luò)上搜索到,也可以閱讀數(shù)字圖像處理、數(shù)據(jù)壓縮相關(guān)的書籍以更加系統(tǒng)的學(xué)習(xí)掌握。而像H.264/AVC、H.265/HEVC這樣已有較為成熟的標(biāo)準(zhǔn)技術(shù),網(wǎng)上很多技術(shù)文章、overview類型的學(xué)術(shù)論文等都可以幫助快速了解基本的技術(shù)思路,另外,加入一些技術(shù)論壇、郵件群組等加強(qiáng)與同行互相交流也是學(xué)習(xí)提升技術(shù)的一個很好的捷徑。如果在工作中要準(zhǔn)確了解具體的技術(shù)細(xì)節(jié),就需要查閱標(biāo)準(zhǔn)文檔、標(biāo)準(zhǔn)參考軟件。
更深一層,對于希望長期從事視頻技術(shù)研發(fā)的人來說,在掌握上述基本知識的基礎(chǔ)上,還可以定期閱讀國際視頻領(lǐng)域相關(guān)的知名學(xué)術(shù)會議、期刊文獻(xiàn)等,以及跟蹤標(biāo)準(zhǔn)組織的工作進(jìn)展,查閱標(biāo)準(zhǔn)技術(shù)提案,獲得前沿的技術(shù)進(jìn)展信息跟蹤標(biāo)準(zhǔn)組織的會議情況。這是一個長期的積累過程,初次接觸閱讀標(biāo)準(zhǔn)技術(shù)提案可能會有點困難,因為提案不像論文那樣具有對一個問題的完整描述,有時一個提案只是對上次會議上某個提案結(jié)果的一個優(yōu)化,如果對這個提案技術(shù)背景不太了解,就需要追溯查閱前一次甚至前面多次的提案。這就好像從“半路”開始看電視劇,或者中間有一段時間不看了,再來繼續(xù)看就需要翻出前面幾集了解一下劇情,但是當(dāng)跟蹤了幾次會議之后,如果對技術(shù)感興趣的話也可能會像看電視劇一樣上癮,每一次會議之后都會有一種好奇心迫不及待地想去看看提案。
雖然視頻編解碼技術(shù)已經(jīng)發(fā)展了數(shù)十年,但無論是學(xué)術(shù)界、標(biāo)準(zhǔn)組織還是工業(yè)界,依然還有很多需要深入研究、也很有意思的方向,歡迎感興趣的同行朋友加入我們微信多媒體團(tuán)隊,一起來為數(shù)億微信用戶提升各類視頻圖像業(yè)務(wù)體驗!
LiveVideoStack招募全職技術(shù)編輯和社區(qū)編輯
LiveVideoStack是專注在音視頻、多媒體開發(fā)的技術(shù)社區(qū),通過傳播最新技術(shù)探索與應(yīng)用實踐,幫助技術(shù)人員成長,解決企業(yè)應(yīng)用場景中的技術(shù)難題。如果你有意為音視頻、多媒體開發(fā)領(lǐng)域發(fā)展做出貢獻(xiàn),歡迎成為LiveVideoStack社區(qū)編輯的一員。你可以翻譯、投稿、采訪、提供內(nèi)容線索等。
通過contribute@livevideostack.com聯(lián)系,或在LiveVideoStack公眾號回復(fù)『技術(shù)編輯』或『社區(qū)編輯』了解詳情。
總結(jié)
以上是生活随笔為你收集整理的谷沉沉:专注视频技术十几年的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小程序音视频能力技术负责人解读“小程序直
- 下一篇: 美国36%流量背后 Netflix CD