アカウント名:
パスワード:
と思ったら、違うことをしていた
一般的なストレージとして使われたくなかったら、規約にそう書くしかないだろうけど、難しいね。
Amazonプライム・フォトは、全くそのまま保存するのを売りにしてるみたいだから、今回のストーリーのように、より、ストレージへの転用が簡単だけど。
もし、「勝手にJPEG圧縮をかけます」というサービスにしたんでも、それでも壊れない形でデータを忍ばせるのは簡単だし。良くあるツールでさっと出来るやり方だと、なんぼかの冗長性を持たせたQRコード化とか。それをやられると、妙なエンコードで埋め込まざるを得ない分、余分にデータ量を食われちゃうことになって、状況が悪化する。
じゃあってんで、「画像として意味をなさないデータの保存は拒否します」という規約にすると、今度は、フリーの風景画像を無数にダウンロードしてきてのステガノグラフィで、いよいよ、その手の悪趣味なユーザが保存したいデータ量に対しての、写真ストレージサービスで浪費されるデータ量が爆発する。
とはいえ、そこまで行けば、帯域の食い過ぎから、データストレージとしての悪用の利便性も減るだろうから、真面目にやる奴は居なくなるかな。
> それでも壊れない形でデータを忍ばせるのは簡単だし
不可逆圧縮されるとやり方次第ではどう頑張っても壊れる時もあると思うんですが、どうやったら簡単に回避できるんでしょうか?
QRコードが認識できないくらい画質落としたら、そもそも写真ストレージサービスとして失格だと思うんだが。
壊れないように冗長度を増やして行けば良い。
どんなに冗長度を増やしても壊れるぐらいにサービス提供側が圧縮度を高めていったとしたら、いたちごっこの結果、黒っぽい画像は0、白っぽい画像は1、画像1枚当たり1ビット、というぐらいにまで情報量が落ちて使い物にならなくかもしれないけど、多分、そこまでは行かない。
COMセグメントとかに埋め込めばいいんじゃないの?
自己レス。気になったので調べてみた。JDAの実装は単純で、エンドマーカー以降に埋め込むデータを連結してある。JPEGの規定ではEOI以降は無視することになっているので、これに従って実装されたJPEGデコーダーなら何の問題もなく画像を表示でき、画質を落とすことは全くない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
ステガノグラフィかな (スコア:0)
と思ったら、違うことをしていた
Re:ステガノグラフィかな (スコア:1)
一般的なストレージとして使われたくなかったら、規約にそう書くしかないだろうけど、難しいね。
Amazonプライム・フォトは、全くそのまま保存するのを売りにしてるみたいだから、
今回のストーリーのように、より、ストレージへの転用が簡単だけど。
もし、「勝手にJPEG圧縮をかけます」というサービスにしたんでも、それでも壊れない形でデータを忍ばせるのは簡単だし。
良くあるツールでさっと出来るやり方だと、なんぼかの冗長性を持たせたQRコード化とか。
それをやられると、妙なエンコードで埋め込まざるを得ない分、余分にデータ量を食われちゃうことになって、状況が悪化する。
じゃあってんで、「画像として意味をなさないデータの保存は拒否します」という規約にすると、
今度は、フリーの風景画像を無数にダウンロードしてきてのステガノグラフィで、いよいよ、
その手の悪趣味なユーザが保存したいデータ量に対しての、写真ストレージサービスで浪費されるデータ量が爆発する。
とはいえ、そこまで行けば、帯域の食い過ぎから、データストレージとしての
悪用の利便性も減るだろうから、真面目にやる奴は居なくなるかな。
Re: (スコア:0)
> それでも壊れない形でデータを忍ばせるのは簡単だし
不可逆圧縮されるとやり方次第ではどう頑張っても壊れる時もあると思うんですが、
どうやったら簡単に回避できるんでしょうか?
Re: (スコア:0)
QRコードが認識できないくらい画質落としたら、そもそも写真ストレージサービスとして失格だと思うんだが。
Re: (スコア:0)
壊れないように冗長度を増やして行けば良い。
どんなに冗長度を増やしても壊れるぐらいにサービス提供側が圧縮度を高めていったとしたら、
いたちごっこの結果、黒っぽい画像は0、白っぽい画像は1、画像1枚当たり1ビット、
というぐらいにまで情報量が落ちて使い物にならなくかもしれないけど、多分、そこまでは行かない。
Re: (スコア:0)
COMセグメントとかに埋め込めばいいんじゃないの?
Re: (スコア:0)
自己レス。
気になったので調べてみた。
JDAの実装は単純で、エンドマーカー以降に埋め込むデータを連結してある。
JPEGの規定ではEOI以降は無視することになっているので、これに従って実装された
JPEGデコーダーなら何の問題もなく画像を表示でき、画質を落とすことは全くない。