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
画像が劣化する要因と画質改善への取り組み
Search
Masato Ikeda
June 26, 2024
Programming
0
210
画像が劣化する要因と画質改善への取り組み
一般論として画像の変換処理により画質が劣化する要因と、Wantedlyの事例で画質が低下していた原因を紹介します。
Masato Ikeda
June 26, 2024
Tweet
Share
More Decks by Masato Ikeda
See All by Masato Ikeda
Wantedlyのマイクロサービスに感じたメリット・デメリット
ikedams
0
67
Other Decks in Programming
See All in Programming
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
28
6.1k
SRE、開発、QAが協業して挑んだリリースプロセス改革@SRE Kaigi 2025
nealle
1
2.9k
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
230
AWS Lambda functions with C# 用の Dev Container Template を作ってみた件
mappie_kochi
0
210
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
410
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
3.5k
自動で //nolint を挿入する取り組み / Gopher's Gathering
utgwkk
1
150
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
2.1k
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
8
2.1k
CNCF Project の作者が考えている OSS の運営
utam0k
5
550
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
1
450
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
29
4.6k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
68
4.4k
Agile that works and the tools we love
rasmusluckow
328
21k
The Language of Interfaces
destraynor
156
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
510
GraphQLとの向き合い方2022年版
quramy
44
13k
Building Applications with DynamoDB
mza
93
6.2k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Code Reviewing Like a Champion
maltzj
521
39k
Faster Mobile Websites
deanohume
305
30k
Transcript
画像が劣化する要因と 画質改善への取り組み Wantedly Tech Night #2 Jun. 26 2024 -
Masato Ikeda © 2024 Wantedly, Inc.
池田 雅人 (Masato Ikeda) Backend Chapter Quality Control Squad 2024年4月
ウォンテッドリー株式会社入社 自己紹介 © 2024 Wantedly, Inc.
はじめに © 2024 Wantedly, Inc.
はじめに © 2024 Wantedly, Inc. SNSやWebサイトを利用していて こんなことを思ったことはありません か?
はじめに © 2024 Wantedly, Inc. before after
アップロードした画像の 画質が悪い! はじめに © 2024 Wantedly, Inc.
Wantedlyでもアップロードした画質が 悪いというご意見を頂くことがありまし た。 はじめに © 2024 Wantedly, Inc.
はじめに © 2024 Wantedly, Inc. そこで調査した内容や画質が劣化して いた原因などを紹介します。
話すこと © 2024 Wantedly, Inc. はじめに 1. 画像が劣化する一般的な要因 2. Wantedlyでの画質劣化の事例
話さないこと • 元々画質が劣化した画像を改善する方法 ◦ 例:AI技術を使った画像のアップスケーリングなど • 画像変換のアルゴリズムの詳細 • ベクター画像(PDFやSVG)について 等
© 2024 Wantedly, Inc. はじめに
画像が劣化する一般的な要因 © 2024 Wantedly, Inc.
そもそもなぜ画質が劣化するのか?🤔 画像が劣化する一般的な要因 © 2024 Wantedly, Inc.
画質が低下する原因は 大きく分けて2つ 画像が劣化する一般的な要因 © 2024 Wantedly, Inc.
①画像の圧縮 画像が劣化する一般的な要因 © 2024 Wantedly, Inc. 2つの原因
画像の圧縮を行うことで、人間の目では判別しにくい部分の情報を減らして、ファイル サイズを抑えている。 画像が劣化する一般的な要因 © 2024 Wantedly, Inc. ①画像の圧縮 4.2MB 309KB
画像の圧縮の目的 画像が劣化する一般的な要因 1. ストレージ容量の節約 2. 転送速度・表示速度向上 3. コスト削減 © 2024
Wantedly, Inc. ①画像の圧縮
具体的に画質に影響する要素は何か? 画像が劣化する一般的な要因 © 2024 Wantedly, Inc. ①画像の圧縮
1. 画像圧縮形式 2. 画像フォーマット 3. 圧縮率 等 画像が劣化する一般的な要因 © 2024
Wantedly, Inc. ①画像の圧縮 画質に影響する要素
• 非可逆圧縮 (Lossy Compression) ◦ Jpegなどのフォーマットは画質を犠牲にしてファイルサイズを小さくする圧縮方式を使 用する。 • 可逆圧縮 (Lossless
Compression) ◦ Pngなどのフォーマットは可逆圧縮を使用し、基本的には画質が劣化することはない。 ただし、リサイズや保存品質の設定により、画質が劣化する場合もある。 1. 画像圧縮形式 © 2024 Wantedly, Inc. 画像が劣化する一般的な要因 ①画像の圧縮
• Jpeg ◦ 非可逆圧縮の画像フォーマット。 ◦ 圧縮率が高いが画質は比較的劣化しやすい。 • Png ◦ 可逆圧縮の画像フォーマット。
◦ 高画質だが、データ容量が大きい。 • WebP ◦ 2010年にGoogleが開発した画像フォーマット。非可逆圧縮・可逆圧縮の両方に対応。 ◦ JpegやPngに比べて圧縮率が高く、画質も劣化しにくい。 ◦ 2024年現在では主要ブラウザの対応はほとんど完了しているが、画像編集ソフトなどのソフトウェアでは対 応していないものもある。 他、GifやAVIF等 2. 画像フォーマット © 2024 Wantedly, Inc. 画像が劣化する一般的な要因 ①画像の圧縮
• データの圧縮前のサイズに対する圧縮後のサイズの比率を示す指標のこと。 • 圧縮率は、品質(Quality)という値を変更することにより間接的に設定できる。 3. 圧縮率 © 2024 Wantedly, Inc.
画像が劣化する一般的な要因 ①画像の圧縮
画像が劣化する一般的な要因 © 2024 Wantedly, Inc. ①画像の圧縮 https://qiita.com/spc_ehara/items/7e3404b2e67359700c69 画像品質と圧縮率はトレードオフの関係にあるため、画像品質が高いほど圧縮率は低 くなり、画像品質が低いほど圧縮率は高くなる。
②画像の操作 © 2024 Wantedly, Inc. 画像が劣化する一般的な要因 2つの要因
© 2024 Wantedly, Inc. 1. リサイズ 2. 回転 3. カラープロファイルの変更
4. フィルタリングおよび補間アルゴリズム 等 画像の操作が画質に与える要因 画像が劣化する一般的な要因 ②画像の操作
• 画像を拡大または縮小すると、ピクセル情報が再計算されるため、画質が劣化する。特に、拡 大時にはピクセルが引き伸ばされるためぼやけることが多い。 1. リサイズ © 2024 Wantedly, Inc. 画像が劣化する一般的な要因
②画像の操作
2. 回転 © 2024 Wantedly, Inc. 画像が劣化する一般的な要因 ②画像の操作 • 画像を回転させる際、Jpegなどの非可逆圧縮形式の場合は再圧縮されてしまったり、ピクセ
ル位置がずれることによる補間の影響等により画質が劣化する場合がある。
• 異なるカラープロファイル間で画像を変換すると、色が変わったり、詳細が失われたりすること がある。 3. カラープロファイルの変換 © 2024 Wantedly, Inc. (左)「sRGB
IEC61966-2.1」埋め込みプロファイル (右)「Adobe RGB (1998)」埋め込みプロファイル https://www.o-design2011.com/blog/3017/ 画像が劣化する一般的な要因 ②画像の操作
• 画像のリサイズや回転時に使用されるフィルタや補間アルゴリズムの選択により、画質が影 響を受ける。 4. フィルタリングおよび補間アルゴリズム © 2024 Wantedly, Inc. 画像が劣化する一般的な要因
②画像の操作 Nearest-Neighbor法 Bi-Linear法
• 画像の拡大・縮小は各ピクセルの間隔を広げたり狭めたりすることにより行われる。 補間アルゴリズムとは © 2024 Wantedly, Inc. 画像が劣化する一般的な要因 補間アルゴリズム https://qiita.com/yoya/items/f167b2598fec98679422
© 2024 Wantedly, Inc. • 画像の拡大時は、この白い隙間に色をどのように埋めるかによってリサイズの結果が変わる https://qiita.com/yoya/items/f167b2598fec98679422 画像が劣化する一般的な要因 補間アルゴリズム
© 2024 Wantedly, Inc. • 画像の縮小時は、周囲のピクセルをどのように混ぜてこの白い隙間を埋めるかによってリサ イズの結果が変わる https://qiita.com/yoya/items/f167b2598fec98679422 画像が劣化する一般的な要因 補間アルゴリズム
• 周りのピクセルから推測して、もともと無かったピクセルを挿入する処理を補間といい、どのよ うに補間するかの手法を補間アルゴリズムという。 © 2024 Wantedly, Inc. https://qiita.com/yoya/items/f167b2598fec98679422 画像が劣化する一般的な要因 補間アルゴリズム
• 補間アルゴリズムの例:Nearest-Neighbor法 © 2024 Wantedly, Inc. https://qiita.com/yoya/items/f167b2598fec98679422 画像が劣化する一般的な要因 補間アルゴリズム
1. 画像の圧縮 a. 画像圧縮形式 b. 画像フォーマット c. 圧縮率 2. 画像の操作
a. リサイズ b. 回転 c. カラープロファイル d. フィルタリングおよび補間メソッド © 2024 Wantedly, Inc. 画像が劣化する一般的な要因 まとめ
Wantedlyでの画質劣化の事例 © 2024 Wantedly, Inc.
• 設定している値が適切か • 不要な画像の操作がないか 前章で説明した要因が原因かを、以下の観点で調査した。 Wantedlyでの画質劣化の事例 © 2024 Wantedly, Inc.
画質改善への取り組み
1. 画像の圧縮 a. 画像圧縮形式 b. 画像フォーマット c. 圧縮率 2. 画像の操作
a. リサイズ b. 回転 c. カラープロファイル d. フィルタリングおよび補間メソッド © 2024 Wantedly, Inc. Wantedlyでの画質劣化の事例 画質改善への取り組み
1. 画像の圧縮 a. 画像圧縮形式 b. 画像フォーマット c. 圧縮率 2. 画像の操作
a. リサイズ b. 回転 c. カラープロファイル d. フィルタリングおよび補間メソッド © 2024 Wantedly, Inc. Wantedlyでの画質劣化の事例 画質改善への取り組み → 非可逆圧縮方式 → WebP → Quality: 75と低めの設定 → 2回のリサイズを実行。1回のみが理想だが許容 → 不要な自動回転処理あり → 変更なし → Bicubic法(ライブラリのデフォルト)。変更してもほぼ画質は変化せず
© 2024 Wantedly, Inc. Wantedlyでの画質劣化の事例 Wantedlyの画像配信の流れ
© 2024 Wantedly, Inc. Wantedlyでの画質劣化の事例 Wantedlyの画像配信の流れ - アップロード
© 2024 Wantedly, Inc. Wantedlyでの画質劣化の事例 Wantedlyの画像配信の流れ - ダウンロード
• Quality値(圧縮率)をデフォルト値の低い値( 75)のまま設定していた ◦ 数年前に画像の配信基盤を刷新した際には、パフォーマンスに問題を抱えていたため、 パフォーマンス>画像品質の設計となっていた。 • 2回のリサイズに加えて、自動回転処理により画質が劣化していた ◦ 自動回転処理は、画像がメタデータとして持つ回転情報
(Exif Orientation)を補正する ために行われていた。 画質改善への取り組み 問題となっていた点 © 2024 Wantedly, Inc. 問題点
• Qualityの値を変更(75→90) • 必要がある場合のみ、自動回転処理を行うように修正 画質改善への取り組み 対応 © 2024 Wantedly, Inc.
画質の劣化防止に向けて行ったこと
画質改善への取り組み 結果(before) © 2024 Wantedly, Inc. 対応結果
画質改善への取り組み 結果(after) © 2024 Wantedly, Inc. 対応結果
多少良くなったものの まだ改善の余地あり © 2024 Wantedly, Inc. 画質改善への取り組み 対応結果
これから © 2024 Wantedly, Inc.
今後やっていきたいこと • SLI/SLOの設定・モニタリング • 更新されていないライブラリの変更 • AVIFへの対応 等 これから ©
2024 Wantedly, Inc.
まとめ © 2024 Wantedly, Inc.
まとめ 画像が劣化する一般的な要因 Wantedlyでの画質劣化の事例 今後やっていきたいこと 1 2 3
ご清聴ありがとうございました 🎉🎉🎉 © 2024 Wantedly, Inc. まとめ
• Wantedlyサービスにおける画像体験の裏側 • 画像リサイズのうんちく (補間フィルタ) • Exif Orientation のうんちく •
JPG?PNG?一体何が違う?最適な拡張子選びのコツ 参考資料 © 2024 Wantedly, Inc.