以前、このサーバーの隠しページにWebPで画像を集めている話を書いた。
SafariとInternet ExplorerがWebP非対応であることもあって、WebPへ一本化というのはまだ現実的ではなく、
これが2019年の話だが、2020年にSafariがWebPに対応したそう。
そしてそれを追うようにAVIFにも対応したということも書かれていた。
Chromeが2020年、Firefoxが2021年、Safariが2022年、Edgeはちょっと遅れて2024年に対応したという。
WebPでSafariが大きく遅れたことと比べるとだいぶ足並みは揃っている。
AVIFというのは画像のフォーマットとは思えない名前だが、
AV1 image formatの略で、AV1はAOMedia Video 1の略である。
そう、AVIFは画像のフォーマットだと言いながら、VはVideoから来ている。
なんのこっちゃという感もあるが、そもそもWebPもそうだった。
WebPはGoogleが開発している動画コーデックVP8を静止画に適用して作られた形式である。
動画コーデックAV1の静止画形式がAVIFということである。
GoogleはVP8を発展させたVP9を作り、さらに発展させたVP10を作ろうと考えていたが、
多数の会社が参加するAOMediaというコンソーシアムに合流して、
ここにVP10として開発していた技術を投入、AV1コーデックに結実している。
VP8に対してWebPがあるように、AV1にはAVIFがあるということである。
概念的には似ているがWebPはRIFF(AVIもRIFFコンテナの一種)である一方、
AVIFはHEIFというコンテナを使っている点も異なる。
面倒な話なのだが、HEIFというのはMPEG規格の1つで、
HEVC(H.265)でエンコードされた動画・静止画の格納を目的としている。
その場合の拡張子としては hevc(動画), heic(静止画)とするのが通例である。
MPEG4に対するMP4コンテナみたいな話ですね。
これをAV1でも使うことにしたようだが、静止画はそれでよいのだが、
動画の方ではMP4コンテナの方が使われてるっぽい。
WebPの後継という点では間違えなくAVIFなのだが、
次世代画像フォーマットという点ではHEICというのも存在する。
形式や発想は同じで使っているコーデックがHEVC(H.265)というだけの違い。
ただ、HEICはSafari以外は対応していない。
iPhoneで写真を撮るとHEICで保存される設定になっていることがあり、
後で変換に苦労するという話もあるが、ほぼiOS専用に近い状況である。
静止画ではAVIFの方が圧倒的である。
WebPと比べると、より小さなファイルサイズでも画質を保ちやすい傾向にあるそう。
WebPの変換に使っているXnViewでもちゃんと対応していた。
XnViewはマイナーな形式もカバーするソフトとして有名だから当たり前だけど、
GIMPも読み書きできるし、Windows 11のフォトでも開けるみたい。
ともあれXnViewで変換をしてみたが……えらい遅いのだが。
AVIFというかAV1の問題らしいが、エンコードが遅い傾向にあったという。
現在は改良された方式もありHEVC(H.265)にもひけを取らないものもあるようだが。
WebPと比較したときのAVIFの欠点としてエンコードの遅さが書かれている。
XnViewでは変換速度の設定があり、最速の10にするとだいぶ速くなった。
それでも1000枚変換してWebPは12秒、AVIFは40秒だから、相当遅いことは事実である。
今回の用途では全く問題ない所要時間ではあるが、
オンデマンドで画像を変換・生成するという用途では気になるかもしれない。
そういう話をするとJPEGのような古典的な形式の方がいいのかもしれないが。
WebPと比べるとAVIFはスピード導入という印象はあるが、
それはAOMediaという大手企業がこぞって参加したプラットフォームの成果物だからかも。
AV1の目的はロイヤリティフリーで利用できるコーデックとすること。
動画のコーデックは様々な特許を利用しており、実施には使用料の支払が必要な場合がある。
デジタル放送を受信する機器にはロイヤリティーも含まれている。
これ自体は昔からあった話だが、HEVC(H.265)は多くの特許権者が絡み、複雑化している。
これを問題と思った企業が技術を持ちよって作ったのがAV1である。
インターネットでの利用に重きを置いており、まずは静止画が先行した形である。
ただ、これに前後してWebPの導入も進んだので、AVIFでなければならないわけではないが。
WebPが時代遅れになったとは解釈しない方がよさそうだ。