40天,编码器效率优化100倍,字节跳动这样拿下国际比赛4项第一
如何看在線視頻更省流量?近幾年,人們觀看各類視頻越來越流暢了。背后除了網絡基礎設施的提升之外,一項“黑科技”起到了關鍵的作用:視頻編碼。這也是字節跳動技術團隊研究的重要領域。
在視頻編碼權威賽事MSU 2020中,字節跳動自主研發的「BVC2.0」編碼器首次亮相,就在離線(1fps)賽道的全部4項評分標準中包攬了第一名。
BVC2.0編碼后的視頻大小平均可以達到比賽基準線編碼器「x265」的66%,而且視頻還能更清晰。
這樣,即使是網速太慢或者手機流量不夠的情況下,你也可以用同樣的網速/流量,看到清晰度高一個檔次的視頻,而下載到手機里的視頻,也可以更省存儲空間。
BVC2.0研發團隊base在美國西岸的San Diego和中國的北京、上海、杭州四個城市。團隊負責人張莉博士說,這款全新的編碼器未來還會在抖音、西瓜視頻等字節跳動全系視頻產品上應用。
有了這樣的技術,除了節省存儲空間、降低帶寬壓力,由于傳輸速度的提高,你期待的云游戲、VR應用,也可以更快地普及。
全球頂級賽事4項第一
MSU是指俄羅斯莫斯科國立大學(Mosow State University),從2005年起,這所學校每年定期舉辦的視頻編碼器大賽逐漸成為了該領域的權威賽事。
今年的參賽隊伍包括百度、阿里、騰訊、Google、Intel、MulticoreWare、Mozilla等知名公司,絕大部分參賽隊伍在視頻編碼器領域都有豐富的技術積累,字節跳動團隊還是第一次參加此項比賽。
參賽隊伍在提交了自己的編碼器后,比賽主辦方會使用統一的Intel Core i7-8700K的計算機在50個場景、內容皆不同的高清視頻上進行測試比較,其中有《刺客信條》的預告片、有美國的各類綜藝節目和比賽、還有中國紀錄片《出路》中的片段。
測評比較之后,MSU官方給出的成績是這樣的:
在「離線(1 fps)」賽道中,BVC2.0在VMAF(視頻多方法評價融合指標)和PSNR avg.MSE(峰值信噪比的一種計算方式)兩項評分標準下拿到了第一名的成績。
柱狀圖越短,意味著編碼后文件體積越小、比賽成績越好
在SSIM(結構相似性)和PSNR avg.log(峰值信噪比的另一種計算方式)兩項中,由于和另一款產品在實際應用中無差別,也獲得了并列第一的成績。
也就是說,在參賽的多種編碼器中,在壓縮到同樣大小的情況下,BVC2.0是人眼看起來畫質最清晰、噪點最小的。
通往「又快又好」之路
BVC2.0,全名叫做Bytedance Video Codec 2.0,它的開發者來自字節跳動先進視頻團隊(Advanced Video Group,AVG)。
這個組建不久的團隊研發實力強大,已經在ICIP、AAAI等頂會/頂刊上發表了29篇論文,曾榮獲ICIP 2019和DCC 2020 的最佳論文候選。
團隊負責人張莉博士畢業于中科院計算所,北京大學博士后出站后,曾在高通擔任資深工程師,在視頻編碼方向有十余年的經驗,擁有美國授權專利140+項,視頻編碼標準技術提案450+項,其中半數以上都被采納,Google Scholar顯示H-index高達29,也就是說至少有29篇論文被引用了29次以上,在學術圈兒有廣為認可的貢獻。
BVC2.0的開發最早開始于2018年11月,當時專門做這個項目的開發者只有1個人,從頭開始構建框架;到2019年底才開始大規模開發,在今年的MSU上第一次對外公布。
對齊所有編碼工具之后,正式的參賽準備開始于今年4月底。MSU的比賽對編碼器速度和效果都有所要求,離線(1 fps)賽道上,參賽隊伍提交的編碼器速度必須大于每秒處理1幀1080p高清圖像。
但最開始,當BVC2.0的開發團隊對齊了所有工具,達到了不錯的編碼效果,卻發現目前的編碼器運行速度離「每秒處理1幀圖像」的速度差了足足100多倍。
「快」和「好」是編碼器性能的兩極。這時,開發團隊可以實現「快但不夠好」,也可以實現「好但不夠快」。
眼看6月就要提交編碼器參賽了,離「又快又好」還有巨大的差距。在編碼器開發這條漫長的大道上,其他公司的參賽團隊都有多年的技術積累,但AVG團隊才剛剛啟程。能不能按時提交參賽,張莉心里也沒有底。
和其他公司競爭的,是只有10個人的團隊,而且他們同時還要兼顧其他開發任務,無形的壓力沿著網線在每個人所在的城市之間傳遞。
因為團隊分布在中美兩地,美國又正處于疫情期間的居家辦公階段,開發團隊整體的協同都是通過飛書視頻會議進行的,每過2天,團隊對齊一次進度,迭代一個新的版本。
因為太平洋兩岸的時差,中國團隊必須早早來到公司,而美國團隊必須在晚上加班,才能碰到一起討論技術細節,明確接下來的方案。而整個參賽期間,團隊成員放棄了假期,也幾乎沒有休息時間,不斷磨合修改,才最終呈現冠軍級的成果。
為了保證編碼器「又好又快」,團隊必須優化編碼器中每個工具組件的性能,讓每個工具在保證效果的同時保證速度。一旦發現哪個工具性能不夠好,就要分析潛在的原因,再做針對性的改進。
“每一個工具加進去的時候,性能損失多少,我們是有目標的。如果你沒有達到這個目標,這個工具是不能進去的。”張莉說。
就這樣,BVC2.0開發團隊的同學們在每一個工具上追求極致,想盡各種辦法優化,不僅要看前人的論文,更需要做出原發性的創新算法,才能實現保證1 fps速度的基礎上實現更好的效果。
就這樣,40多天之后,BVC2.0開發成功,團隊向比賽主辦方提交了參賽版本,并在主辦方測評后拿下4項第一名。
“很多公司的編碼器優化了好幾年,我們第一次亮相,優化40天就拿到了4個第一名。換成一般的團隊,哪怕最開始借助開源平臺,做出這樣的編碼器可能也要一年左右。”團隊的專業、極致和高效協作,實現了業界難得的開發效率,張莉對此十分自豪。
協作的意義
雖然拿到了4個第一名,但在她看來,贏得名次的意義遠遠小于提升團隊協作的意義,有團隊同學說,這是一次真正意義上的團隊的作戰演練。
AVG團隊并不只單純開發BVC2.0編碼器,同時還要開發和維護其他多個編碼器和解碼器,來支持公司包括抖音、西瓜視頻等在內的幾乎所有視頻產品。
比賽期間,參賽的同學全心全意投入開發,而業務上源源不斷的需求則由其他同學分擔。張莉坦言:“沒參賽的同學做了更多工作。”
而更深層意義的協作體現在組織的結構上。
視頻編碼并不是簡單的壓縮大小,更要考慮行業通用的標準。
在字節跳動的體系中,視頻編碼的工程和標準兩項職能同屬AVG團隊,溝通效率更高,合作也更順利。
在張莉看來,“對標準理解比較深刻的同學,懂得技術背后的原理,能提出有效的建議;而做軟件實踐的同學在工程上有豐富的經驗,兩者相互融合,可以做得更好。”
也正是因此,在張莉看來,團隊協作是這場比賽成功的基石。這不僅體現在整個字節跳動對基礎創新的持續投入上,也體現在AVG團隊沒有參賽的同學主動承擔任務的勇氣與決心之上,雖然和其他公司相比,團隊成立時間不長,但也在視頻壓縮標準領域做了充足的技術儲備,擁有更先進的編碼優化和處理技術。
現在,AVG團隊已經在著手繼續測試BVC2.0,準備用到抖音、西瓜視頻等產品上了。這些創新被應用到產品上之后,將給億萬用戶帶來更好的視頻產品體驗,通過降低創作的成本進一步激發創意。
已經做了十五年視頻編碼技術的張莉對產出懷著更高的期待,她相信隨著編碼器的不斷演進,未來一定有一天可以觸發新的視頻相關應用,出現新的產品形態和新的增長點。
參考資料:
MSU 2020官方網站
https://www.compression.ru/video/codec_comparison/hevc_2020/main_report.html
↓點擊投遞,加入字節跳動技術團隊!
總結
以上是生活随笔為你收集整理的40天,编码器效率优化100倍,字节跳动这样拿下国际比赛4项第一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AIX存储管理之对物理卷的增删改操作
- 下一篇: canvas圆球碰撞检测