Изменения

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

Алгоритм LZMA

1148 байт добавлено, 13:51, 13 декабря 2016
Нет описания правки
3. Каждый символ сообщения кодируется, после чего диапазон сокращается до размера диапазона только что закодированного символа и вновь делится по вероятностям.<br/>
В декодере должны быть такое же распределение вероятностей как и при кодировании.
== Пример ==
Закодируем строку <tex>abehhilopsu</tex>.<br/>
Для начала пропустим ее через дельта фильтр.<br/>
Тогда исходная строка <tex>abehhilopsu</tex> примет вид: <tex>97</tex> <tex>1</tex> <tex>3</tex> <tex>3</tex> <tex>0</tex> <tex>1</tex> <tex>3</tex> <tex>3</tex> <tex>1</tex> <tex>3</tex> <tex>2</tex>. Как мы видим, теперь в нашей строке вместо 10 различных символов 5 различных символа.<br/>
Далее применим к получившейся строке метод "скользящего окна":
{| border="1"
!Сообщение
!Подстрока
!Код
|-
|<tex>\fbox{971330}133132 </tex>
|
|<0,0,<tex>97</tex>>
|-
|<tex>97\fbox{13301}33132</tex>
|
|<0,0,<tex>1</tex>>
|-
|<tex>971\fbox{33013}3132</tex>
|
|<0,0,<tex>3</tex>>
|-
|<tex>9713\fbox{30133}132</tex>
|<tex>3</tex>
|<1,1,<tex>0</tex>>
|-
|<tex>971330\fbox{13313}2</tex>
|<tex>133</tex>
|<4,3,<tex>1</tex>>
|-
|<tex>9713301331\fbox{32}</tex>
|<tex>3</tex>
|<2,1,<tex>2</tex>>
|}
Анонимный участник

Навигация