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
[PyCon KR 2026] More Variants, More Diversity for AI Accelerators
achimnol
0
130
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
180
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
250
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
720
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
110
Dockerfile CMD for Node.js
grazie1999
0
160
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
900
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
480
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
400
VibeCodingからAgenticWorkflowへ
starfish719
0
1k
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
420
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
540
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
760
WENDY [Excerpt]
tessaabrams
12
39k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Abbi's Birthday
coloredviolet
3
9.6k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
320
The World Runs on Bad Software
bkeepers
PRO
72
12k
Building an army of robots
kneath
306
46k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Marketing to machines
jonoalderson
1
5.7k
Agile that works and the tools we love
rasmusluckow
331
22k
The Spectacular Lies of Maps
axbom
PRO
1
950
So, you think you're a good person
axbom
PRO
2
2.1k
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