generated from tuki0918/NPM-PACKAGE-TEMPLATE
-
Notifications
You must be signed in to change notification settings - Fork 0
ファイルサイズに関するレポート
Y.Yamamoto edited this page Jun 24, 2025
·
2 revisions
Image Shieldライブラリによる画像処理において、ファイルサイズがどのように変化するかを詳細に分析しました。
| 処理モード | 元画像サイズ | 処理後サイズ | 変化率 | 変化量 |
|---|---|---|---|---|
| 元画像 | 92,093 bytes | - | - | - |
| シャッフルのみ | 92,093 bytes | 459,896 bytes | +399.4% | +367,803 bytes |
| シャッフル + 暗号化 | 92,093 bytes | 1,208,653 bytes | +1212.4% | +1,116,560 bytes |
| 処理モード | 元画像サイズ | 処理後サイズ | 効率 (bytes/pixel) | 変化率 |
|---|---|---|---|---|
| 元画像 | 986,346 bytes | - | 1.13 bytes/pixel | - |
| シャッフルのみ | 986,346 bytes | 1,370,678 bytes | 1.57 bytes/pixel | +39.0% |
| シャッフル + 暗号化 | 986,346 bytes | 3,528,425 bytes | 4.04 bytes/pixel | +257.7% |
- 3チャンネル(RGB) → 4チャンネル(RGBA):全ての画像がRGBA形式で処理される
- JPEG → PNG変換:JPEG画像がPNG形式で出力されることによる大幅な増加
- 各フラグメントが独立したPNGファイルとして保存される
- PNGヘッダーの重複:各フラグメントにPNGヘッダーが必要
- ブロック境界での圧縮効率低下:小さなブロックは圧縮効率が悪化
- シャッフル版:約350-800 bytes
- 暗号化版:約350-800 bytes(暗号化情報の追加により若干増加)
- 暗号化倍率:約2.57倍
- AES-256-CBCによる暗号化処理
- 追加データ:約157.4%の追加オーバーヘッド
- EXIF情報の削除
- 色プロファイルの削除
- コメント情報の削除
- 画像によっては、メタデータが大きい場合に効果が顕著
- PNG最適化による若干のサイズ減少効果
100x100ピクセル画像(453 bytes)での分析:
| ブロックサイズ | ブロック数 | シャッフル版 | 暗号化版 | ブロック使用効率 |
|---|---|---|---|---|
| 8x8 | 169個 | 3,652 bytes (+706%) | 41,793 bytes (+9,126%) | 92.5% |
| 16x16 | 49個 | 2,255 bytes (+398%) | 41,645 bytes (+9,093%) | 79.7% |
| 32x32 | 16個 | 1,783 bytes (+294%) | 41,354 bytes (+9,029%) | 61.0% |
結論:
- より大きなブロックサイズの方がサイズ効率は良い
- しかし、ブロック使用効率(画像サイズとブロックサイズの適合度)は低下する
- 暗号化時のサイズはブロックサイズにあまり依存しない
- 元画像が非常に小さい場合、処理後のサイズ増加率が極端に高くなる
- 例:1,644 bytes → 8,500倍以上の増加
- 元画像が大きい場合、相対的なサイズ増加率は抑えられる
- 例:855,889 bytes → 54%減少(シャッフル時)
- 中程度のサイズ増加
- PNG圧縮との相性により変動
- 小さな画像:処理によるオーバーヘッドが相対的に大きい
- 大きな画像:処理効率が相対的に良い
- JPEG画像:PNG変換により大幅なサイズ増加が発生
- シャッフルのみ:約40%のサイズ増加でセキュリティ効果を得られる
- 暗号化追加:約158%の追加オーバーヘッドで強力なセキュリティを実現
- 大きな画像での使用:オーバーヘッドの相対的影響を抑制
- 適切なブロックサイズ選択:16x16 または 32x32 が効率的
-
用途に応じた処理レベル選択:
- 軽度な保護:シャッフルのみ
- 強力な保護:シャッフル + 暗号化
Image Shieldによる処理では、以下の理由でファイルサイズが増加します:
- フォーマット統一(RGBA PNG固定)
- フラグメント化オーバーヘッド
- 暗号化による膨張(暗号化時)
一方で、メタデータ削除による減少効果もありますが、増加要因の方が遥かに大きく、最終的には元画像の1.4倍(シャッフル)〜4倍(暗号化)程度のサイズになることが確認されました。