по модулю N Код
Modulo- N Код — это алгоритм сжатия с потерями , используемый для сжатия коррелированных источников данных с использованием модульной арифметики .
Сжатие
[ редактировать ]При применении к двум узлам в сети, данные которых находятся в непосредственной близости друг от друга по модулю, код N требует, чтобы один узел (скажем, нечетный) отправлял значение закодированных данных в качестве необработанных данных. ; четный узел необходим для отправки закодированных данных в качестве . Отсюда и название по модулю N- кода.
Поскольку по крайней мере биты необходимы для представления числа K в двоичном виде, данные по модулю двух узлов требуют биты. Как мы обычно можем ожидать всегда, потому что . Вот как достигается сжатие.
Достигнутая степень сжатия равна
Декомпрессия
[ редактировать ]В приемнике путем совместного декодирования мы можем завершить процесс извлечения данных и восстановления исходных значений. Код четного узла реконструируется в предположении , что он должен быть близок к данным нечетного узла. Следовательно, алгоритм декодирования извлекает даже данные узла как
Декодер по существу находит наиболее близкое совпадение с и декодированное значение объявляется как
Пример
[ редактировать ]Для кода mod-8 у нас есть Кодер
D_o=43,D_e=47 M_o=43,M_e=47 mod(8) = 7,
Декодер
M_o=43,M_e=47 mod(8) = 7,
D_o=43,D_e=CLOSEST(43,8⋅k + 7)
D_o=43,D_e=47
Декодирование по модулю N аналогично фазовому разворачиванию и имеет то же ограничение: если разница от одного узла к другому превышает N /2 (если фаза изменяется от одного отсчета к следующему более чем на ), то декодирование приводит к неправильному значению.
См. также
[ редактировать ]- DISCUS — более сложный метод сжатия коррелированных источников данных.
- Дельта-кодирование — это родственный алгоритм, используемый в алгоритмах сжатия без потерь, предназначенных для коррелированных источников данных.