AVIFについて調べたことを書いておきます。
動画コーデックを使用した静止画のフォーマット
動画のコーデックを静止画に応用したフォーマットがいくつか登場しています。
WebPはVP8を使用したものです。
HEIFはH.265またはH.264を使用したものです。
そして今日の本題のAVIFはAV1を使用しています。
基本的にはこれらは元になった動画フォーマットとコーデックは共通で、コンテナに少し手を加えたものになっているので、ブラウザなどで既にその動画フォーマットがサポートされていれば、少しの変更で静止画にも対応できるはずです。
AV1 Image File Format (AVIF)
AVIFについてはこのスライドが詳しいです。AV1のことについてもたくさん書かれています。
https://people.xiph.org/~negge/AVIF2018.pdf
AVIFの仕様はまだドラフト段階です。こちらで見ることができます。
https://aomediacodec.github.io/av1-avif/
これを見るとAVIFはHEIFの仕様を拡張したものだということがわかります。
HEIF
AVIFを知るにはまずHEIFを知るべきで、こちらのスライドが私にはちょうど良かったです。
https://speakerdeck.com/yoya/heif-kaisetsu
AVIFの実装とテストファイル
こちらのページに色々と書かれています。
https://github.com/AOMediaCodec/av1-avif/wiki
その中で紹介されているのですが、このページではlibaomのWebAssemblyの実装を利用してAVIFをブラウザで表示できるようにしています。興味深い。手元のFirefoxでは表示できました。
https://cconcolato.github.io/wasm-av1/