Современная программа сжатия с потерями
Кто-нибудь знает о современной программе сжатия LOSSY для данных BESIDES музыки и изображений? Мне нужен актуальный исполняемый или компилируемый исходный код.
Я пытаюсь сжать AMillionRandomDigits.bin.
Идея состоит в том, чтобы сжать AMillionRandomDigits.bin с потерями, а затем сохранить LOSSY_COMPRESSED (amillionrandomdigits.bin) + DIFF (LOSSY_UNCOMPRESSED, amillionrandomdigits.bin) http://www.stanford.edu/~hwang41/
1 ответ
@user562688: Сжать действительно случайное число невозможно. Идея доказательства состоит в том, что если вы пытаетесь сжать 100 бит до 90 бит, то вам нужно, чтобы все 2^100 строк помещались в пространство размером 2^90, что слишком мало. Поэтому будет много коллизий (в среднем не менее 2 ^ 10), что означает, что вы не можете декодировать его обратно в исходную строку.
Но чтобы ответить на ваш первоначальный вопрос, хотя алгоритм Джонсона-Линденштраусса сам по себе не является алгоритмом сжатия, он обладает некоторыми свойствами, аналогичными тому, что делается в сжатии изображений.
Цель алгоритма Джонсона-Линдентраусса состоит в том, чтобы взять множество векторов (скажем, n векторов) в R^n и найти отображение в гораздо меньшее пространство, R^log(n), такое, чтобы расстояния между всеми векторами не сильно меняйся.