Birçok benzer büyük görüntüyü sıkıştırmak?


17

Dünya'nın uydu görüntülerinin geniş bir arşiviyle uğraşıyorum, her biri aynı alan üzerinde 15 dakika ara verdi, bu yüzden birbirlerine oldukça benziyorlar. İki bitişik olan şuna benzer: resim açıklamasını buraya girin

Video algoritmaları, benzer görüntüleri birden iyi sıkıştırır. Bununla birlikte, bu görüntüler video için çok büyüktür (10848x10848) ve video kodlayıcıları kullanmak görüntülerin meta verilerini silecektir, bu nedenle bu tür büyük görüntülerle çalışmak için bir video kodlayıcı alsam bile bunları çıkarmak ve meta verileri geri yüklemek hantal olacaktır.

Bazı testler yapmak için bir günün 96 görüntüsünü 1080x1080 piksele düşürdüm, toplam 40.1MB ve aşağıdaki sonuçlarla farklı sıkıştırmalar yapmayı denedim:

  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

Son üçünün, bağlamdan çok daha iyi yararlanması ve aslında geleneksel sıkıştırmadan daha iyi çalışması gerekiyor, ancak sıkıştırma oranı, 15 MB veya daha az görüntü kalitesini koruyabilen mp4 video ile karşılaştırıldığında hala oldukça zayıf.

Ancak, bu sıkıştırma yardımcı programları tarafından kullanılan algoritmaların hiçbiri video sıkıştırma gibi görüntülerin benzerliğinden faydalanmıyor gibi görünmektedir. Aslında, her görüntüyü ayrı ayrı sıkıştıran packJPG kullanarak , tüm set 32.9 MB'ye iner, fp8 ve paq8pxd'ye oldukça yakındır, ancak görüntüler arasındaki benzerliklerden hiç faydalanmadan (her görüntü ayrı ayrı sıkıştırılır).

Başka bir deneyde, Matlab'da yukarıdaki iki görüntünün farkını hesapladım ve şöyle görünüyor:

resim açıklamasını buraya girin

Her iki orijinal görüntüyü (toplam 219.5 + 217.0 = toplam 436.5 kB) fp8 ile sıkıştırmak, bunları 350.0 kB'ye (% 80) düşürür, ancak bunlardan birini ve fark görüntüsünü sıkıştırır (aynı kalitede bir jpg olarak ve 122.5 kB kullanarak), sonuç 270.8 kB'lik bir dosyada (% 62), bu yüzden yine (mp4 ve packJPG karşılaştırması tarafından ortaya konulduğu gibi), fp8 benzerliklerden fazla faydalanmıyor gibi görünüyor. Rar ile sıkıştırılmış olsa bile, bir görüntü artı fark orijinal görüntülerdeki fp8'den daha iyidir. Bu durumda, rar onu 333.6 kB'ye (% 76) düşürür.

Birçok uygulama öngördüğüm için bu sorun için iyi bir sıkıştırma çözümü olmalı sanırım. Özel durumumun yanı sıra, birçok profesyonel fotoğrafçının sıralı çekim veya hızlandırılmış görüntüler vb.Nedeniyle birçok benzer çekime sahip olduğunu düşünüyorum.

Ayrıca, en azından görüntü verileri için değil, yalnız sıkıştırma gerektirmez (meta veriler korunmalıdır).

Yani ... Sıkıştırılan görüntüler arasındaki benzerlikleri kullanan bir sıkıştırma yöntemi var mı?

Yukarıdaki testin iki resim indirilebilir burada ve ilk testin 96 görüntü burada .


1
Soruyu askıya alan kişilerden daha fazla geri bildirim takdir edilecektir. Sorunun yeterince genel olduğunu ve belirli bir ürünü işaret etmeden, ancak bir yönteme, algoritmaya veya tekniğe cevap verebileceğini hissediyorum.
Camilo Rada

1
Fıstık galerisi (ı sona oy vermedi) ama Is there a compression utility that take advantage of the similarities between images better than zpaq and fp8?ve Is there a updated/maintained version of the fp8 utility?muhtemelen kusurlu çizgilerdir. Örneğin Is there a compression *method, algorithm or technique* that take advantage of the similarities between images better than zpaq and fp8?odak ile kontrast muhtemelen çok daha farklı. Belirli bir yazılımda (varsa) verilen herhangi bir cevapta neredeyse kesinlikle bahsedileceği için yazılım istemek zaten gereksizdir.
Anaksunaman

1
Katılıyorum. Ve bitti. İyi şanslar. =)
Anaksunaman

2
"Video için çok mu büyük?" Buna katıldığımdan emin değilim. Bazı kodeklerin çok yüksek veya sınırsız maksimum çözünürlükleri vardır. İzlenebilir bir video oluşturmaya çalışmıyorsunuz, sadece statik görüntüleri sıkıştırmanız yeterli. Meta verileri altyazı veya diğer veriler olarak kodlayabilir misiniz?
benshepherd

1
Uygulamalar listesine eklemek için, gelecekte ek parçalar alacak olan bir zaman atlamalı projenin orijinal karelerini saklamak için buna ihtiyacım olacak. Mevcut 10.000 x 4K JPG görüntüler 25 GB alan kaplar ve bunlardan oluşan bir MP4 yalnızca 85 MB alır.
Akseli Palén

Yanıtlar:


6

Bunu yapan belirli bir yazılım bilmiyorum, ancak konuyla ilgili biraz araştırma var. Örneğin, Samy Ait-Aoudia, Abdelhalim Gabis, Amina Naimi tarafından hazırlanan Benzer Görsellerin Sıkıştırılması ve Jiann-Der Lee, Shu-Yen Wan, Chemg-Min Ma, Rui'nin hibrit sıkıştırma modeli kullanılarak benzer imajların sıkıştırılması makalelerine bakın. Feng Wu.

Daha pratik bir düzeyde, çıkarma tekniğinizi, örneğin ardışık görüntüler arasındaki farkı hesaplamak, sonucu bir jpeg (veya kayıpsız olmasını istiyorsanız sıkıştırılmış bir png) olarak kaydetmek için ImageMagick kullanan bir komut dosyası yazarak genişletebilirsiniz . Bir temel görüntü ve çok daha küçük olması gereken bir dizi sıkıştırılmış "delta" görüntüsü alırsınız. ImageMagick'i kullanarak farkı hesaplamak için:

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

Geri ekleyerek yeniden hesaplamak için:

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

(Aynı şeyi jpg kullanarak yapabilir ve çok fazla alan kazanabilirsiniz).


Bunun taşmaları yönetmediği anlaşılıyor. Çok farklı renklere sahip benzer görüntülerim var ve bu nedenle, yeniden hesaplanan görüntülerde, Eksi / Artı veya Çıkar / Ekle'yi kullanarak bazı eserler var.
Adrien Clerc
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.