Netflix选择AVIF作为下一代图片压缩技术
Photo by?John-Mark Smith?from?Pexels
Netflix在情人節當天公開AVIF作為下一代圖片壓縮技術,同其宣布在Android端采用AV1視頻編解碼格式僅相隔一周時間。
?
編譯 /?Coco Liang
技術審校 / 蔣默邱澤
原文https://netflixtechblog.com/avif-for-next-generation-image-coding-b1d75675fe4
Netflix在今年情人節當天公布了下一代圖片壓縮編碼格式——AVIF,采用AVIF替換目前正在使用的JPEG編碼格式已經被Netflix正式提上了日程。
?
Netflix在自己的科技博客中表明,能夠替代JPEG的圖片編碼格式必須滿足以下三個條件:
可以被廣泛的支持;
有更高的壓縮效率;
有更多的特性。
通過對比其他幾種同樣為人熟知的圖片編碼格式:JPEG2000、WebP與HEVC,我們發現,AVIF在滿足Netflix以上三個要求的同時,相比其他圖片格式也確實是個better choice。
?
曾經JPEG 2000在標準推出并具體實現之后,并沒有得到很好的市場推廣(對比Google大力推崇的WebP、蘋果IOS系統支持的 HEVC)。JPEG2000在數字影院、指紋鑒別等小范圍內流行,但明顯缺乏更加強大、大眾化、商業化的軟件生態支持,故而并沒有實現真正的落地普及。
?
WebP 源于VP8,是Google 2010年開源出來的圖像編解碼算法,可以說是“含著金湯匙出生”,YouTube、Gmail、Google Play均應用WebP圖片格式。2018年之后,瀏覽器Edge、Firefox也宣布支持WebP格式。但就目前來說,WebP仍只被看作PNG更高效快捷的替代方案,而且Google的一些非開源的技術總是能神奇地阻礙圖片的分享。
?
HEVC是AVC(H.264)的后繼產品,性能優秀,你可以在Apple設備上將HEIF玩出各種花樣。可惜的是,這支大佬的“獨苗”存在專利費用。HEIF是存儲HEVC編碼的靜態圖像的容器,類似的存儲AV1編碼的靜態圖像的容器就是本篇的主角——AVIF。
?
AVIF由開源組織AOMedia開發,Netflix、Google與Apple均是該組織的成員。AVIF是基于AV1的新圖像格式,使用HEIF作為容器和AV1幀。
?
在圖像編碼格式領域, MPEG已將與編解碼器無關的通用圖像容器格式標準化,即ISO / IEC 23000-12標準(又稱HEIF)。 HEIF已用于存儲最著名的HEVC編碼圖像(以其HEIC變體形式),但也能夠存儲AVC編碼圖像甚至JPEG編碼圖像。
?
AOMedia最近擴展了此格式,以指定其AVIF格式的AV1編碼圖像的存儲。
?
而基本的HEIF格式提供了圖像格式所期望的所有典型功能,例如:支持任何圖像編解碼器,使用有損或無損模式進行壓縮的能力,支持各種采樣率和色彩深度等。此外,HEIF格式還允許一系列動畫幀的存儲(提供了人們期待已久且十分高效的GIF的的替代方法),以及指定Alpha通道的能力(在UI中得到了廣泛使用)。此外,由于HEIF格式借鑒了下一代視頻壓縮的經驗,因此該格式允許保留元數據,例如色域和高動態范圍(HDR)信息。
?
Netflix目前已經開源了一個基于Docker的框架,用于比較各種圖像編解碼器。主要功能包括:
?
使用Python 3進行代碼編排(具有并行化)和采用新一代注釋
易于重現結果
輕松控制目標質量范圍
?
最為人熟知的JPEG已經有近27年的歷史了,在技術快速更迭的移動互聯網時代,這個數字的使用年限已經可以被稱為元老級別了。雖然JPEG已經非常成熟,但仍存在硬件限制、實際使用過于復雜、只支持8bit、解碼過程相對復雜等劣勢,且不適用于流量費用昂貴的當下。
?
Netflix官方提供了幾組圖,對比了JPEG與AVIF圖片格式的實際效果。圖片都被轉換成了無損的PNG格式,以便于明顯的區分。
原始圖像
JPEG圖片,圖片大小20,429 bytes
AVIF圖片,圖片大小19,788 bytes
?
在第一組圖片中,可以明顯看出JPEG格式在天空,池塘以及屋頂上有非常明顯的塊狀效應。盡管屋頂上有些模糊和紋理丟失,但AVIF呈現的效果要好很多,至少不會出現塊陰影,且此時的AVIF有約59倍的壓縮性能。
JPEG圖片,圖片大小40,276 bytes
AVIF圖片,圖片大小39,819 bytes
?
這一組圖的圖片質量都有所提升,兩種編碼的圖片大小仍然接近。JPEG格式在天空中仍然有肉眼可見的遮擋偽像,并且在多個位置出現色度滲漏。而AVIF圖像與原始圖像相當,這里的壓縮系數為29倍。
?
同時,Netflix還提供了自家原創劇集的海報圖片,對比了JPEG和AVIF圖片編碼格式在實際應用中有何不同。
原始圖像
JPEG圖片,圖片大小80,562 bytes
AVIF圖片,圖片大小80,432 bytes
?
從這組圖中可以發現,JPEG編碼下,圖片中存在可見的條帶、塊狀效應,而AVIF格式看起來則非常接近原圖。
?
盡管AVIF提供了出色的壓縮效率,但它仍處于早期部署階段。AOMedia正在開發一個名為libavif的開源庫,該庫可以對AVIF圖像進行編碼和解碼,目的是簡化圖像社區中軟件的集成。類似的集成已經在各種瀏覽器(例如Google Chrome)中開始應用。同時,dav1d團隊也在不斷努力,希望AVIF圖像解碼盡可能快地落地。
?
畢竟,讓一種編碼標準通行起來從來都不是一朝一夕的事情,技術方向要考慮壓縮比、效果、速度、計算復雜度,推廣方面要考慮軟硬件生態支持、專利障礙、開源實現、市場營銷等等。
?
一周前,Netflix宣布了將在在Android上采用AV1視頻編解碼格式,現在他們也將很快在Android上測試AVIF圖像格式。
?
與此同時,Netflix也正在為UI處理HDR圖像,并計劃使用AVIF對這些HDR圖像資產進行編碼,嘗試使用JPEG 2000作為HDR圖像的壓縮格式,期待AVIF可以提供更出色的壓縮效果。
?
在全球互聯的時代,圖片格式越來越被希望是一個靈活開放的容器,私有技術也越來越被看作是開源的對立面。要真正推廣并普遍應用AVIF,可以說是道阻且長,但一個開放的圖片格式環境,卻永遠都值得期待。
相關鏈接
Netflix在安卓移動啟用AV1格式?較VP9編碼效率提升20%
AV1Ecosystem?Update:?November?2019
性能可期——Netflix與Intel優化SVT-AV1
Netflix:通過自適應音頻碼率提升音頻體驗
LiveVideoStackCon 2020
上海/北京/舊金山 講師招募
2020年LiveVideoStackCon將持續迭代,LiveVideoStackCon將分別在上海(6月13-14日),北京(9月11-12日)和舊金山(11月)舉行。歡迎將你的技術實踐、踩坑與填坑經歷、技術與商業創業的思考分享出來,獨樂不如眾樂。請將個人資料和話題信息郵件到 speaker@livevideostack.com 或點擊【閱讀原文】了解成為LiveVideoStackCon講師的權益與義務,我們會在48小時內回復。
總結
以上是生活随笔為你收集整理的Netflix选择AVIF作为下一代图片压缩技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 当SRS遇到K8s:如何构建海量推流源站
- 下一篇: 实时远程医学影像服务质量保障与网络优化