多くの同様の大きな画像を圧縮していますか?


16

私は地球の衛星画像の大きなアーカイブを扱っています。各アーカイブ画像は同じエリアで15分間隔で撮影されたため、互いに非常に似ています。2つの連続したものは次のようになります。 ここに画像の説明を入力してください

ビデオアルゴリズムは、複数の類似画像を非常にうまく圧縮します。ただし、この画像はビデオ(10848x10848)には大きすぎるため、ビデオエンコーダーを使用すると画像のメタデータが削除されるため、そのような大きな画像でビデオエンコーダーを動作させても、それらを抽出してメタデータを復元するのは面倒です。

いくつかのテストを行うために、1日の96個の画像を1080x1080ピクセル、合計40.1MBに縮小し、次の結果で異なる圧縮を試しました。

  1. zip:39.8 MB
  2. rar:39.8 MB
  3. 7z:39.6 MB
  4. tar.bz2:39.7 MB
  5. zpaq v7.14:38.3 MB
  6. fp8 v2:32.5 MB
  7. paq8pxd v45:30.9 MB

最後の3つは、コンテキストをはるかに活用し、実際に従来の圧縮よりもうまく機能すると想定されていますが、圧縮率は15MBに達するか、画質を維持することができないmp4ビデオと比較してまだかなり劣っています。

ただし、これらの圧縮ユーティリティで使用されるアルゴリズムは、ビデオ圧縮のように画像の類似性を利用していないようです。実際、各画像を個別に圧縮するpackJPGを使用すると、セット全体が32.9 MBになり、fp8とpaq8pxdに非常に近くなりますが、画像間の類似性をまったく活用しません(各画像が個別に圧縮されるため)。

別の実験では、Matlabで上記の2つの画像の差を計算しましたが、次のようになります。

ここに画像の説明を入力してください

fp8で両方の元の画像(219.5 + 217.0 = 436.5 kB合計)を圧縮すると350.0 kB(80%)になりますが、それらの1つと差分画像(同じ品質のjpgとして122.5 kBを使用)が圧縮されます。 270.8 kB(62%)のファイルでは、再び(mp4とpackJPGの比較で明らかになったように)、fp8は類似性をあまり利用していないようです。rarで圧縮しても、1つの画像とその差は元の画像のfp8よりも優れています。その場合、rarはそれを333.6 kB(76%)まで下げます。

私は多くのアプリケーションを思い描くことができるので、この問題に対する優れた圧縮ソリューションがあるに違いないと思います。私の特定のケースに加えて、多くのプロの写真家は、連続撮影やタイムラプス画像などのために多くの同様のショットを持っていると思います。そのような圧縮の恩恵を受けるすべてのケース。

また、少なくとも画像データについては、可逆圧縮を必要としません(メタデータを保存する必要があります)。

だから... 圧縮された画像間の類似性を活用する圧縮方法はありますか?

上記のテストの2つの画像はここからダウンロードでき、最初のテストの96の画像はここからダウンロードできます


1
質問を保留にした人々からより多くのフィードバックをいただければ幸いです。質問は十分に一般的で、特定の製品を指すことなく、方法、アルゴリズム、または手法を示すことなく答えられると思います。
カミロラダ

1
ピーナッツギャラリー(私は閉鎖に投票しませんでした)がIs there a compression utility that take advantage of the similarities between images better than zpaq and fp8?Is there a updated/maintained version of the fp8 utility?おそらく問題のある行です。たとえば、それとは対照的に、Is there a compression *method, algorithm or technique* that take advantage of the similarities between images better than zpaq and fp8?焦点はほぼ間違いなく異なります。特定のソフトウェア(該当する場合)が与えられた回答でほぼ確実に言及されるため、ソフトウェアを要求することはおそらくとにかく冗長です。
アナクスナマン

1
同意する。できました。幸運を。=)
アナクスナマン

2
「ビデオには大きすぎる」?私はこれに同意するかどうかわかりません。一部のコーデックには、非常に高いまたは無制限の最大解像度があります。視聴可能なビデオを作成するのではなく、静的な画像を圧縮するだけです。メタデータを字幕またはその他のデータとしてエンコードできますか?
ベンシェパード

1
アプリケーションのリストに追加するには、今後追加のパーツを取得するタイムラプスプロジェクトの元のフレームを保存するためにこれが必要になります。現在の10000 x 4K JPG画像は25 GBのスペースを必要としますが、それらで構成されるMP4はたった85 MBしか必要としません。
アクセリパレン

回答:


5

これを行う特定のソフトウェアは知りませんが、このテーマに関する研究がいくつかあります。たとえば、Samy Ait-Aoudia、Abdelhalim Gabis、Amina Naimi による類似画像の圧縮セット、およびJiann-Der Lee、Shu-Yen Wan、Chem-Min Ma、Ruiによるハイブリッド圧縮モデルを使用した類似画像の圧縮の記事を参照してください-風水ウー。

より実用的なレベルでは、例えば、ImageMagickを使用して連続画像間の差を計算するスクリプトを記述し、結果をjpeg(またはロスレスが必要な場合は圧縮png)として保存することにより、減算手法を拡張できます。1つのベースイメージと、はるかに小さい圧縮された「デルタ」イメージのセットを取得します。ImageMagickを使用して差を計算するには:

convert image2.png image1.png -compose MinusSrc -composite -depth 24 -define png:compression-filter=2 -define png:compression-level=9 -define png:compression-strategy=1 difference-2-1.png

再度追加して再計算するには:

convert image1.png difference-2-1.png -compose Plus -composite image2-reconstructed.png

(代わりにjpgを使用して同じことを行い、多くのスペースを節約できます)。


これはオーバーフローを管理していないようです。非常に異なる色の類似した画像がいくつかあるため、Minus / PlusまたはSubtract / Addを使用して、再計算された画像にアーティファクトがあります。
エイドリアンクラーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.