AVIF(AV1 Image File Format)についてのメモ


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/

AV1 test file

Netflix AVIF files
Microsoft AVIF files