Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
人間の目はかわらない、だからJPEGは30年もつ
Search
yuzneri
July 25, 2026
Programming
19k
12
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
人間の目はかわらない、だからJPEGは30年もつ
2026/07/25
大吉祥寺.pm 2026
yuzneri
July 25, 2026
More Decks by yuzneri
See All by yuzneri
人間の目はかわらない、でも、発表の届き方はかわる
yuzneri
0
80
テーブルをDELETEした
yuzneri
0
160
昔つくったIoTデバイス
yuzneri
0
100
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
380
色を視る
yuzneri
0
570
ゲームと乱数
yuzneri
0
150
即売会で使える業務用決算端末
yuzneri
0
110
コードの外側に惹かれた
yuzneri
0
97
ぼくの開発環境2026
yuzneri
1
510
Other Decks in Programming
See All in Programming
Go 1.27 における memory allocation の高速化
andpad
0
360
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
110
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
220
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
640
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
200
リアルな遅延を測る仕様
kota_yata
1
130
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
500
AWS Transform Customによる Spring Boot 2.xから4.xへのVerUp
satoshi256kbyte
2
120
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
120
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
560
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
660
Test your architecture with Archunit
thirion
2
2.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
640
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Thoughts on Productivity
jonyablonski
76
5.3k
Everyday Curiosity
cassininazir
0
300
HDC tutorial
michielstock
2
830
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
310
Transcript
⼈間の⽬はかわらない、 だからJPEGは30年もつ 2026/07/25 ⼤吉祥寺.pm 2026 ゆずねり@yuzneri 撮影OK、𝕏投稿OK
ゆずねり 𝕏: yuzneri •株式会社ペイメントフォー •バックエンドエンジニア •商業、同⼈誌の執筆 •趣味はドールを愛でること ←𝕏フォローしてね
時は1990年代 •640x480の画像が無圧縮で約1MB •3.5インチフロッピーが1.44MB •HDDが50〜100MB •メモリが2MB •ネットがISDN(128kbps=16KB/s≓1分) 2026/07/25 3
JPEG(34歳) •Joint Photographic Experts Groupが開発 •1992年にITU-T T.81で標準化 • インターネットの⼀般普及より前 •2026年でも普通に使われている
2026/07/25 4
JPEGより⾼性能な形式は何度も登場した 年 フォーマット ひとこと 1987 1992 1996 2000 2009 2010
2015 2019 2022 GIF JPEG PNG JPEG 2000 JPEG XR WebP HEIF AVIF JPEG XL 動く先輩 本⽇の主役 GIFのお家騒動で⽣まれた透明感がある完璧な後輩 時代が早すぎた JPEGと⾔いつつMicrosoft育ち GoogleがVP8を元に作って本気で広めた MPEGが作ったAppleのお気に⼊り AV1を元にしたAV1の副業 天下を担うJPEG正統後継 2026/07/25 5
それでもなぜJPEGは消えないのか •GIFは最⼤256⾊という制約が、写真⽤途には不 向きだった •JPEGは捨てる物を⼈の眼に合わせた •「⼈間の視覚→JPEGの仕組み→設計ヒント」 の順に⾒ていきます 2026/07/25 6
⼈の眼という前提 2026/07/25 7
⾊差の変化より輝度の変化を識別しやすい •明るさを⾒る桿体(かんたい)細胞 • 約1.2億個 •⾊を⾒る錐体(すいたい)細胞 • 約600万個 •⾊差の細かな空間変化は識別しにくい 2026/07/25 8
明るさと⾊の⾒え⽅の⽐較 明るさ(Y) 2026/07/25 ⾊差(Cb) 9
細部(⾼周波)に鈍い •模様が細かくなるほど識別できない •細かい変化は省いてもバレない 2026/07/25 10
JPEGの仕組み 2026/07/25 11
JPEGは捨てても気付きにくい物を捨てる 1. ⾊変換 2. サンプリング 3. DCT 4. 量⼦化 ⾊を捨てる
細部を捨てる 5. 符号化 2026/07/25 12
1.⾊変換 - 明るさと⾊を分ける •RGB画像を明るさ (Y)と⾊(Cb、Cr)に 分ける •⾊だけ捨てる前処理 2026/07/25 13
2.サンプリング - ⾊を間引く •明るさはそのまま •⾊は4画素を1画素にする • ⾊のデータは75%削減 •全体で50%削減 2026/07/25 14
サンプリングの例 オリジナル 2026/07/25 4:2:0 15
サンプリングの例(⼀部拡⼤) オリジナル 2026/07/25 4:2:0 16
3.DCT - 画像を波に変換する •画像を8x8に区切り、64画素をDCT(離散コサイ ン変換)すると画像を波として表現出来る 2026/07/25 17
波にすると画像の特徴が集まる • 明るさ • 形状 • ゆるやかな グラデー ション 2026/07/25
低 周波数(縦) • ⼤まかな変化 周波数(横) •細かな変 化 • 模様 • エッジ • ノイズ 18
4. 量⼦化 - ⾼周波成分を捨てる •DCT係数を量⼦化 テーブルの値で割っ て丸める 16 11 10
16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 •右下の⾼周波ほど、 強く丸める 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99 2026/07/25 19
量⼦化前のデータ 2026/07/25 -235.4 -131.3 23.2 -21.6 -0.9 3.2 2.7 -1.8
-140.7 36.6 53.3 5.6 8.3 -3.6 0.1 1.5 62.1 102.6 -15.3 -25.9 2.8 -0.4 3.7 -0.2 -28.2 -19.9 -16.7 -2.5 -2.6 -6.3 -1.3 -2.3 26.1 17.1 -9.9 1.7 5.6 5.4 10.5 -1.7 9.1 3.4 3.9 7.9 5.1 -1.5 -5.4 2 2 -4.6 -10.3 -1.7 1.2 3 -5.9 -2.4 0.4 -2.8 -0.1 -2.4 -5.2 -1.5 0.8 0.4 20
量⼦化後のデータ 2026/07/25 -15 -12 2 -1 0 0 0 0
-12 3 4 0 0 0 0 0 4 8 -1 -1 0 0 0 0 -2 -1 -1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21
量⼦化の例 オリジナル 2026/07/25 Q50 Q10 22
量⼦化の例(⼀部拡⼤) オリジナル 2026/07/25 Q50 Q10 23
5. 符号化 •左上からジグザグに⾒ ると、後の44個が連続 してゼロになる -15 -12 2 -1 0
0 0 0 -12 3 4 0 0 0 0 0 4 8 -1 -1 0 0 0 0 -2 -1 -1 0 0 0 0 0 •前20個+打切り記号だ けで64画素の近似で復 元できる 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2026/07/25 24
WebPとの⽐較 2026/07/25 25
JPEGとWebPの⽐較 JPEG(1992) 捨てるもの ⾊差‧⾼周波成分 予測 符号化 ハフマン符号化 ⾊の間引き 4:4:4, 4:2:2,
4:2:0 変換 8x8 計算資源 数⼗MHz ストレージ 数⼗MB 2026/07/25 WebP(2010) ⾊差‧⾼周波成分 イントラ予測 算術符号化 4:2:0 主に4x4 数GHz 数TB 26
WebPは予測してから符号化 •上と左の画素から中⾝を予測 •予測が当たれば差分が0になり圧縮 で⾮常に有利 •2010年の計算資源で成⽴した設計 2026/07/25 上左の 画素か ら予測 27
30年で変わったもの、変わらないもの 変わったもの 変わらないもの •計算資源 •⼈間の眼 •圧縮アルゴリズム • 30年変わらない制約 •ネットワーク環境 •画像の利⽤環境
2026/07/25 28
まとめ •時代と共に技術は変わる •JPEGは、変わりにくい⼈間の視覚を圧縮の中 ⼼に置いた •そこにシンプルさと互換性が積み重なり、30年 以上使われた 2026/07/25 29
) 古 夏 * % 空 写 規 # !
, 格 " # ( $ 2026/07/25 30