Slide 1

Slide 1 text

© 2022 Akamai | Akamai Meetup 1 いxうひwき Technical Solution Architect Akamai Meetup WebP {代わ» 次世代画像õ¹ーþóø AVIF {tいv学|う 金児 仁史 Technical Solution Architect

Slide 2

Slide 2 text

© 2022 Akamai | Akamai Meetup 2

Slide 3

Slide 3 text

© 2022 Akamai | Akamai Meetup 3 本日、z伝えしたいこx AVIF |生~¼背景x特徴 AVIF ~öùウ¶µýーø状況x採用w Chrome ~v断 AVIF ~圧縮効果 AVIF をöùウ¶w表示y»方法 AVIF ~作成方法 AVIF を選択y»Nw考え»こx

Slide 4

Slide 4 text

© 2022 Akamai | Akamai Meetup 4 AV1 Image File Format

Slide 5

Slide 5 text

© 2022 Akamai | Akamai Meetup 5 AVIF JPEG1WebP {代わ»新wいõ¹ーþóø Alliance of Open Media | 2019 € 2 o{ V1.0.0 を策定 AV1 Video õ¹ーþóø~´ñー¸バー¸÷ン

Slide 6

Slide 6 text

© 2022 Akamai | Akamai Meetup 6 AVIF |生~¼た背景 Webúー¸~úóÁ化 Web~写真画像w利用さ¼vい»JPEG~限界 õ±´ûµ´º|大}い高品質z画像 ÀウンýーùŸ度|öー¶ー体験{影響 高品質z画像を軽量zµ´ºw配信y»要望

Slide 7

Slide 7 text

© 2022 Akamai | Akamai Meetup 7 AVIF ~特徴 次世代´ñー¸õ¹ーþóøx言わ¼vいWebP¸ºも圧縮率|高い ý´ôúö³ーõúーwあ» HDR (High Dynamic Range) {対応wvい»

Slide 8

Slide 8 text

© 2022 Akamai | Akamai Meetup 8 AVIF |生~¼»~w~試 JPEG {代わ»様々z試 - WebP, Mozjpeg, JPEG XR, JPEG 2000 Google |開発wWebP |主流{zº{ Netflix, Chrome | AVIF を支援w

Slide 9

Slide 9 text

© 2022 Akamai | Akamai Meetup 9 JPEG -> WebP -> AVIF 1992 JPEG 2022 2012 2002 JPEG 2000 (JP2) 2019 2010 JPEG XR

Slide 10

Slide 10 text

© 2022 Akamai | Akamai Meetup 10 WebP、 AVIF x²動画技術{¹派生しvい» 1992 JPEG 2022 2012 2002 JPEG 2000 (JP2) 2019 2010 JPEG XR VP8 AV1 VP9 VP10 Daala Thor

Slide 11

Slide 11 text

© 2022 Akamai | Akamai Meetup 11 Safari | JPEG 2000 {対応 https://caniuse.com/?search=jpeg%202000

Slide 12

Slide 12 text

© 2022 Akamai | Akamai Meetup 12 IE | JPEG XR {対応 https://caniuse.com/?search=jpeg%20xr

Slide 13

Slide 13 text

© 2022 Akamai | Akamai Meetup 13 {|全v~öùウ¶| WebP {対応 https://caniuse.com/?search=webp

Slide 14

Slide 14 text

© 2022 Akamai | Akamai Meetup 14 Chrome、 Firefox、Safari | AVIF {対応 https://caniuse.com/?search=avif

Slide 15

Slide 15 text

© 2022 Akamai | Akamai Meetup 15 JPEG XL 1992 JPEG 2022 2012 2002 JPEG 2000 (JP2) 2019 2010 JPEG XR JPEG XL

Slide 16

Slide 16 text

© 2022 Akamai | Akamai Meetup 16 JPEG XL ~対応状況 https://caniuse.com/?search=jpeg%20xl

Slide 17

Slide 17 text

© 2022 Akamai | Akamai Meetup 17 Chrome、JPEG XL 対応先送º (þイúóûュース) https://news.mynavi.jp/techplus/article/20221101-2500084/

Slide 18

Slide 18 text

© 2022 Akamai | Akamai Meetup 18 Chromium 内~コメンø https://bugs.chromium.org/p/chromium/issues/detail?id=1178058#c84

Slide 19

Slide 19 text

© 2022 Akamai | Akamai Meetup 19 öùウ¶~ AVIF ~µýーø状況 Desktop Chrome 2020 € 8 o 25 日ÿバー¸÷ン 85Ā{¹対応済 Desktop Safari 2022 € 10 o 24 日ÿバー¸÷ン 16.1Ā{¹対応済 macOS 13 Ventura 以降|条件 Desktop Microsoft Edge 最新版バー¸÷ン 107 ~時点w未対応 Desktop Firefox 2021 € 10 o 5 日ÿバー¸÷ン 93Ā{¹対応済 Mobile Chrome Android 12 {¹µýーø Mobile Safari 2022 € 9 o 12 日ÿバー¸÷ン 16.1Ā{¹対応済 iOS 16 以降

Slide 20

Slide 20 text

© 2022 Akamai | Akamai Meetup 20 AVIF を採用した Chrome ~判断 Chrome | AVIF µýーø開始wòÁùー·÷ン 1. 帯域幅~消費を抑えvúー¸~読込を高Ÿ化w1 全体~÷ー¿消費量を削減 2. HDR »ùー対応 3. Facebook, Netflix, YouTube zy多数~企業~関心 https://chromestatus.com/feature/4905307790639104

Slide 21

Slide 21 text

© 2022 Akamai | Akamai Meetup 21 全体~÷ータ消費量を削減 ● AVIF 1JPEG や WebP x比較wv1画像õ±´ûµ´ºを大幅{削減 ● Netflix ö¹ø»óøw1öー¹Áー¹全体w JPEG {対wv 50%1 4:4:4 コンöンôw 60 %以N~削減を示y結果を発表 https://netflixtechblog.com/avif-for-next-generation-image-coding-b1d75675fe4

Slide 22

Slide 22 text

© 2022 Akamai | Akamai Meetup 22 HDR カùー対応 ● AVIF 1Web 用~ HDR 画像対応xwv期待さ¼vい» ● JPEG 18 óóø~色深度{制限さ¼vい» ● ÷³¹÷ü´~輝度1色óóø深度1色域~向N{¸º1Web 関係者 JPEG w失わ¼»画像÷ー¿を保存y»こx{関心|あ»

Slide 23

Slide 23 text

© 2022 Akamai | Akamai Meetup 23 JPEG 未対応~た±他~õ¹ーþóøを使svいた ±ースw² WebP, AVIF を使え» JPEG  Lossy (損失~あ») 圧縮w{µýーøwvいzい - WebP, AVIF  lossless {も対応可能 JPEG  ²ûõ±Áóネûÿ透過Āをµýーøwvいzい - Png, AVIF 対応可能 JPEG  ²ニñー·÷ンをµýーøwvいzい - Gif, Png, WebP, AVIF 対応可能 JPEG  ºーバーü´をµýーøwvいzい - AVIF 対応可能

Slide 24

Slide 24 text

© 2022 Akamai | Akamai Meetup 24 AVIF ~圧縮例 ● 適用µ´ø|ð供w削減÷ー¿例 ● HTTP Archive ~÷ー¿{¹見え»圧縮効果 ● WebP x~比較例

Slide 25

Slide 25 text

© 2022 Akamai | Akamai Meetup 25 AVIF ~圧縮効果例 Webµ´øを AVIF 対応w こxw 25% バ´ø削減 1,400万~´ñー¸òóø WebP 対応wvいµ´ø https://twitter.com/TimVereecke/status/1372210487191085063

Slide 26

Slide 26 text

© 2022 Akamai | Akamai Meetup 26 AVIF ~圧縮効果例 Webµ´øを AVIF 対応wこxw 21.4% バ´ø削減 WebP 対応wvいµ´ø https://twitter.com/robinwhittleton/status/1486013791670353922

Slide 27

Slide 27 text

© 2022 Akamai | Akamai Meetup 27 AVIF 利用状況 - HTTP Archive AVIF 0.22% https://almanac.httparchive.org/en/2022/media

Slide 28

Slide 28 text

© 2022 Akamai | Akamai Meetup 28 AVIF 利用状況 - HTTP Archive AVIF 利用対前€比0 405% https://almanac.httparchive.org/en/2022/media

Slide 29

Slide 29 text

© 2022 Akamai | Akamai Meetup 29 AVIF 利用状況 - HTTP Archive Pixel あº~ óóøµ´º| 最も小さい~| AVIF https://almanac.httparchive.org/en/2022/media

Slide 30

Slide 30 text

© 2022 Akamai | Akamai Meetup 30 AVIF 利用状況 - HTTP Archive JPEG x~比較 38% 削減 52% 削減 HTTP Archive |共pwvい»÷ー¿を元{独自{Àùõ化

Slide 31

Slide 31 text

© 2022 Akamai | Akamai Meetup 31 WebP {勝» AVIF ~圧縮効率 Daniel 氏|発表w JPEG {¹~バ´ø削減例ÿ中央値Ā - WebP: 31.5%~削減効果 - AVIF: 50.3%~削減効果 同x画質 (DSSIM) w比較 WebP w 2.7% ~õ±´û| JPEG ¸ºも大}zsvい https://www.ctrl.blog/entry/webp-avif-comparison.html

Slide 32

Slide 32 text

© 2022 Akamai | Akamai Meetup 32 AVIF をöùウ¶w表示す»方法 ● HTML ~構 を事前{変更y» ● HTML ~構 を動的{変更y» ● HTML ~構 を変えz{µーバーµ´ùw対応y» ● HTML ~構 を変えz{µーバーµ´ùw対応wz|¹ CDN を使う ● HTML ~構 を変えz{ Image CDN €w対応y»

Slide 33

Slide 33 text

© 2022 Akamai | Akamai Meetup 33 HTML ~構造を事前{変更す» Picture タ°を使sv AVIF {対応 Description 注意:0IE 11  picture ¿À{対応wvいzい https://caniuse.com/?search=picture

Slide 34

Slide 34 text

© 2022 Akamai | Akamai Meetup 34 HTML ~構造を動的{変更す» Description accept: image/avif,image/webp,image/apng,image/svg+xml,image/ *,*/*;q=0.8 öùウ¶~ Accept ú¿¸¹øøóÀーw振»舞いを変え» HTML を動的{変更y» (js w読込õ±´ûを変更y» Áー¹も多あ») öー¶ー体験{影響y»遅延{注意y»

Slide 35

Slide 35 text

© 2022 Akamai | Akamai Meetup 35 HTML を変更w}zい±ース Description µーバーµ´ùもw CDN w対応 以O~構文を変更wzいÁー¹

Slide 36

Slide 36 text

© 2022 Akamai | Akamai Meetup 36 HTML を変更w}zい場合、µーðーµイùw対応 accept: image/avif,image/webp,image/apng,image/svg+xml,image/ *,*/*;q=0.8 µーバーw動的{´ñー¸を出w分 öùウ¶{ content-type ü¹ýン¹øóÀーw通知 content-type: image/jpeg content-type: image/avif öùウ¶~ Accept ú¿¸¹øøóÀー

Slide 37

Slide 37 text

© 2022 Akamai | Akamai Meetup 37 CDN xµーðーµイùw対応 request.setvariable(8PMUSER_CACHEKEY9,

Slide 38

Slide 38 text

© 2022 Akamai | Akamai Meetup 38 Image CDN を使う Akamai Image and Video Manager 変換バó¿ Àùウンùw実施 処理|終わ»x1 最適zõ±´û ¿´÷を使用

Slide 39

Slide 39 text

© 2022 Akamai | Akamai Meetup 39 Akamai Image and Video Manager AVIF 対応€wz1 様々z変換を CDN w 対応可能

Slide 40

Slide 40 text

© 2022 Akamai | Akamai Meetup 40 AVIF ~作成方法例 - Squoosh CLI (node.js ²÷ú) - squoosh-cli --avif '{cqLevel:30}' image.jpg - FFmpeg (動画変換~ºー÷ンソー¹Ā - ffmpeg -i image.jpg -c:v libaom-av1 -crf 18 image.avif - Avifenc (libavif zyを利用wvóûùw CLI) - avifenc --min 0 --max 63 -a end-usage=q -a cq-level=18 -a tune=ssim image.jpg image.avif

Slide 41

Slide 41 text

© 2022 Akamai | Akamai Meetup 41 AVIF を選択す»上w考え»こx ● 圧縮率 ● 品質 ● ¸ンコーùx÷コーù~¹ôーù

Slide 42

Slide 42 text

© 2022 Akamai | Akamai Meetup 42 圧縮す»x何|嬉しい{? Byte削減öー¶ー体験{寄P öー¶ー体験を測定y»指標~一t - LCP (Largest Contentful Paint)

Slide 43

Slide 43 text

© 2022 Akamai | Akamai Meetup 43 Image and Video Managerを使sたByte削減比較 AVIF WebP JPEG 3.0MB 2.2MB 0.8MB

Slide 44

Slide 44 text

© 2022 Akamai | Akamai Meetup 44 人~知覚感度{影響y» Structural Similarity (構 的類似性) 品質y~¸う{確認w}»{? 1{近いほy同一~画像

Slide 45

Slide 45 text

© 2022 Akamai | Akamai Meetup 45 Q10 - DSSIM: 0.0566 Q50 - DSSIM: 0.0251 Q80 - DSSIM: 0.0179 DSSIM (Dis)Similarity Index Measurement{tいv 
 0 {近いx同x´ñー¸ 1 {近いx異z»´ñー¸

Slide 46

Slide 46 text

© 2022 Akamai | Akamai Meetup 46 2t~画像を比較しv、SSIM(DSSIM)を理解 https://pngquant.org/dssim.html % dssim -o diff.png sample3.png sample4.png 0.003458 sample4.png % ffmpeg -i sample1.jpg -i sample2.jpg \ -filter_complex ssim -an -f null - ~ [Parsed_ssim_0 @ 0x558d76a0a700] SSIM Y:0.999726 (35.626515) U:0.999661 (34.695287) V:0.999514 (33.129446) All:0.999680 (34.946991) https://ffmpeg.org/

Slide 47

Slide 47 text

© 2022 Akamai | Akamai Meetup 47 ¸ンコーùx÷コーù~スôーù öùウ¶w~÷コーùÿAVIF õ±´û~ï画Ā - Dav1d : ºー÷ンソー¹~高Ÿ AVIF ÷コーÀー1Chrome, Firefox |利用 µーバーµ´ùw~¸ンコーù (元õ±´û{¹AVIFõ±´ûへ~変換Ā - 一回€~変換処理xいえ1CPU コ¹ø高い - 変換処理時間~長さú²û¿´ð変換{O向} - µーバーµ´ùw~ CPU 消費|高い

Slide 48

Slide 48 text

© 2022 Akamai | Akamai Meetup 48 ¸ンコーùx÷コーù~スôーù öùウ¶w~÷コーùÿAVIF õ±´û~ï画Ā - Dav1d : ºー÷ンソー¹~高Ÿ AVIF ÷コーÀー1Chrome, Firefox |利用 µーðーµイùw~¸ンコーù (元õ±´û{¹AVIFõ±´ûへ~変換Ā - 一回€~変換処理xいえ1CPU コ¹ø高い - 変換処理時間~長さú²û¿´ð変換{O向} - µーバーµ´ùw~ CPU 消費|高い

Slide 49

Slide 49 text

© 2022 Akamai | Akamai Meetup 49 簡単{変換w}»ôーû - Squoosh https://squoosh.app/

Slide 50

Slide 50 text

© 2022 Akamai | Akamai Meetup 50 一括変換可能z Squoosh CLI https://github.com/GoogleChromeLabs/squoosh/tree/dev/cli

Slide 51

Slide 51 text

© 2022 Akamai | Akamai Meetup 51 Squoosh CLI ~コþンù例 % squoosh-cli --webp '{quality:75}' leather_jacket.jpg 1/1 ✔ Squoosh results: leather_jacket.jpg: 631.46KB └ leather_jacket.webp → 133.23KB (21.1%) % squoosh-cli --avif '{cqLevel:33}' leather_jacket.jpg 1/1 ✔ Squoosh results: leather_jacket.jpg: 631.46KB └ leather_jacket.avif → 68.64KB (10.9%)

Slide 52

Slide 52 text

© 2022 Akamai | Akamai Meetup 52 Squoosh{¸»AVIFxWebP~変換時間 WebP: quality=75, AVIF: cqlevel=331Linode CPU4コ² RAM08GB110枚(均3MB/枚)~JPEG画像を100回変換 37秒 316秒 8.5倍変換{時間を要y»

Slide 53

Slide 53 text

© 2022 Akamai | Akamai Meetup 53 ¸ンコーù~ñõ¹ーþンス改善 https://web.dev/compress-images-avif/

Slide 54

Slide 54 text

© 2022 Akamai | Akamai Meetup 54 ùイöùú{¸»ñõ¹ーþンス差分 8¹üóùw¸ンコーù cqlevel=331Linode CPU4コ² RAM 8GB110枚(均3MB/枚)~JPEG画像を100回変換 316秒 64秒 1/5{短縮

Slide 55

Slide 55 text

© 2022 Akamai | Akamai Meetup 55 ~x± ● AVIF 多~öùウ¶{¹支持さ¼vい» ● AVIF  JPEG, WebP ¸ºも圧縮効率|高い ● AVIF  JPEG, WebP ¸ºも多~色を使え» ● AVIF ~¸ンコーù処理~コ¹ø|高い ● AVIF を採用wzいöùウ¶{対wv WebP, JPEG zyを使う ● Image CDN を使え€今y€{ AVIF {変換wv配信w}»

Slide 56

Slide 56 text

© 2022 Akamai | Akamai Meetup 56 Akamai Meetup