/ / Kompresja do stałej długości - algorytm, kompresja

Kompresuj do stałej długości - algorytm, kompresja

Szukam algorytmu, który mógłby kompresowaćdane binarne, nie do najmniejszego rozmiaru, ale do określonego rozmiaru. Na przykład, jeśli mam nieskompresowane dane o różnych rozmiarach 1.2, 1.3, 1.4 ... KB, określę "compress to 1 KB" i zakładając, że dane mogą być skompresowane do rozmiarów .65, .74, .83 KB , algorytm zatrzymałby się na 1 KB i zwrócił ten standardowy rozmiar, pozostawiając pewną entropię w danych. Nie potrafiłem określić algorytmu dla tego. Czy istnieje?

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz ZIP i pad z zerami, ale nadal w niektórychprzypadku, gdy dane są wysoce losowe i nawet bardzo wydajne algorytmy kompresji nie mogą kompresować danych, ponieważ nie ma korelacji między danymi, dlatego nie masz żadnej kompresji, więc uzyskanie kompresji do określonego rozmiaru nie jest możliwe.


0 dla odpowiedzi nr 2

To niemożliwe.

Dowód: Pewna kombinacja danych nie może być bezstratnie skompresowana, więc przypadek nie spełnia Twoich wymagań, aby osiągnąć stały rozmiar, zakładając, że rozmiar jest mniejszy niż oryginalne dane.

Jeśli akceptujesz kompresję stratną, jest to bardzo możliwe i dzieje się przez cały czas dla niektórych formatów wideo (kontener o stałym rozmiarze na jednostkę czasu, kompresja dostosowuje się do maksymalizacji użycia).