Najlepszy algorytm kompresji dla zdjęć poklatkowych

9

Mam folder zawierający około 9 000 zdjęć JPEG (około 30 GB), które chcę zarchiwizować za pomocą pewnego rodzaju kompresji. Rozumiem, że kompresja plików JPEG zwykle nie jest bardzo skuteczna, ale te zdjęcia są klatkami poklatkowymi, więc istnieje ogromna podobieństwo między większością zdjęć. Czy w takim przypadku prawdopodobnie uda mi się uzyskać więcej niż zwykle redukcji rozmiaru pliku? Czy istnieje jakiś (powszechny) algorytm kompresji, który może być szczególnie dobry w tym scenariuszu?

Stephen
źródło
1
Czy możesz po prostu użyć standardowego kodeka wideo, takiego jak h264?
CodesInChaos

Odpowiedzi:

9

To interesujące pytanie: czy popularne algorytmy kompresji mogą nadal wykorzystywać redundancję w ramkach po ich indywidualnej kompresji, czy też indywidualna kompresja jest zbyt dobra, aby „pozostawić ślady”? Nie wiem i musiałbyś spróbować, aby uzyskać wiarygodną odpowiedź.

Jednak prawie na pewno lepszym pomysłem jest przechowywanie wszystkich tych klatek jako strumienia wideo, ponieważ kodery wideo są napisane specjalnie dla tego zadania. (Ponowne użycie udanych bibliotek jest prawie zawsze szybsze i bardziej wydajne niż tworzenie własnych). W razie potrzeby zawsze możesz wyodrębnić każdą klatkę z filmu. Nie sądzę, że można znaleźć standardową sprężarkę, która poradziłaby sobie z tym zadaniem równie dobrze, jak te, które są dostosowane do danego zadania.

Kilian Foth
źródło
2
@Stephen Za pomocą ffmpeg można przekonwertować obrazy na wideo. trac.ffmpeg.org/wiki/… To utrudni kompresję obrazów. Możesz później użyć ffmpeg, aby wyciągnąć ramki z powrotem. Byłoby to potencjalnie bardzo stratne, ale możesz poprawić poziomy jakości, aby to złagodzić.
Sirisian
6

Metody kompresji danych wykorzystujące redundancję między poszczególnymi grupami danych zestawu (zwykle zestaw podobnych obrazów) są nazywane kompresją Set Redundancy (SRC zaproponowała po raz pierwszy Kosmas Karadimitriou w 1996 r.).

Istnieją cztery dobrze znane typy technik SRC:

  • Metoda różnicowa Min-Max (MMD)
  • Metoda predykcyjna Min-Max (MMP)
  • metoda centroid
  • wielopoziomowa metoda centroid

Porównanie zestawionych technik kompresji redundancji (Samy Ait-Aoudia i Abdelhalim Gabis) zawiera krótki opis i porównanie różnych algorytmów.

Metody MMP zwykle działają lepiej niż inne techniki SRC.

SRC jest aktywną dziedziną badań, ale prawie nie znajdziesz gotowego do użycia oprogramowania.


Ponieważ Twoje zdjęcia są klatkami poklatkowymi, masz wysoką „tymczasową redundancję”, a metody kompresji wideo mogą być skutecznie stosowane. Jednak:

  • obrazu nie można zdekompresować bez dekompresji wielu innych obrazów;
  • większość metod kompresji wideo jest stratna.

Weź również pod uwagę, że pliki JPEG mogą być dalej kompresowane: oprogramowanie oparte na algorytmie mieszania kontekstu (np. Archiwizatory bezstratnej kompresji danych PAQ ) są całkiem dobre pod tym względem (kosztem szybkości i pamięci).

manlio
źródło