エレクトロニクス

 はてなフォトライフの謎仕様は昨日書いただけでなく、以下の記事によるとPNGのフォーマットもなぜか64bit RGBAになるそうです。はてなフォトライフに PNG をアップロードすると 64bit RGBA に変換されて無駄にファイルサイズが増える話(http://blog.shibayan.jp/entry/20170705/1499256812)
 移行のためにダウンロードしたデータを調べてみると、fを日付ベースのファイル名と仮定して、

  • f_original.pngは24bitまたは32bit(ファイル名以外はたぶん元のまま←バイナリレベルでは未検証)
  • f.pngそれに加えて確かにビット深さが64bitになりファイルサイズが激増します。
  • f_120.jpgとf_m.jpgは24bit固定(オリジナルが32bitでも24bit)なのでわざわざ64bitに変換する意味が分かりません。(+少なくともはてなダイアリーから2017年6月以降にPNGファイルをアップロードすると中身PNGフォーマットのまま_120と_mは拡張子.jpgに変わる、2017年5月以前はPNG->JPEG変換していたらしい)

 参考にした記事のタイトル通り”無駄にファイルサイズが増える”状態になっていました。私がはてなダイアリーとフォトライフを使い始めたのが2009年7月頃ですのでこの頃には既にこの誰得な仕様になっていたようです(しかも2018年5月現在もそのまま)。
 あまり画像データの謎仕様について深追いすると記事の移行が進まないためメモしておきます。ただ、"はてなダイアリー"はともかく"はてなフォトライフ"は現役サービスのはずでこんなんでいいのでしょうか?かなり疑問に思いました。

後日補足)※なぜ画像データのファイル容量が増えるのが問題なのか?を書いておきますと、サーバー上で処理してサムネイルなどと呼ばれる縮小した画像を作るのは元画像のデータが大きいと表示に時間がかかるからです。わざわざ"縮小のための処理"をして画像の解像度(品質)は落ちているのに転送するファイルサイズが大きくなっていては逆効果になります(見る人も見せる人も端末もサーバーも回線も損します)。かえって何もせずに元のデータをそのまま転送したほうが良くなります。また、縮小処理自体毎回同じ処理をサーバーで行うと負荷がかかる(=遅くなる)ため、アップロード時に必要なサイズのデータを複数作成して参照する方式が一般的です。