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?
algorithms
compression
Stephen
źródło
źródło
Odpowiedzi:
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.
źródło
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:
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:
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).
źródło