Я сжимаю 8 бит байтов, и алгоритм работает только в том случае, если количество уникальных одиночных байтов, найденных в данных, равно 128 или меньше.Улучшить этот алгоритм сжатия?
Я беру все уникальные байты. В начале я храню таблицу, содержащую один раз каждый уникальный байт. Если они равны 120, я храню 120 байт.
Затем, вместо хранения каждого элемента в пространстве 8 бит, я сохраняю каждый элемент в 7 бит один за другим. Эти 7 бит содержат позицию позиции в таблице.
Вопрос: Как я могу избежать хранения этих 120 байт в начале, путем хранения возможных таблиц в моем коде?
Вы не можете, ваш алгоритм находится на этой странице. Вас может заинтересовать кодировка huffman, которая очень похожа на вашу: http://en.wikipedia.org/wiki/Huffman_coding – BlackBear
Я могу уменьшить размер таблицы двумя способами: a) сжать таблицу; b) сохранить возможную таблицы в моем коде. Возможно ли? – Luka
нет, у вас будет 120! (6.7e198) возможные таблицы для хранения. Если вам удастся создать всегда одну и ту же таблицу, вам не нужно ее отправлять, хотя – BlackBear