目錄
背景
什么是HEIF?
小結
什么是AVIF?
有什么好處?
為什么要使用新的影像格式?
采用AV1和AVIF
注意事項
關于基準測驗的注意事項
今天如何以及何時啟用AVIF?
背景
上一篇檔案主要講了一下ImageX支持的圖片壓縮格式,看起來壓縮率比較高,但是有些同學會問這些格式和編碼方式有什么不同,所以,本篇檔案主要講一下圖片格式和圖片編碼相關的科普類說明;
什么是HEIF?
來自wiki上的說明
高效率影像檔案格式(英語:High Efficiency Image File Format, HEIF;也稱高效影像檔案格式[1])是一個用于單張影像或影像序列的檔案格式,它由動態影像專家小組(MPEG)開發,并在MPEG-H Part 12(ISO/IEC 23008-12)中定義,
HEIF規范也定義了高效率視頻編碼(HEVC)編碼的內嵌影像和HEVC編碼的影像序列的存盤方式,其中以受約束的方式應用幀間預測,
- 存盤單個或多個影像及其縮略圖
- 存盤連拍照片
- 支持同時捕獲視頻和靜止影像,即將靜止影像和定時影像序列存盤在同一檔案中
- 高效地表示影片和動態靜圖
- 存盤焦點堆疊和曝光堆疊到同一個容器檔案
- 存盤從其他影像檔案派生的影像,無論是以非破壞性影像編輯操作為目的派生的影像,還是作為預先計算派生的影像
- 支持存盤其他媒體,例如音頻和定時的文本,將定時的影像序列存盤在同一個容器檔案中,并且同步播放,
HEIF本身具備很多很多可玩的特性,在這里我們對一些格式做一些比較:
| HEIF (.heic) | JPEG/Exif | PNG | GIF (89a) | WebP | |
|---|---|---|---|---|---|
| 格式和可擴展性 | |||||
| 基本容器檔案格式 | ISOBMFF | TIFF | - | - | RIFF |
| 有損壓縮 | 是 | 是 (JPEG) | 否 | 否 | 是 (VP8) |
| 無損壓縮 | 是 | 是 (TIFF Rev 6.0) | 是 (PNG) | 是 (GIF) | 是 (VP8L) |
| 可擴展至其他編碼格式 | 是 | 是 | 否 | 否 | 否 |
| 元資料格式(在內部、頂部) | Exif, XMP, MPEG-7 | Exif | - | - | Exif, XMP |
| 可擴展至其他元資料格式 | 是 | 否 | 否 | 否 | 否 |
| 其他媒體型別(音頻、文本等) | 是 | Audio | 否 | 否 | 否 |
| 多影像特性 | |||||
| 同一個檔案中多個影像 | 是 | 否 | 否 | 是 | 是 |
| 影像序列/影片 | 是 | 否 | 否 | 是 | 是 |
| 影像編碼 | 是 | 否 | 否 | 否 | 否 |
| 派生影像 | |||||
| 多次90度旋轉 | 是 | 是 | 否 | 否 | 否 |
| 裁剪 | 是 | 否 | 否 | 否 | 否 |
| 平鋪/堆疊 | 是 | 否 | 否 | 否 | 是 |
| 可擴展至其他編輯操作 | 是 | 否 | 否 | 否 | 否 |
| 輔助圖片資訊 | |||||
| 透明度(alpha通道) | 是 | 否 | 是 | 否 | 是 |
| 深度映射 | 是 | 否 | 否 | 否 | 否 |
| 縮略圖 | 是 | 是 | 否 | 否 | 否 |
從這里,我們也知道,蘋果公司優先在手機里支持了heic格式,相比于其他圖片格式有太多的優點了;在iphone 使用優點如下:
- 壓縮率極大提升,照片型別圖片同樣質量是jpeg的一半尺寸,相當于對于拍照來說iPhone X,7和8的有效存盤空間是128G-512G,
- 對于一些色塊,線條型別圖片壓縮比例更是驚人,而且完全沒有jpeg那種邊緣噪點,有時候只需要五分之一的空間,
- 支持高色深,10-bit,12-bit內容,這是HDR普及所必須的,jpeg完全不行必死無疑,另外iphone已經可以拍這些高色深格式的HDR圖片,安卓機則不行,當然這里在android P+以上版本陸續可以支持heif格式的影像了,
- 支持透明度
- 支持多通道,比如iPhone的人像模式拍出來是兩張圖,其中原圖附帶了景深通道,第三方應用可以直接呼叫做出自定義的虛化效果,而安卓機只能是通過檔案命名,速度慢,檔案亂,沒法匯出,不支持第三方應用,
- 支持多檔案,同一個檔案里可以有多張圖片,比如上述原圖和渲染好的虛化圖,還可以有視頻動圖,安卓再次撲街,完全不行,只能嘗試放在一個檔案夾里,
- 支持多幀復合壓縮,比如上述虛化圖和原圖,都不需要存盤兩張圖,對比壓縮以后只存盤一部分虛化背景就可以,又因為背景被虛化資訊量很小,拍人像模式的照片占用空間更是遠遠低于安卓機
小結
小結:
從昨天的的文章對比的:https://blog.csdn.net/weixin_44643524/article/details/112550247 能看到 ImageX 這個云服務支持的heic 壓縮率也是極高的;不過目前,從動圖這塊看,ImageX 家的動圖支持的還是非常不錯的,我有去嘗試過其他家自研的格式,比如騰訊的TPG、快手KPG還有京東的一個圖片格式來看,自研的圖片格式壓縮效果確實好于開源格式,不過缺點也明顯一般這些格式都需要配合SDK或者解碼庫使用;
HEIF 這個格式的優勢,隨著新版的作業系統的普及Android P 以上版本和 iOS 11+ 以上作業系統的普及,系統默認支持heif 格式的影像指日可待了;
下面主要聊聊AVIF
什么是AVIF?
AVIF是HEIF ISO標準和Mozilla,Xiph,Google,Cisco等許多公司的免版稅AV1編解碼器的組合,
當前,JPEG是Web上最流行的影像格式,它的使用年限非常出色,而且由于其出色的兼容性,它很可能會在未來幾年保持流行,以前有很多嘗試替換JPEG的嘗試,例如JPEG 2000,JPEG XR和WebP,但是,這些格式僅提供了適度的壓縮改進,并不總是在影像質量上勝過JPEG,AVIF的壓縮率和影像質量要比所有其他方法都要好,而且差距很大,
有什么好處?
平均網站帶寬的一半以上用于影像,改進的影像壓縮可以節省帶寬并提高Web的整體性能,AVIF中的壓縮效果非常好,影像可以縮小到JPEG和WebP的一半大小
為什么要使用新的影像格式?
AVIF要做的一件大事就是修復了WebP的最大缺陷,WebP已有10多年的歷史了,AVIF是WebP格式的主要升級,這兩種格式在技術上相關:它們都基于VPx系列的視頻編解碼器,WebP使用舊的VP8版本,而AVIF基于AV1,
WebP限于8位顏色深度,并且在其最佳壓縮操作模式下,它只能存盤影像解析度的一半的顏色(稱為色度二次采樣),這將導致飽和色彩的邊緣在WebP中被弄臟或像素化,AVIF支持全解析度的10位和12位色彩以及高動態范圍(HDR),
![]() | JPEG格式 |
![]() | WebP |
![]() | WebP(銳化YUV選項) |
![]() | AVIF |
AV1還使用一種新的壓縮技術:亮度色度,大多數影像格式將亮度與色相分開存盤,AVIF使用亮度通道來猜測顏色通道的外觀,它們通常是相關的,因此很好的猜測可以得出較小的檔案大小和更清晰的邊緣,
采用AV1和AVIF
VP8和WebP遭受了勉強的行業采用,Safari僅在Chrome推出10年河駁加WebP支持,
Chrome 85已經支持AVIF,其他基于Chromium的瀏覽器和Firefox仍在進行中,蘋果尚未宣布Safari是否支持AVIF,但是,這次蘋果公司是AVIF的創建者開放媒體聯盟的公司之一,與以前的免版稅編解碼器相比,AV1編解碼器的采用速度更快,來自Nvidia,AMD和Intel的最新GPU已經具有對AV1的硬體解碼支持,
AVIF使用與iOS相機中使用的HEIC格式相同的HEIF容器,AVIF和HEIC提供類似的壓縮性能,
注意事項
AVIF是功能豐富的格式,它的大多數功能都適用于智能手機相機,例如“實時”照片,深度圖,連拍,HDR和無損編輯,瀏覽器將僅支持其中一部分功能,在“影像調整大小”的實作中,我們僅支持靜態范圍的影像,
AVIF中的兩個最大問題是編碼速度和漸進渲染的缺乏,
測驗圖集
開放測驗圖集地址:https://github.com/AOMediaCodec/av1-avif/tree/master/testFiles
關于基準測驗的注意事項
公平而準確地判斷哪種有損編解碼器更好是令人驚訝的困難,有損編解碼器經過專門設計,主要用于壓縮肉眼看不到的細微影像細節,因此“看起來幾乎相同,但是檔案更小!” 是所有有損編解碼器的共同特征,但不夠具體,不足以得出有關其性能的結論,
有損編解碼器無法僅通過比較檔案大小來進行比較,有損編解碼器可以輕松制作任何大小的檔案,它們的效果在于檔案大小與可達到的視覺質量之間的比例,
比較編解碼器的最佳方法是,使每個編解碼器將影像壓縮到完全相同的檔案大小,然后比較它們所達到的實際視覺質量,如果檔案大小不同,則任何判斷都可能是不公平的,因為生成較大檔案的編解碼器可能這樣做只是因為要求其保留更多詳細資訊,而不是因為無法更好地壓縮,
AVIF影像在完全下載之前不會在螢屏上顯示任何內容,相反,漸進式JPEG仍在加載時,可以非常快速地顯示較低質量的影像近似值,漸進式JPEG交付良好時,它們使網站加載速度似乎更快,漸進JPEG看起來可以加載為檔案大小的一半,AVIF可以完全以JPEG大小的一半加載,因此它以純粹的壓縮優勢克服了漸進式渲染的不足,在這種情況下,只剩下WebP,既沒有漸進式渲染也沒有強大的壓縮,
與其他編解碼器相比,解碼AVIF影像進行顯示需要更多的CPU能力,但實際上它應該足夠快,即使是低端的Android設備也可以在沒有硬體加速幫助的情況下以全高清格式播放AV1視頻,而AVIF影像只是AV1視頻的一幀,但是,AVIF影像的編碼要慢得多,創建單個影像可能甚至需要幾秒鐘,AVIF支持平鋪,這可以加速多核CPU上的編碼,我們有很多CPU內核,因此我們可以利用它來加快編碼速度,“影像調整大小”未使用AVIF中可能的最大壓縮級別來進一步提高壓縮速度,調整大小的影像將被快取,因此僅在快取未命中時,編碼速度才明顯,
我們還將在波蘭語中添加AVIF支持,波蘭語會在后臺異步轉換影像,從而完全隱藏了編碼延遲,并且與“影像調整大小”相比,它能夠更好地壓縮AVIF影像,
今天如何以及何時啟用AVIF?
即使目前尚不支持AVIF,我們仍然可以將HTML格式的HTML格式與<picture>元素一起使用,該<picture>元素允許逐步支持,因為我們可以按照要加載的順序列出影像源,瀏覽器將加載它支持的第一個影像源,如果瀏覽器根本不支持<picture>,它將退回到使用default <img>,
<picture>
<source srcset="img/photo.avif" type="image/avif">
<source srcset="img/photo.webp" type="image/webp">
<img src="img/photo.jpg" alt="Description of Photo">
</picture>
當然了,我昨天的測驗檔案發現使用 ImageX(感覺做的比較專業) 可以快速的將 圖片轉換為AVIF格式,比如這個例子:http://imagex.75live.com/tos-cn-i-n9b2vwdhz3/aaeb00635949973062083b65b5b8c364.jpeg~tplv-n9b2vwdhz3-toB.avif 如果恰巧也有計劃將網站遷移到avif使用可以去試用一下他們家的服務;
下一篇打算重點講一下,如何通過一個JS的SDK 來解決在web 瀏覽器加載HEIF和avif的影像格式;敬請期待;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/249581.html
標籤:其他




