AVIFを使っていこうと思った話

AVIFを使っていこうと思った話

以前の記事の振り返り

以前、ブログで使うWeb用の画像のフォーマットについて検討するで「Web用の画像フォーマット」を比較して、当時は WebPがいちばん現実的という結論にしていた。

ブログで使うWeb用の画像のフォーマットについて検討する
背景と目的 普段から写真撮影を行っていると、画像ファイルが占める容量は無視できない規模になる。現在はNASとAmazon Photosに保存しているため、容量的な制約は少ないものの、ファイルサイズが小さくできるのであれば小さくしておく方が合理的だ。特にWeb公開を前提とする場合、ファイルサイズはアップロード・ダウンロード、そしてページ表示時間に直結するため、可能な限り小さい方が望ましい。 これまでは現像ソフトからJPEG品質100で出力し、Web用途など容量削減が望ましいケースではWebPに変換してきた。RAWファイルは別途バックアップしてアーカイブとして保存している。目視で画質劣化が認められないのであれば、全てWebPで保存しても問題ないのではないかと考えたが、より優れたフォーマットが存在する可能性があるため、現在利用可能な画像フォーマットについて調査した。 主要な画像フォーマットの特徴 JPEG 最も広く普及している画像フォーマットで、互換性に関する信頼性は高い。しかし、規格自体が古く、現代的な圧縮技術と比較すると効率は劣る。 JPEGについて知っておくべきすべての

その後も基本はWebP運用で困っていなかったのだけれど、最近読んだ記事がかなり腑に落ちたので、ここで方針を更新しておく。


きっかけになった記事

Qiitaのこの記事を読んだ。

画像圧縮するベストな方法(2025) - Qiita

要点は、QP値をそろえて比較するのは「全く意味がありません.」という指摘と、比較するなら「横軸にbpp,縦軸に評価指標を並べたグラフをRD曲線と呼びます.」という話。

そしてまとめとしては「いろいろグラフをプロットして見ると,比較した範囲内では,AVIF(OpenCVでも使える)が性能が最も良さそうなことがわかりました.」という結論。

自分の理解としては、これまで「次世代フォーマット=とりあえずWebPが無難」くらいの気持ちでいたけど、ちゃんとRD曲線で見ると、WebPは宣伝されているほど圧倒的でもない場面があるっぽい。

それなら、現状のブラウザ対応も含めて、写真用途はまずAVIFでいってよさそう、という判断になった。


AVIFに寄せる判断

自分の用途は「写真をWebで見せる」なので、最優先は次。

  • 見た目の品質を保ったまま軽くしたい
  • 主要ブラウザで普通に表示できること
  • 変換はバッチでやるので、エンコードが遅いのはある程度許容できる

この前提だと、

  • 圧縮効率が強い
  • デコード(表示)側は実用上そこまで問題になりにくい

という点で、AVIFを優先していくのは合理的に思えた。


運用メモ(暫定)

当面はこの方針でいく。

  • 写真の公開用は AVIFを第一候補
GitHub - AOMediaCodec/libavif: libavif - Library for encoding and decoding .avif files
libavif - Library for encoding and decoding .avif files - AOMediaCodec/libavif
  • 互換性が気になる場面はフォールバックとして JPEG / WebP を併用
  • 現像ソフトから直接出せない場合は、従来どおり中間生成(JPEG品質高めなど)→ 変換という流れ
  • Ghost(少なくとも公式テーマ)だと、アップロード画像は結局リプロセス(変換・再圧縮)が入る前提で考えた方がよさそう。なので「勝手にWebP化される」こと自体は割り切りつつ、雑に大きい画像を投げるのは避ける(参考: GhostPro supports webp or avif?)。
GhostPro supports webp or avif?
Hello, I searched here: And on this forum and don’t see my question answer already. For GhostPro customers are the official themes set to convert images to webp and/or avif? If not, how can I do that? So far I just see info on how to do this for self-hosted Ghost sites, editing the img helper, which I don’t think applies to GhostPro customers. Expected user story: for GhostPro customers any image they upload is converted to webp or avif. If not, if I upload webp will GhostPro serve that f…

今後やりたいこと

  • 自分のブログで実際に「AVIF化でどれだけ軽くなったか」を数例でログとして残す
  • 変換コマンドと設定(品質、速度、色差など)を固定して手順化する

Read more

ストロボの出力表記

ストロボの出力表記には、主に分数表記と数値表記の2種類がある。それぞれの仕組みと、実際の撮影での使い勝手の違いを整理する。 分数表記 出力をフルパワーに対する比率で表す方式。1/1がフルパワーで、以降1/2、1/4、1/8と続く。 1/1 → 1/2 → 1/4 → 1/8 → 1/16 → 1/32 → 1/64 → 1/128 隣り合うステップ間が1段(1 stop)に対応し、光量がちょうど半分になる。中間値は機種によって1/3段刻みや1/10段刻みで調整できる(例: 1/16+0.3、1/16+0.7)。 分数がそのまま最大出力に対する割合を示すため、「今フルパワーの何分の1で発光しているか」が一目でわかる。

By Sakashita Yasunobu

ナウいパスワード要件

2025年8月、米国国立標準技術研究所(NIST)は認証ガイドライン SP 800-63B Revision 4 を正式公開した。このガイドラインは米国連邦政府機関向けの技術要件だが、世界中のWebサービスやセキュリティ基準に広く影響を与えている。日本でも総務省やIPAがこのガイドラインを参照しており、一般ユーザーにとっても「正しいパスワードの作り方」を知る上で最も信頼性の高い情報源といえる。 本記事では、NIST SP 800-63B-4の原文に基づき、パスワードに関する要件を整理する。各セクション末尾の緑・黄色のボックスは、そこから導かれる一般ユーザー向けの実践ポイントである。 出典 本記事の内容は、以下の公式資料に基づく。 * NIST SP 800-63B-4(2025年8月1日発効、本記事参照版: 2025年8月26日更新): Digital Identity Guidelines: Authentication and Lifecycle Management * 総務省「国民のためのサイバーセキュリティサイト」: 安全なパスワードの設定・管理 * IPA

By Sakashita Yasunobu

おそらく人生でもっとも暇な時を過ごす君たちへ

大学受験を終えた高校生。就活を早々と終えた大学生。 何年ものあいだ、勉強や準備に打ち込んできたのだろう。結果がどうであったにせよ、まずはお疲れ様だ。 これから過ごす時間は、おそらく君たちにとって素晴らしい、かけがえのない時間になる。もちろん、そうなるように日々を過ごしていくのは君たち自身だけれど、それでも「やっぱり違った」というなら、そのときは一言文句を言ってくれて構わない。 まだ後期の試験を控えている人、来年に向けてもう一年頑張らなければいけない人もいるだろう。心から応援している。 たぶん人生の前半で、今がもっとも暇で、もっとも目的がなく、もっとも圧力がない。あらゆる意味でもっとも解放された自由な時間だ。人生全体を見渡しても、こうした時間はそう何度も訪れるものではない。 で、大事なのは、この時間をどう使うかだ。 おすすめは美術館に行くことである 唐突だと思う。 普段から美術館に足を運ぶ趣味をお持ちの方には、釈迦に説法だろう。そういう方にはぜひ、お気に入りの過ごし方を教えていただけると嬉しい。 さて、美術と聞くと、なんだか遠い世界のように感じないだろうか。 現代ア

By Sakashita Yasunobu

NLLB-200をLoRAで日英翻訳に特化させた話

はじめに 言語処理100本ノック 2025 (Rev 1)は、東北大学の乾・鈴木研究室が公開している自然言語処理(NLP)の演習問題集である。UNIXコマンドによるテキスト処理、正規表現、形態素解析、単語ベクトル、ニューラル機械翻訳など、全100問を通じてNLPの基礎から応用までを体系的に学ぶことができる。 言語処理100本ノック言語処理100本ノックは、実用的でワクワクするような課題に取り組みながら、自然言語処理、大規模言語モデル、プログラミング、研究のスキルを楽しく習得することを目指した問題集です。言語処理100本ノック 2025 本記事では、第10章の課題であるニューラル機械翻訳モデルの構築について、実装の詳細と得られた知見を記録する。 💡事前学習済み翻訳モデル NLLB-200 に LoRA(Low-Rank Adaptation)を適用し、KFTTデータでファインチューニング。Google Colab(A100 GPU)で約3.5時間の学習により、テストデータで BLEU 22.09 を達成した。 課題「自分だけの翻訳エンジンを作る」 KFTTデータセット

By Sakashita Yasunobu