Введение
Мы проводим сравнительную оценку сжатия изображений WebP и JPEG на основе нового кодировщика, который мы выпустили в libwebp
. Цель состоит в том, чтобы провести серию легко повторяемых экспериментов с использованием общедоступных инструментов и сравнить сжатие изображений, достигнутое с помощью WebP и JPEG.
Наше более раннее сравнительное исследование WebP было сосредоточено на оценке большого количества изображений и проводилось на источниках JPEG, полученных из Интернета. JPEG — это формат сжатия с потерями, который вносит в источник артефакты сжатия. Кроме того, первоначально мы использовали пиковое отношение сигнал/шум или PSNR в качестве показателя качества. PSNR имеет некоторые недостатки при использовании в качестве показателя качества изображений. Основываясь на отзывах сообщества, мы проводим эксперименты с изображениями PNG, включая изображения, доступные в нескольких стандартных наборах тестов. В этом исследовании мы используем структурное сходство или SSIM в качестве показателя качества этого исследования. SSIM считается лучшим показателем визуального качества. .
Методология
Мы описываем два типа оценок. В первом случае мы изучаем дополнительное сжатие, достигаемое WebP при том же уровне качества, что и JPEG. В частности, мы генерируем изображения WebP того же качества (согласно индексу SSIM), что и изображения JPEG, а затем сравниваем размеры файлов изображений WebP и JPEG. Во втором случае мы анализируем графики SSIM и битов на пиксель (bpp) для WebP и JPEG. Эти графики показывают компромисс между скоростью и искажением для WebP и JPEG.
Наборы данных для экспериментов состоят из изображений PNG. Эти изображения были получены из общедоступных стандартных тестовых наборов изображений, а также из большой коллекции изображений PNG, полученных из Интернета.
Каждый эксперимент состоит из запуска набора команд. Используются только общедоступные инструменты командной строки, чтобы обеспечить возможность воспроизводимости экспериментов для других. В этом эксперименте использовались следующие инструменты командной строки:
identify
иconvert
— это инструменты командной строки, входящие в состав ImageMagick . Для этого анализа мы использовали версию 6.5.7. Мы использовалиconvert
для преобразования форматов PNG и PPM. Мы использовалиidentify
для извлечения информации о ширине и высоте изображения.cwebp
иdwebp
— это инструменты командной строки, являющиеся частью библиотекиlibwebp
, выпущенной нами в первом квартале 2011 года. Мы использовали версию библиотеки 0.1.2. Мы использовалиcwebp
иdwebp
для кодирования и декодирования изображений WebP. Мы использовали параметры кодирования и декодирования этих инструментов по умолчанию.cjpeg
иdjpeg
— это инструменты командной строки, входящие в библиотекуlibjpeg
. Мы использовали версию 6b библиотеки. Мы использовалиcjpeg
иdjpeg
для кодирования и декодирования изображения JPEG. Мы использовалиcjpeg
с флагом-optimize
для оптимизации размера файла. Для всех остальных параметров мы устанавливаем значения по умолчанию.
Качество изображения измерялось с помощью SSIM. Как отмечалось ранее, SSIM обычно считается более качественным показателем, чем PSNR. Для вычисления индекса SSIM мы использовали общедоступную реализацию на C++. Читатель может загрузить скрипты Python, которые мы использовали в экспериментах, из репозитория кода для справки.
Наборы данных изображений
Мы выбрали наборы данных для оценки стандартных тестовых коллекций изображений, а также большого набора изображений. Ниже приведен список наборов данных, использованных в экспериментах.
Ленна: широко используемое изображение Ленны (512 x 512 пикселей).
Kodak: 24 изображения из пакета полноцветных изображений Kodak .
Tecnick: 100 изображений из коллекции, доступной на Tecnick.com . Мы использовали 100 цветных изображений RGB исходного размера.
Image_crawl: Чтобы протестировать большое количество изображений, мы собрали случайную выборку изображений PNG из базы данных веб-сканирования Google Image Search. Большинство просканированных PNG-изображений представляют собой значки, графики, диаграммы, отсканированные документы и т. д. Однако большинство изображений в стандартных тестовых коллекциях похожи на фотографии, а не на компьютерные изображения. Чтобы сделать этот набор данных по своей природе похожим на стандартные наборы тестов, мы запустили алгоритм обнаружения лиц над этими PNG-изображениями и рассмотрели только те изображения (около 11 000) для этого эксперимента, которые прошли этот тест на обнаружение.
Эксперимент 1: WebP против JPEG при равном индексе SSIM
В этом эксперименте мы генерируем изображения JPEG и WebP с сопоставимыми значениями SSIM и измеряем соотношение размеров файлов. Этапы эксперимента следующие:
Сожмите исходное изображение PNG в JPEG с фиксированным параметром качества Q и запишите SSIM между исходным изображением PNG и сжатым изображением JPEG.
Сжимайте то же исходное изображение в WebP с параметром качества, максимально близким к записанному выше SSIM.
Мы выполнили два вышеуказанных шага для всех изображений в наборе данных, а затем измерили средний размер файла и SSIM для изображений JPEG и WebP.
В следующих таблицах показаны результаты этого эксперимента для трех различных значений (50, 75 и 95) параметра качества JPEG Q. Параметры качества 50 и 95 представляют сжатие изображения при низкой и высокой скорости передачи данных соответственно. Мы также включили параметр качества JPEG 75, поскольку это обычно рекомендуемый уровень качества для изображений JPEG.
Таблица 1. Средний размер файла для WebP и JPEG для одного и того же индекса SSIM, соответствующего JPEG Q=50.
Ленна | Кодак | Техник | Изображение_сканирование | |
---|---|---|---|---|
WebP: средний размер файла (Средний SSIM) | 17,4 КБ (0,841) | 31,0 КБ (0,898) | 92,4 КБ (0,917) | 6,5 КБ (0,901) |
JPEG: средний размер файла (Средний SSIM) | 23,5 КБ (0,840) | 42,7 КБ (0,897) | 124,6 КБ (0,916) | 9,9 КБ (0,899) |
Соотношение размера файла WebP и JPEG | 0,74 | 0,72 | 0,74 | 0,66 |
Таблица 2. Средний размер файла для WebP и JPEG для одного и того же индекса SSIM, соответствующего JPEG Q=75.
Ленна | Кодак | Техник | Изображение_сканирование | |
---|---|---|---|---|
WebP: средний размер файла (Средний SSIM) | 26,7 КБ (0,864) | 46,5 КБ (0,932) | 139,0 КБ (0,939) | 9,9 КБ (0,930) |
JPEG: средний размер файла (Средний SSIM) | 37,0 КБ (0,863) | 66,0 КБ (0,931) | 191,0 КБ (0,938) | 14,4 КБ (0,929) |
Соотношение размера файла WebP и JPEG | 0,72 | 0,70 | 0,73 | 0,69 |
Таблица 3. Средний размер файла для WebP и JPEG для одного и того же индекса SSIM, соответствующего JPEG Q=95.
Ленна | Кодак | Техник | Изображение_сканирование | |
---|---|---|---|---|
WebP: средний размер файла (Средний SSIM) | 74,3 КБ (0,910) | 118,0 КБ (0,978) | 356,0 КБ (0,970) | 23,4 КБ (0,969) |
JPEG: средний размер файла (Средний SSIM) | 104 КБ (0,907) | 162 КБ (0,976) | 492 КБ (0,970) | 31,3 КБ (0,968) |
Соотношение размера файла WebP и JPEG | 0,71 | 0,73 | 0,72 | 0,75 |
Из приведенных выше таблиц мы видим, что WebP дает дополнительный прирост сжатия на 25–34% по сравнению с JPEG при равном или немного лучшем индексе SSIM.
Эксперимент 2: графики SSIM и BPP для WebP и JPEG
Мы изучаем компромисс между скоростью и искажением JPEG и WebP. В частности, мы изучаем графики зависимости SSIM от битов на пиксель (bpp) для JPEG и WebP. Мы берем исходное изображение PNG, сжимаем его в JPEG и WebP, используя все возможные значения качества (0–100). Затем для каждого значения качества мы отображаем SSIM и bpp, достигнутые для JPEG и WebP. На следующих рисунках показаны графики зависимости SSIM от bpp для трех изображений, выбранных из трех общедоступных наборов данных, которые мы использовали.
Рисунок 1: SSIM и BPP для Ленны
Рисунок 2. SSIM и BPP для kodim19.png из набора данных Kodak.
Рисунок 3. SSIM и BPP для RGB_OR_1200x1200_061.png из набора данных Tecnick.
Кроме того, мы изучили среднее поведение графика SSIM в зависимости от bpp для наборов данных Kodak и Tecnick. Чтобы построить среднее поведение, мы сжимаем все изображения в наборе данных с помощью WebP и JPEG со 100 различными значениями качества. Затем мы отображаем среднее значение SSIM и bpp для каждого значения качества. Набор данных сканирования изображений состоит из разнородных изображений, которые не подходят для такого агрегирования данных. На следующих графиках показано среднее поведение SSIM и bpp для наборов данных Kodak и Tecnick соответственно.
Рисунок 4. SSIM и BPP для набора данных Kodak.
Рисунок 5. SSIM и BPP для набора данных Tecnick.
В целом, из приведенных выше графиков мы можем видеть, что WebP постоянно требует меньше битов на пиксель, чем JPEG, для достижения того же индекса SSIM.
Заключение
В исследовании оценивалось сжатие WebP по сравнению с JPEG. Мы заметили, что средний размер файла WebP на 25–34 % меньше по сравнению с размером файла JPEG с эквивалентным индексом SSIM. Графики SSIM и bpp показали, что WebP постоянно требует меньше битов на пиксель, чем JPEG для того же индекса SSIM. Эти результаты показывают, что WebP может обеспечить значительные улучшения сжатия по сравнению с JPEG.
1 Хюинь-Ту, Кв.; Ганбари, М. (2008). «Область действия PSNR при оценке качества изображения/видео». Electronics Letters 44: 800-801.doi:10.1049/el:20080522.
2 З. Ван, А. С. Бовик, Х. Р. Шейх и Э. П. Симончелли, « Оценка качества изображения: от измерения ошибок до структурного сходства» , «Обработка изображений», IEEE Transactions, том 13, выпуск 4, стр. 600–612, 2004 г.