Графическая революция
Революция - это кардинальное изменение существующего положения. В графических форматах уже почти 20 лет большой популярностью пользуется формат JPEG. Его использование даёт возможность получать изображения с малым «весом», что очень важно для публикации в интернете. Но, с другой стороны, при увеличении размера, малый «вес» даёт огромные качественные потери. Применение формата PNG позволяет устранить этот недостаток, но размер в разы вырастает, что в сети недопустимо, потому что увеличивается время загрузки изображения, а вместе с тем, и страницы. Как быть?
Технология нового формата WebP, принятого в 2010 году, отвечает самым современным стандартам. При кодировали самых распространённых графических форматов в формат WebP, «вес» полученных файлов уменьшится примерно на 40%, а при увеличении размера изображения - искажения гораздо меньше заметны, чем это проявляется при формате jpeg.
Так, что такое формат WebP?
Это побочный продукт видеокодека WebM, который, в свою очередь, основан на открытом видеокодеке VP8 и аудиокодеке Vorbis. Если сравнивать форматы JPEG и WebP, в основе обоих кодеков заложена разбивка изображения на блоки, где сжаты данные о яркости и цвете с отброшенными значениями, практически неуловимые для человеческого глаза. В WebP данный процесс проходит интеллектуальнее, потому что алгоритм оперируется не абсолютными значениями яркости и цвета, как в JPEG, а относительными значениями по отношению к соседним блокам. Подобная технология «прогнозирования» использована также при сжатии видео и основана на том, что разница в яркости и цвете соседних блоков часто невероятно мала или совсем отсутствует. Блок, состоящий из почти одних нулей, податлив на сжатие гораздо эффективнее, чем содержащий разные абсолютные значения. В связи с тем, что кодером обрабатываются макроблоки слева направо, и сверху вниз, в WebP из абсолютных величин состоит лишь верхний левый макроблок, а в JPEG - все макроблоки. Значения иных фрагментов получаются через прогнозирование на основе информации, полученной от соседних клеток.
Кроме того, форматом WebP корректируется прогноз по обстоятельствам. Если фрагменты с большим количеством деталей, когда очень сильно изменяются значения, прогнозирование происходит на основе малых блоков (4х4 пикселя). Для более монотонных областей размер блоков составит 16х16 пикселей. Также в декодере есть фильтр устранения блочности, который гарантирует отсутствие артефактов, которые обычно появляются при высоких степенях компрессии. Для некоторых картинок, где отсутствует большое количество деталей, используют технологию апскейлинга, при которой кодированию подвергнуто не само изображение, а его уменьшённая версия. Обратное преобразование выполняется декодером.
Видеокодек WebM уже используют в браузерах Chrome, Firefox и Opera, и о его поддержке в будущем объявлено такими гигантами, как Microsoft, AMD, NVIDIA и Skype. При помощи WebP в видео создают интрафреймы - полноразмерные статичные кадры, кодируемые каждые 15–30 кадров независимо от соседних картинок, что нужно для контроля качества видео. В настоящее время этот формат поддерживают Google и Facebook.
Но серьёзной поддержки данный формат пока ещё не получил - в связи с чем его применение ограничено. Правда, Google предоставило конвертер с системными библиотеками для Windows, чтобы ОС имела возможность отображать картинки в формате WebP. Также имеется фильтр для Photoshop, при помощи которого формат WebP добавлен в функцию сохранения файлов. Фильтр и кодер, который называется libwebp можно найти в интернете. Но только повсеместное применение данного формата даст возможность совершить революцию в сетевой графике, о чём говорилось в начале статьи.
Так, что такое формат WebP?
Это побочный продукт видеокодека WebM, который, в свою очередь, основан на открытом видеокодеке VP8 и аудиокодеке Vorbis. Если сравнивать форматы JPEG и WebP, в основе обоих кодеков заложена разбивка изображения на блоки, где сжаты данные о яркости и цвете с отброшенными значениями, практически неуловимые для человеческого глаза. В WebP данный процесс проходит интеллектуальнее, потому что алгоритм оперируется не абсолютными значениями яркости и цвета, как в JPEG, а относительными значениями по отношению к соседним блокам. Подобная технология «прогнозирования» использована также при сжатии видео и основана на том, что разница в яркости и цвете соседних блоков часто невероятно мала или совсем отсутствует. Блок, состоящий из почти одних нулей, податлив на сжатие гораздо эффективнее, чем содержащий разные абсолютные значения. В связи с тем, что кодером обрабатываются макроблоки слева направо, и сверху вниз, в WebP из абсолютных величин состоит лишь верхний левый макроблок, а в JPEG - все макроблоки. Значения иных фрагментов получаются через прогнозирование на основе информации, полученной от соседних клеток.
Кроме того, форматом WebP корректируется прогноз по обстоятельствам. Если фрагменты с большим количеством деталей, когда очень сильно изменяются значения, прогнозирование происходит на основе малых блоков (4х4 пикселя). Для более монотонных областей размер блоков составит 16х16 пикселей. Также в декодере есть фильтр устранения блочности, который гарантирует отсутствие артефактов, которые обычно появляются при высоких степенях компрессии. Для некоторых картинок, где отсутствует большое количество деталей, используют технологию апскейлинга, при которой кодированию подвергнуто не само изображение, а его уменьшённая версия. Обратное преобразование выполняется декодером.
Видеокодек WebM уже используют в браузерах Chrome, Firefox и Opera, и о его поддержке в будущем объявлено такими гигантами, как Microsoft, AMD, NVIDIA и Skype. При помощи WebP в видео создают интрафреймы - полноразмерные статичные кадры, кодируемые каждые 15–30 кадров независимо от соседних картинок, что нужно для контроля качества видео. В настоящее время этот формат поддерживают Google и Facebook.
Но серьёзной поддержки данный формат пока ещё не получил - в связи с чем его применение ограничено. Правда, Google предоставило конвертер с системными библиотеками для Windows, чтобы ОС имела возможность отображать картинки в формате WebP. Также имеется фильтр для Photoshop, при помощи которого формат WebP добавлен в функцию сохранения файлов. Фильтр и кодер, который называется libwebp можно найти в интернете. Но только повсеместное применение данного формата даст возможность совершить революцию в сетевой графике, о чём говорилось в начале статьи.