編譯 / Coco Liang
技術審校 / 蔣默邱澤
原文
https://netflixtechblog.com/avif-for-next-generation-image-coding-b1d75675fe4Netflix在今年情人節當天公布了下一代圖檔壓縮編碼格式——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%
- http://mp.weixin.qq.com/s?__biz=MzU1NTEzOTM5Mw%3D%3D&chksm=fbda42b2ccadcba46860ed9fed455a5062c7ef9cc2fa0af2cef31043b19b5e95159662401638&idx=1&mid=2247494300&scene=21&sn=9580d86f9cd96a81428cad999c5fb5b2#wechat_redirect AV1Ecosystem Update: November 2019
- 性能可期——Netflix與Intel優化SVT-AV1
- Netflix: 通過自适應音頻碼率提升音頻體驗
————————————————
版權聲明:本文為CSDN部落客「LiveVideoStack_」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:
https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/104404148「視訊雲技術」你最值得關注的音視訊技術公衆号,每周推送來自阿裡雲一線的實踐技術文章,在這裡與音視訊領域一流工程師交流切磋。