СРАВНИТЕЛЬНЫЙ АНАЛИЗ ЭФФЕКТИВНОСТИ ГИБРИДНЫХ МЕТОДОВ СЖАТИЯ ИЗОБРАЖЕНИЙ, ИСПОЛЬЗУЮЩИХ АЛГОРИТМ ХАФФМАНА Нуралин Д.Г. Email: [email protected]
Нуралин Дмитрий Германович — магистрант, кафедра мультимедийных сетей и услуг связи, Московский технический университет связи и информатики, г. Москва
Аннотация: в статье представлена краткая характеристика наиболее распространенных современных методов сжатия изображений. Основная цель этой работы — провести эмпирическое сравнение между дискретным вейвлет-преобразованием и дискретным косинусным преобразованием в сочетании с кодированием Хаффмана с точки зрения критериев оценки эффективности методов сжатия: коэффициента сжатия, среднеквадратичной ошибки, отношения пикового сигнала к шуму, индекса структурного сходства, а также времени сжатия и распаковки. На основе данных критериев, проводится сравнительный анализ гибридных алгоритмов. В заключение сделаны выводы о наиболее эффективном методе.
Ключевые слова: сжатие изображений, ДКП, ДВП, алгоритм Хаффмана, коэффициент сжатия, пиковое отношение сигнала к шуму.
COMPARATIVE ANALYSIS OF HYBRID IMAGE COMPRESSION METHODS USING HUFFMAN CODING Nuralin D.G.
Nuralin Dmitry Germanovich — Master's Student, DEPARTMENT OF MULTIMEDIA NETWORKS AND COMMUNICATION SERVICES, MOSCOW TECHNICAL UNIVERSITY OF COMMUNICATION AND INFORMATICS, MOSCOW
Abstract: the article provides a brief description of the most common modern image compression methods. The main goal of this work is to conduct an empirical comparison between a discrete wavelet transform and a discrete cosine transform in combination with Huffman coding in terms of criteria for evaluating the effectiveness of compression methods: compression ratio, standard error, peak signal to noise ratio, structural similarity index, and time compression and decompression. Based on these criteria, a comparative analysis of hybrid algorithms is carried out. Finally, conclusions are drawn about the most effective method.
Keywords: image compression, DCT, DWT, Huffman algorithm, CR, PSNR.
УДК004.627, УДК004.921
В последние десятилетия спрос на сжатие изображений возрос, особенно после стремительного развития устройств с камерой и распространения обмена изображениями и видео высокого качества через Интернет. Приложения, основанные на изображениях, таких как приложения в телемедицине, камеры и системы видео по запросу, использующие большие объемы данных для передачи данных. Основная идея сжатия изображения состоит в том, чтобы уменьшить размер изображения, чтобы минимизировать пространство для хранения и увеличить скорость передачи. Сжатие данных - это процесс, в результате которого происходит преобразование исходных данных в их компактную форму путем распознавания и использования шаблонов, существующих в данных. Методы сжатия данных используются во многих приложениях реального времени, таких как спутниковые изображения, географические информационные системы, графика, беспроводные сенсорные сети и т.д. Целью сжатия является устранение избыточности и ненужности данных с целью снижения затрат на хранение и передачу при сохранении хорошего качества.
Есть две разные категории методов сжатия изображений: методы с потерями и без потерь. Сжатие с потерями - это класс алгоритмов, который преобразует исходные данные в более компактную форму и не может восстановить исходные данные обратно без ошибок. Сжатие без потерь - это метод, который обрабатывает исходные данные без потери какой-либо информации в процессе декомпрессии. Сжатие без потерь обычно используется с текстовыми файлами, где входные и выходные данные одинаковы до и после процесса сжатия, в то время как сжатие с потерями применяется при работе с различными типами данных, такими как
изображения, видео и аудио данные. При сжатии с потерями входные данные и выходные не совпадают, что означает, что в процессе сжатия происходит потеря некоторых данных, поэтому при выполнении процесса декомпрессии мы получаем более точное приближение входных данных. Методы сжатия без потерь включают алгоритм Хаффмана, LZW, арифметическое кодирование и т.д. Примерами методов сжатия с потерями является дискретное косинусное преобразование (ДКП), дискретное вейвлет-преобразование (ДВП) и т.д.
ДКП и ДВП являются наиболее широко используемыми методами кодирования с преобразованием, которые способны сжимать данные с использованием наименьшего числа коэффициентов [1]. Однако основными недостатками ДКП являются эффект ложного оконтуривания и блокирование артефактов при более высокой степени сжатия. Точно так же ДВП требует огромных вычислительных ресурсов.
В этой статье были проанализированы и реализованы метод сжатия изображений ДКП в сочетании с кодированием Хаффмана и метод сжатия изображений ДВП в сочетании с кодированием Хаффмана. Два комбинированных метода были оценены с использованием различных показателей эффективности.
Есть много исследований, которые были проведены для сравнения методов сжатия с использованием ДКП и ДВП [2], [3]. Однако данные эксперименты проводились только на одном или двух изображениях с разными размерами и не учитывали время сжатия и декомпрессии.
ДКП является одним из подходов к сжатию с потерями, который обычно применяется в составе алгоритма JPEG. ДКП очень приближен к дискретному преобразованию Фурье (ДФП), но ДКП включает в себя основу косинусных функций и вещественных коэффициентов. Как ДФП, так и ДКП преобразуют данные из пространственной области в частотную область. Обратная функция используется для восстановления изображения. Основная идея ДКП -преобразовать сигнал в основные частотные компоненты. Изображение делится на несколько блоков. Затем сумма косинусных функций на разных частотах может быть математически использована для выражения каждого блока изображения. Например, JPEG - это хорошо известная схема сжатия, основанная на ДКП. Для ДКП изображение сначала преобразуется в соответствующий формат для сжатия изображения. Изображение делится на блоки размером (8 х 8) пикселей, каждый из которых кодируется при помощи ДКП, которое в своей работе использует пространственную корреляцию между пикселями.
После преобразования большая часть информации становится восприимчивой для нескольких низкочастотных компонентов, которые затем квантуются, чтобы уменьшить количество битов, необходимых для представления изображения. Этап квантования создает множество нулевых компонентов в битовом потоке. Следовательно, энтропийное кодирование, такое как код Хаффмана, может обеспечить лучшее сжатие.
ДВП - еще одна популярная методика сжатия с потерями, которая обычно применяется в области фото-видео сжатия. Основная идея ДВП состоит в том, чтобы разложить сигнал на набор базовых функций, который преобразует дискретный сигнал в дискретное вейвлет-представление. ДВП в основном используется в своей двумерной версии. Она использует одномерное ДВП по строкам для получения низкочастотных (L) и высокочастотных (H) поддиапазонов. Затем одномерное ДВП можно применять по столбцам для получения четырех поддиапазонов, таких как LL, LH, HL и HH. Кроме того, каждый из этих четырех поддиапазонов может быть разделен еще на четыре части [4].
Энтропийное кодирование - это метод, который назначает двоичные коды для выходных данных этапов преобразования и квантования. Кодирование с переменной длиной используется для того, чтобы иметь меньшую среднюю длину битов на пиксель для изображения, при этом оно заменяет каждый входной символ конкретным кодовым словом. Это среднее число битов, которое необходимо для кодирования символа в источнике S. Энтропия H(S) источника информации с алфавитом S = {s1, s2, — , sn} представлена в формуле 1 :
п
Я(5) =Ург1о8Д (1)
h Pi
где р; - вероятность появления символа s; в алфавите S, log2 — указывает количество
Pi
информации, содержащейся в s;, которое соответствует количеству битов, необходимых для кодирования. Наиболее широко используемые методы энтропийного кодирования в литературе по сжатию данных - это кодирование Хаффмана и Шеннона-Фано.
Кодирование Хаффмана является известным методом кодирования со сжатием, который заменяет кодовые слова фиксированной длины кодовыми словами переменной длины, где низкочастотные символы выражаются более длинными кодировками, а высокочастотные символы выражаются более короткими кодировками. Это тип оптимального префиксного кода, который широко используется при сжатии данных без потерь. Кодирование Хаффмана однозначно декодируется и состоит из двух компонентов, таких как построение дерева Хаффмана из входной последовательности и обход дерева для назначения кодов символам. Два узла на одном и том же уровне дерева будут иметь одинаковую длину кода. Кодирование Хаффмана по-прежнему популярно из-за его более простой реализации, более быстрого сжатия и отсутствия патентного покрытия. Несколько методов сжатия, таких как Deflate, JPEG, MP3 и т.д. используют алгоритм Хаффмана в качестве внутреннего метода.
В этом исследовании в результате сравнительного анализа были применены алгоритмы ДКП и ДВП в сочетании с алгоритмом Хаффмана. Для оценки производительности обоих комбинированных методов сжатия был использован набор из пяти разных изображений формата BMP одинакового размера (256 х 256), представленных на рисунке 1. Данный размер выбран для упрощения реализации ДКП и ДВП, где компоненты изображения разделены на (8 х 8) блоков для реализации ДКП.
Рис 1. Тестовый набор изображений
Для преобразования ДКП изображение разделяется на блоки 8х8 пикселей, которые затем преобразуются в частотную плоскость с использованием быстрого ДКП. После преобразования большая часть информации концентрируется на нескольких низкочастотных компонентах. Эти компоненты затем квантуются, чтобы уменьшить количество битов, необходимых для представления изображения. Шаг квантования снизит качество изображения за счет снижения точности компонентов. Что касается алгоритма ДВП, то в результате применения ДВП к входному изображению оно разделяется на четыре непересекающихся поддиапазона: LL, LH, НЬ и НН. Поддиапазон LL представляет крупные коэффициенты ДВП, в то время как поддиапазоны ЬН, НЬ и НН представляют мелкомасштабные коэффициенты. Затем квантование и кодирование поддиапазонов используются для уменьшения количества битов, необходимых для представления изображения. Этот шаг снизит качество изображения, но не как ДКП, потому что в ДКП информация сконцентрирована на меньшем количестве компонентов, на которые квантование может повлиять более чувствительно, чем в ДВП. Более того, ДВП избегает блокирующих артефактов, которые могут возникнуть, разделяя входное изображение на блоки, как в ДКП [3].
В таблице 1 приведены экспериментальные результаты факторов сравнения, полученных с использованием кодирования ДКП и Хаффмана (ДКП-Х). В таблице 2 показаны те же факторы для ДВП в сочетании с кодированием Хаффмана (ДВП-Х). В качестве показателей оценки эффективности алгоритмов были использованы коэффициент сжатия (CR), среднеквадратичная ошибка (М8Е), пиковое отношение сигнал / шум (PSNR), показатель индекса структурного сходства (SSIM), а также время сжатия и время декомпрессии.
Таблица 1. Вычисление средних значений коэффициентов метода ДКП-Х
Изображения CR PSNR MSE SSIM Время декодирования Время кодирования
Оператор 1.73 36.05 16.31 0.576 0.13 1.15
Глаз 2.67 36.71 13.92 0.735 0.15 0.17
Снежный барс 1.49 35.58 17.88 0.821 0.11 0.13
Снимок МРТ 3.36 39.37 7.56 0.897 0.10 0.14
Рис 2.57 38.05 10.29 0.773 0.13 0.21
Среднее 2.364 37.152 13.192 0.7604 0.124 0.36
Изображения CR PSNR MSE SSIM Время декодирования Время кодирования
Оператор 1.97 40.81 5.41 0.713 2.45 2.71
Глаз 2.11 40.11 6.41 0.855 2.28 2.65
Снежный барс 1.59 40.49 5.79 0.850 2.89 3.16
Снимок МРТ 8.23 49.59 0.71 0.992 0.64 0.69
Рис 1.98 41.71 4.41 0.857 2.41 2.71
Среднее 3.176 42.542 4.546 0.8534 2.134 2.384
Результаты показывают, что ДВП в сочетании с кодированием Хаффмана дают в основном более высокую степень сжатия, PSNR и SSIM, чем ДКП в сочетании с кодированием Хаффмана. Следовательно, производительность ДВП-Х сравнительно выше, чем производительность ДКП-Х. Среднее значение метрики CR для пяти изображений составило 2,364 для гибрида с ДКП и 3,176 для гибрида с ДВП. Что касается MSE, PSNR и SSIM, средние значения результата метода с ДКП были: MSE = 13,192, PSNR = 37,152 и SSIM = 0,7604. Метод с ДВП имеет средние значения результатов MSE = 4,546, PSNR = 42,542 и SSIM = 0,8534. С другой стороны, ДКП-Х превосходит ДВП-Х по времени выполнения сжатия и распаковки. ДКП-Х имеет среднее время выполнения 0,36 с. для сжатия и среднее время выполнения 0,124 с. для декомпрессии, в то время как время сжатия в ДВП-Х составляет 2,384 с. и 2,134 с. время декомпрессии.
Список литературы / References
1. Uthayakumar J., Vengattaraman T. and Dhavachelvan P. A Survey on Data Compression Techniques: From the Perspective of Data Quality, Coding Schemes, Data Type and Applications // Journal of King Saud University - Computer and Information Sciences, 2018. pp. 4-7.
2. Barbhuiya A. H. M. J. I., Laskar T. A. and Hemachandran K. An Approach for Color Image Compression of JPEG and PNG Images Using DCT and DWT // Proc. of the International Conference on Computational Intelligence and Communication Networks (CICN), 2014. p. 129.
3. Saroya N. and Kaur P. Analysis of Image Compression Algorithm Using DCT and DWT Transforms // International Journal of Advanced Research in Computer Science and Software Engineering, 2014. vol. 4, no. 2.
4. Ze-Nian Li, Mark S. Drew, Jiangchuan Liu Fundamentals of Multimedia, 2nd Ed.: Springer International Publishing, 2014.