Здравствуйте, watchmaker, Вы писали:
W>Арифметическое кодирование хотя и подбирается по эффективности сжатия к теоретическому пределу (а также обладает простым описанием и реализацией)
Что значит подбирается, оно же вроде как и кодирует в виде числа, т.е. равно этому пределу, разве нет?
W>Уже не используется в новых разработках алгоритмов сжатия.
Почему?
W>Asymmetric numeral systems в области энтропийных кодеров его безоговорочно победил.
Сжал еще сильнее или работает быстрее? За счет чего победил-то, как сильно?
Здравствуйте, Videoman, Вы писали:
W>>Asymmetric numeral systems в области энтропийных кодеров его безоговорочно победил. V>Сжал еще сильнее или работает быстрее? За счет чего победил-то, как сильно?
На него ещё дают гранты, а на арифметическое кодирование — уже нет. Вот за этот счёт.
Здравствуйте, vsb, Вы писали:
vsb>Имеется последовательность чисел, которая плавно возрастает, убывает и тд. Хочется её сжать. Числа с точностью 4 цифры после запятой.
vsb>Базовая оценка: текстовый JSON вида {"items": [0.1234, 0.1234, 0.1235, 0.1235, ...]} занимает 358 KB, сжимается гзипом до 73 KB.
Это всё очень похоже на сжатие временных рядов. Если делать в целых, то Simple8b+RLE; если в числах с плавающей точкой (хотя зачем?), то XOR-based aka Gorilla от Фейсбука.
vsb>Четвёртый подход — замечаем, что разницы умещаются в два байта максимум, а порой и в 1 байт, делаем немного умней алгоритм и сохраняем их группами то по 2 байта, то по 1 байту. Гзипаем результат, получилось 38K.
Я думаю, можно опуститься до бит. Не помню, но есть алгоритм, где биты указывают сколько бит, потом идёт число, вписывающееся в это количество бит. Причём, бит, которые указывают сколько бит информации, тоже может быть переменное количество.
Здравствуйте, vsb, Вы писали:
vsb>Имеется последовательность чисел, которая плавно возрастает, убывает и тд. Хочется её сжать. Числа с точностью 4 цифры после запятой.
vsb>Базовая оценка: текстовый JSON вида {"items": [0.1234, 0.1234, 0.1235, 0.1235, ...]} занимает 358 KB, сжимается гзипом до 73 KB.
Вопрос — что за числа? Если это что то типа графика величины от времени и допустимы потери то есть, например, алгоритм Swinging Doors.