Byte pair compression: итеративно во входных данных неиспользуемый байт начинает кодировать часто встречающиеся пары других байт. На текстах эффективность алгоритма может быть сопоставима с LZ, кодирование/декодирование значительно проще. http://www.drdobbs.com/article/print?articleId=184402829&siteSectionName=
Кодирование долгое. Но хранить тексты в МК -- может оказаться вполне ок. Впрочем такой алгоритм по-моему сопоставим и хуже статического Хаффмана, который тупо заменяет заданные последовательности (разной длины) бит на символы. Но проще, т.к. всё же посимвольный, а не побитный. Арифметические или range coder'ы в такой ситуации вообще исключтельно медленные.