Фактически это арифметическое кодирование наоборот: там множество входных значений символов конечного алфавита (не обязательно байтов) преобразуется в последовательность битов. Здесь же задача преобразовать последовательность битов во множество таких символов. Т.е. можно использовать готовый арифметический декодер (например, range coder им. Субботина
http://caxapa.ru/854732.html), а все символы считать равновесными (в модели 0 порядка).