noteで写真の色味が変わってしまう問題(2023/11/21時点)

——君なんか写真と違わない?

 最近noteを書いていて、妙なことに気づいてしまった。プレビュー画面の飯がすごく不味そうな色をしている。もちろん公開してもプレビュー画面のような不味そうな色のまま。編集画面ではそんなことないのに(一回保存して閉じるか何かで編集画面にも反映される)。プレビューの段階(エンコード)ですでに色味が違うということは、おそらく見る環境によって違うということではないはずだ。まあ百聞は一見にしかずということで、

この画像を見てくれ こいつをどう思う?

上:プレビュー画面の写真 下:元の写真

(彩度の差が)すごく… 大きいです…

対処法

 結論から言えば、なんらかのアプリで元のデータを崩してやれば解決する。私の場合、写真を一度「ibisPaint X」(無料のお絵描き・画像編集アプリ)で読み込んで、PNGやJPEGで出力したものをnoteに貼ることで回避できた。

対照実験は科学技術の基本

 対症療法が欲しいだけで理由に興味がない人もたくさんいるので、初めに対処法を書いた。だがそれだけでは私自身のポリシーに反するので、詳しく調べてみることにした。一部の条件だけを変えて実験することで原因を絞り込んでいく。

まずは状況整理。

投稿環境

機種:iPhone SE(2世代)
iOSバージョン:16.6
設定->カメラ->フォーマット->カメラ撮影:高効率(HEIFフォーマットで撮影(拡張子:HEIC))
note:アプリ版note


プレビュー画面以降で色味が変更されたときの状況

・iPhoneの「カメラ」で撮った画像をnoteに貼る
・iPhoneの「スクリーンショット」で撮った画像をnoteに貼る

参考画像として、元写真、元写真のスクリーンショット、それから念のため、「それらをプレビュー画面で見たときのスクリーンショットをibisPaint Xで並べて、それ以上色味が変わらないようにした画像」、この3点を貼っておく。

元写真:4032×3024, HEIC
元写真のスクリーンショット:750×1334, PNG
プレビュー画面で見た色味(ibisPaint Xから保存することで、それ以上の色味変更を回避):768×558, PNG

 初めに疑った原因は画像サイズ。推奨されるサイズより大きいので圧縮がかかり、そのときの処理で色味にも影響が出ているのかと考えた。

また横幅620px以上の画像をアップロードした場合は、自動で横幅620pxになるように縮小されます。


画像サイズについて - noteヘルプセンター(2022/11/22)

しかしiPhone標準の「写真」アプリで一部を切り取って横幅を620px以下にしても同じ現象が起きたので、これは違うと分かった。

標準アプリによる元写真の切り取り:580×696, HEIC

 今度はデータ構造を疑った。一般的なOSが保持する画像などのデータは、メタデータ(※1)を伴う。iPhoneのメタデータの何かがnoteの画像エンコードと相性が悪いのではないか。ibisPaint Xに貼り付けて純粋なピクセル情報にした後に保存するとnoteに貼っても色味が変わらないことから、これはほぼ当たりだと考えてよさそうだ。(このとき保存形式はPNGでもJPEGでも同じ結果となった)
 ちなみにnoteから画像を保存すると、WEBPというフォーマットになっている。現時点では、noteは画像をWEBP形式にエンコードするようだ。サイズは600×450。620pxなんじゃなかったのかよ

 ところで……
実は以前にも同じような色味の不具合を見たことがあった。コミュニケーションアプリ「Discord」に写真を貼ると色味が変わってしまう現象だ(※2)。写真をタップして開くと元の色で表示されはするのだが……。当時はDiscord側の問題だと思っていたが、どうやらもっと普遍的な現象であるということが今回分かった。

左:Discordに写真を貼ったもの 右:タップして開いたもの

※1:主体となるデータ(今回でいえば画像のピクセル値)に付随するデータで、保存した日時、編集前の画像など、さまざま。
※2:貼ったそのときは大丈夫だが、一度アプリを落として開くと色味が変わる。他のユーザーからも色味が変わって見える。

原因の推測

 ここで書くことはあくまで推測なので鵜呑みにしないでもらいたい。間違っている可能性が大いにある。
 iPhoneに限らず、多くのデジタルカメラは撮るときに自動的に色味や感度に補正をかけるが、iPhone(iOS)はこの情報を実効的なメタデータとして画像に乗せているのではないか。そして、このデータを上手く拾うことができない環境において、補正がかかっていない状態が現れるのではないか。そう考えている。

妙だな…

 ところで、今回の作業中に、奇妙な点が1点あった。iPhoneで撮影した、「写真」アプリでHEIF形式と表示されている画像を複数のオンライン画像コンバーターに入力したところ、いずれにおいても「JPEG」と判定された。その画像をJPEG→HEIFのコンバーターで変換した出力画像はしっかりHEIFと判定されたので、やはりiOSのファイルフォーマット周りは何かおかしい部分があると思わざるを得ない。「ファイル」アプリで元の画像を確認すると、拡張子は.heic(HEIFファイルの拡張子)になっているので、実体がJPEGで拡張子だけHEICになっている可能性がある。Appleってこういうところありますからねぇ笑

まとめ

・noteのプレビュー画面や投稿後の記事で色味がおかしいときは、何かのアプリにピクセルデータとして取り込んでから保存し、それをnoteに貼れば解決する。
・おそらくメタデータ由来の何かによる不具合だと考えられる。iOS側の問題という可能性もある。

この記事が気に入ったらサポートをしてみませんか?