Muszę zmniejszyć rozmiar mojej biblioteki zdjęć, więc naturalnie chcę je skompresować. Wiele z nich nie jest do końca identycznych, ale wciąż bardzo podobnych (kolejne ujęcia tej samej sceny). Czy istnieje algorytm kompresji, który wykorzystuje ten fakt do skutecznego kompresowania tych obrazów? 7zip (LZMA) jest bezużyteczny.
images
compression
jpeg
Erik
źródło
źródło
Wyobrażam sobie, że transformacja nory z koderem arytmetycznym byłaby idealna do tego, biorąc pod uwagę wystarczająco duże okno. Co się stanie, jeśli skonfigurujesz BZIP2 do używania rozmiaru bloku równego niewielkiemu ciągowi zdjęć? Będzie wolniejszy i zajmie więcej pamięci, ale współczynnik kompresji powinien gwałtownie wzrosnąć. A czy próbowałeś już LZMA z większymi rozmiarami bloków?
źródło
Oto proste rozwiązanie, które nie działa w przypadku zdjęć, ale może działać, jeśli jeden ma kilka obrazów z dużymi identycznymi obszarami piksel po pikselu: zapisz obrazy w rozpakowanym formacie, takim jak BMP (nie PNG lub GIF), a następnie TAR i skompresuj z przyzwoitym kompresorem, takim jak XZ, np. w systemie Linux z czymś takim
Zamiast TAR i XZ można użyć 7-Zip z opcją „solidnego archiwum”, aby uzyskać mniej więcej taką samą wydajność. W ten sposób mogłem skompresować 16 podobnych zrzutów ekranu, które po zapisaniu jako osobne pliki PNG zajmowały około 900 KB, do archiwum 2 MB. Zaletą tego rozwiązania jest to, że wykorzystuje popularne formaty plików, dzięki czemu działa bez instalowania nowego oprogramowania. (Niestety starsze i jeszcze bardziej popularne programy GZIP i BZIP2 nie wykonały dla mnie dobrej roboty - być może dlatego, że rozmiar bloku BZIP2 nie może być skonfigurowany tak, aby był większy niż 900 KB.)
źródło
Nie to, że widziałem. Prawdopodobnie najbliższą rzeczą byłoby pobranie kilku podobnych plików JPEG i umieszczenie ich w filmie MJPEG. Możesz również użyć APNG lub animowanych plików GIF w podobnym celu.
Nie jestem jednak pewien, jak dobrze by to działało, i wygląda na to, że mówisz już o zrzutach ekranu z filmu, więc ponowne ich zapakowanie do pliku filmowego brzmi ... nieproduktywnie.
Być może lepszym sposobem, jeśli nadal masz klipy, z których pochodzą ekrany, byłoby po prostu znalezienie narzędzia wiersza polecenia, które może wyodrębnić dla ciebie dokładną ramkę, skopiować ten unikalny identyfikator do pliku tekstowego w dowolnym miejscu, a wtedy zawsze możesz łatwo ponownie wyciągnij ramkę, gdy jej potrzebujesz.
źródło