Изменения

Перейти к: навигация, поиск

Гамма-, дельта- и омега-код Элиаса

110 байт добавлено, 20:54, 29 ноября 2014
Разделение мантисс и экспонент
Английское название метода {{---}} Separate Exponents and Mantissas (SEM).
'''Цель''' {{---}} сжатие потока <tex>R</tex>-битовых элементов.
Основная идея состоит в том, чтобы отдельно описывать порядок значения элемента ("экспоненту" <tex>E_i</tex>) и отдельно {{---}} значащие цифры значения ("мантиссу" <tex>M_i</tex>).
Значащие цифры начинаются со старшей ненулевой цифры: например, в числе <tex>000001101_2</tex> = <tex>1\times2^0+0\times2^1+1\times2^2+1\times2^3+0\times2^4+0\times...= 13</tex> = 13 это последние <tex>4 </tex> цифры. Порядок числа определяется позицией старшей ненулевой цифры в записи числа. Как и при обычной записи в десятичной системе, он равен числу цифр в записи числа без предшествующих незначащих нулей. В данном примере порядок равен четырем.
Методы данной группы являются трансформирующими и поточными, то есть могут применяться даже в том случае, когда объем входных данных заранее не известен. В общем случае скорость работы компрессора (содержащего прямое, «сжимающее» преобразование) равна скорости декомпрессора (реализующего обратное, «разжимающее» преобразование) и зависит только от объема исходных данных. Памяти потребуется всего несколько байтов.
В самом простом случае под запись экспонент и мантисс отводится фиксированное число битов: <tex>Е </tex> и <tex>М</tex>. Причем <tex>E \geqslant 1</tex>, <tex>M \geqslant 1</tex>, <tex>E + M = R</tex>, где <tex>R </tex> {{---}} число битов в записи исходного числа.
Этот первый из четырех вариантов метода условно обозначим
1. Fixed <tex>+ </tex> Fixed (Фиксированная длина экспоненты {{---}} Фиксированная длина мантиссы), а остальные три:
2. Fixed <tex>+ </tex> Variable (Фиксированная длина экспоненты {{---}} Переменная длина мантиссы),
3. Variable <tex>+ </tex> Variable (Переменная длина экспоненты {{---}} Переменная длина мантиссы) и
4. Variable <tex>+ </tex> Fixed (Переменная длина экспоненты {{---}} Фиксированная длина мантиссы).
Есть несколько путей еще большего увеличения степени сжатия. Например, применение хорошо исследованных схем кодирования (Элиаса, Раиса, Голомба, Фибоначчи).
577
правок

Навигация