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

Rle кодирование ac коэффициентов

Метод сжатия, который кодирует повторяющиеся элементы (нулевые коэффициенты AC) для представления в более компактном виде.

Существует два особых (специальных) случая:

- все оставшиеся коэффициенты - нули

-16 нулей подряд

Кодирование разностей dc коэффициентов и последовательностей Run/Size по таблице кодов Хаффмана и упаковки результата в байтовую строку

Завершающий этап кодирования, на котором для коэффициентов DC коэффицентов кодируется size, для AC каждая пара кодируется по таблице для runlength, size. Также рассматриваются специальные случаи из предыдущего пункта. Коды берутся из готовых таблиц кодов Хаффмана.

Хаффман коды обеспечивают эффективное представление часто встречающихся комбинаций.

Затем биты объединяются в одну строку и упаковываются в байты.

Практическая часть

Для начала подготовим тестовые изображения. Создадим версии RGB, Grayscale, с дизерингом, без дизеринга.

Lenna:

Image:

На основе созданного компрессора были получены изображения с уровнем качества 0, 20, 40, 60, 80, 100.

Далее представлены сжатые изображения с различными уровнями quality. Картинки в хорошем качестве размещены в репозитории гитхаб.

Оригинал Lenna.png:

Уровень качества 0:

Уровень качества 20:

Уровень качества 40:

Уровень качества 60:

Уровень качества 80:

Уровень качества 100:

Теперь построим график зависимости коэффициента сжатия от размера файла со сжатыми данными:

Как можно заметить, с увеличением значения quality размер также файла увеличивается.

Grayscale Lenna.png:

Уровень качества 0:

Уровень качества 20:

Уровень качества 40:

Уровень качества 60:

Уровень качества 80:

Уровень качества 100:

Построим график зависимости коэффициента сжатия от размера файла со сжатыми данными:

С увеличением значения quality размер также файла увеличивается.

С дизерингом Lenna.png:

Уровень качества 0:

Уровень качества 20:

Уровень качества 40:

Уровень качества 60:

Уровень качества 80:

Уровень качества 100:

Построим график зависимости коэффициента сжатия от размера файла со сжатыми данными:

С увеличением значения quality размер также файла увеличивается.

Без дизеринга Lenna.png:

Уровень качества 0:

Уровень качества 20:

Уровень качества 40:

Уровень качества 60:

Уровень качества 80:

Уровень качества 100:

Построим график зависимости коэффициента сжатия от размера файла со сжатыми данными:

С увеличением значения quality размер также файла увеличивается.

Оригинал Image.png:

Уровень качества 0:

Уровень качества 20:

Уровень качества 40:

Уровень качества 60:

Уровень качества 80:

Уровень качества 100:

Построим график зависимости коэффициента сжатия от размера файла со сжатыми данными:

С увеличением значения quality размер также файла увеличивается.

Grayscale Image.png:

Уровень качества 0:

Уровень качества 20:

Уровень качества 40:

Уровень качества 60:

Уровень качества 80:

Уровень качества 100:

Построим график зависимости коэффициента сжатия от размера файла со сжатыми данными:

С увеличением значения quality размер также файла увеличивается.

С дизерингом Image.png:

Уровень качества 0:

Уровень качества 20:

Уровень качества 40:

Уровень качества 60:

Уровень качества 80:

Уровень качества 100:

Построим график зависимости коэффициента сжатия от размера файла со сжатыми данными:

С увеличением значения quality размер также файла увеличивается.

Без дизеринга Image.png:

Уровень качества 0:

Уровень качества 20:

Уровень качества 40:

Уровень качества 60:

Уровень качества 80:

Уровень качества 100:

Построим график зависимости коэффициента сжатия от размера файла со сжатыми данными:

С увеличением значения quality размер также файла увеличивается.

Вывод

В ходе лабораторной работы был создан компрессор, который сжимает изображение исходя из заданного уровня качества. Анализируя полученные изображения можно заметить, что при низких значениях quality качество заметно ухудшается, при средних значениях - менее ощутимо и при значениях, близких к 100 уже не заметно для человеческого глаза.

По графикам зависимости качества от размера сжатого файла с данными наблюдаем увеличивающейся характер при увеличении quality. Увеличение размера файла нелинейно, так как при разных уровнях сжатия встречается разное количество нулей, значительно влияющих на размер файла.