Добавил:
надеюсь это добро кому-то поможет Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба 1 4 сем сжатие без потерь.docx
Скачиваний:
1
Добавлен:
09.07.2025
Размер:
1 Mб
Скачать

Практическая часть Задание 1

Для исследования зависимости энтропии от длины блока на который разбиается текст для файла enwik7 были взяты размеры от 1000 до 10000. Результаты представлены в таблице 1 и на графике 1.

Длина блока

Величина энтропии

1000

4.2122

2000

3.9299

3000

3.7866

4000

3.6909

5000

3.6224

6000

3.5689

7000

3.5229

8000

3.4864

9000

3.4536

10000

3.4251

Таблица 1 – Зависимость энтропии от длины блока

График 1 - Зависимость энтропии от длины блока

По графику и таблице можно сделать вывод о том, что с увеличением длины блока энтропия уменьшается. Однако при слишком больших значениях для декодирования потребуется больше памяти и алгоритмы станут более затратными.

Задание 2

Для исследования коэффициента сжатия в зависимости от алгоритма LZ77 было проверено окно длиной 256, 512, 1024, 2048, 8192, 16384. Тест проводится на файле объемом 257070 Кб. Данные о коэффициенте и длине закодированных данных представлены в таблице 2. А также выведены на график 2.

Размер буфера (окна)

Длина закодированного сообщения

Коэффициент сжатия

256

410355

0.626

512

320295

0.803

1024

260805

0.986

2048

220465

1.166

4096

192315

1.337

8192

171600

1.498

16384

155775

1.65

Таблица 2 – зависимость коэффициента сжатия от размера буфера

График 2 – зависимость коэффициента сжатия от размера буфера

По графику и таблице видно, что коэффициент сжатия увеличивается с увеличением размера окна. Также можно заметить, что после достижения окна в 8192 байта, коэффициент увеличивается медленнее, а временные затраты растут в связи с большим количеством сравнений. Следовательно, оптимальным размером окна будет значение примерно в 4096 байт.

Задание 3

В работе для кодирования взяты файлы enwik7, русский текст exe файл.

Пример 1 – Файл с русским тестом

Также для сжатия были выбраны изображения, переведенные в формат RAW. Рис 1 – черно-белое изображение. Рис 2 – цветное изображения. Рис 3 – изображение в серых оттенках.

Рисунок 1

Рисунок 2

Рисунок 3

Данные о коэффициенте сжатия и объеме сообщений занесены в таблицы 3, 4, 5. Наиболее эффективные алгоритмы для каждого файла выделены цветом.

Компрессор

Файл

Envik7

Русский текст

Размер текста

Коэфф.

Размер текста

Коэфф.

До/после

Компр.

До/после

Компр.

HA

10000000/

10000000

6412387

1.559

257070/

257070

132868

1.935

RLE

10015023

0.998

257577

0.998

BWT+RLE

9176618

1.09

146927

1.75

BWT+MTF+HA

5239084

1.909

103962

2.473

BWT+MTF+RLE+HA

5995195

1.668

99325

2.588

LZ77

14954910

0.669

220465

1.166

LZ77+HA

7256886

1.378

143598

1.79

LZ78

6760525

1.479

190760

1.348

LZ78+HA

5408977

1.849

126880

2.026

Таблица 3 – Данные о коэффициенте сжатия для enwik7 и русского текста.

Компрессор

Файл

Exe file

Черно-белое изображение

Размер текста

Коэфф.

Размер текста

Коэфф.

До/после

Компр.

До/после

Компр.

HA

1058336/ 1058336

908302

1.165

2764800/ 2764800

377832

7.318

RLE

1042218

1.015

104963

26.341

BWT+RLE

802622

1.319

69493

39.785

BWT+MTF+HA

681670

1.553

361246

7.654

BWT+MTF+RLE+HA

686448

1.542

37680

73.376

LZ77

2356580

0.449

294670

9.383

LZ77+HA

927807

1.141

81037

34.118

LZ78

1196090

0.885

56440

48.987

LZ78+HA

878424

1.205

33823

81.743

Таблица 4 – Данные о коэффициенте сжатия для exe файла и черно-белого изображения.

Компрессор

Файл

Серое изображение

Цветное изображение

Размер текста

Коэфф.

Размер текста

Коэфф.

До/после

Компр.

До/после

Компр.

HA

484800/

484800

456987

1.061

1440000/

1440000

1152295

1.249

RLE

484973

1.001

1152168

1.25

BWT+RLE

485823

0.998

1145399

1.257

BWT+MTF+HA

378187

1.282

1081319

1.332

BWT+MTF+RLE+HA

395665

1.225

1030367

1.398

LZ77

1917200

0.353

4317710

0.334

LZ77+HA

681496

0.711

1489000

0.967

LZ78

730045

0.664

1622925

0.887

LZ78+HA

521717

0.929

1204287

1.196

Таблица 5 – Данные о коэффициенте сжатия для цветного и серого изображения.

После изучения таблицы выявлен самый эффективный алгоритм сжатия для каждого из представленных файлов. Для enwik7, произвольного бинарного файла exe – BWT+MTF+HA, русского текста, серого, цветного, изображений BWT+MTF+RLE+HA, для черно-белого изображения LZ78+HA. Также в некоторых других случаях алгоритм, содержащий кодирование LZ78 и Хаффмана показал хороший коэффициент сжатия.

Вывод

После исследования коэффициента сжатия для алгоритмов Хаффмана, Барроуза-Уиллера, RLE, MTF, LZ77, LZ78 выяснено что наиболее эффективными являются связки алгоритмов BWT+MTF+HA и BWT+MTF+RLE+HA.