https://github.com/bulatruslanovich/arithmetic-coding
Arithmetic coding - common algorithm used in both lossless and lossy data compression algorithms
https://github.com/bulatruslanovich/arithmetic-coding
arithmetic-coding php
Last synced: 4 months ago
JSON representation
Arithmetic coding - common algorithm used in both lossless and lossy data compression algorithms
- Host: GitHub
- URL: https://github.com/bulatruslanovich/arithmetic-coding
- Owner: BulatRuslanovich
- Created: 2024-03-19T11:24:43.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-19T11:39:17.000Z (over 1 year ago)
- Last Synced: 2025-01-06T14:44:03.489Z (5 months ago)
- Topics: arithmetic-coding, php
- Language: PHP
- Homepage:
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Arithmetic-coding
### Арифметическое кодирование / Arithmetic coding*Арифметическое кодирование — один из алгоритмов энтропийного сжатия.*
*В отличие от алгоритма Хаффмана, не имеет жесткого постоянного соответствия входных символов группам бит выходного потока. Это даёт алгоритму большую гибкость в представлении дробных частот встречаемости символов.*
*Как правило, превосходит алгоритм Хаффмана по эффективности сжатия, позволяет сжимать данные с энтропией, меньшей 1 бита на кодируемый символ, но некоторые версии имеют патентные ограничения от компании IBM.* (wikipedia)


### Общий принцип (алгоритм) работы:
#### Кодирование:
1. На вход программы поступает текст - вводится с клавиатуры.
2. Из полученного текста создается алфавит - массив символов, исключающий повторы.
3. Создается массив накапливаемых частот (размер которого равен размеру алфавита) для символов из алфавита.
4. Вызывается классовый метод кодирования, преобразующий исходный текст в последовательность 0 и 1#### Раскодирование:
1. На вход поступает строка, состоящая из закодированных символов (т.е. кодовая строка из 0 и 1).
2. Вызывается классовый метод декодирования, преобразующий последовательность 0 и 1 в исходный текст