Pull to refresh

WebP, новый формат изображений для интернета

Reading time3 min
Views25K
Original author: Ричард Рэббэт (Richard Rabbat)
В рамках инициативы компании Google, заключающейся в том, чтобы сделать интернет более быстрым, в течении прошедших месяцев мы выпустили целый набор инструментов, призванных помочь владельцам сайтов их ускорить. Мы запустили расширение для Firefox под названием Page Speed, позволяющее изучать производительность веб страниц, а также получать предложения о том, как её увеличить. Мы представили Speed Tracer, расширение для Chrome, позволяющее найти и исправить проблемы с производительностью в веб приложениях. Кроме того, мы выпустили набор инструментов для завершающей стадии разработки (closure tools), призванный помочь создавать сложные веб приложения с польностью оптимизированным javascript-кодом. В то время, как эти инструменты были невероятно успешны, помогая разработчикам оптимизировать их сайты, мы продолжали работу, и нам удалось обнаружить единственный компонент веб страниц, который полностью ответственнен за большинство задержек на страницах: изображения.

Большая часть распространенных форматов изображений, используемых в сети, были созданы более 10 лет назад и основаны на технологиях того времени. Инженеры из Google решили проверить: нет ли способа увеличить степень сжатия алгоритмов сжатия с потерями (как JPEG), чтобы позволить изображениям загружаться быстрее, при этом полностью сохраняя их разрешение и визуальное качество. В результате работы на этим проектом мы выпускаем новый формат изображений, WebP, в предварительной версии для разработчиков. Этот формат обещает существенно уменьшить бинарный размер фотографий в сети, позволяя сайтам загружаться быстрее, чем раньше.

На сегодняшний день, изображения и фотографии составляют около 65% всех данных, составляющих веб страницу. Они могут существенно замедлить работу в сети, особенно в сетях с ограниченным трафиком, таких как мобильные сети. Большую часть изображений в сети составляют форматы сжатия с потерями (такие как JPEG), меньшую — форматы с сжатием без потерь (такие как GIF и PNG). Наша команда сконцентрировалась на улучшении сжатия с потерями, так как на сегодняшний день именно изображения в таких форматах составляют большую часть всех изображений в сети.

Чтобы улучшить степень сжатия, которую предлагает формат JPEG, мы использовали алгоритм, основанный на используемом в кодеке VP8, исходные коды которого были открыты компанией Google в мае 2010 года. Мы применили технологии, используемые в VP8 для сжатия промежуточных кадров, для сжатия статичных изображений. Кроме того, мы использовали очень компактный формат файла-контейнера, основанный на формате RIFF: несмотря на то, что этот формат добавляет всего 20 байт к каждому изображению, он является расширяемым, что позволяет авторам сохранять в файле любые необходимые метаданные.

Хотя преимущества формата изображений, основанного на VP8, теоретически очевидны, нужно было проверить их в условиях реального мира. Чтобы оценить эффективность наших усилий, мы выбрали около миллиона случайных изображений из сети (преимущественно JPEG, а также немного PNG и GIF) и перекодировали их в WebP, сохраняя их визуальное качество. Такое перекодирование привело к сокращению размера файлов на 39% (видимо, имелось в виду, в среднем. прим. перев). Мы рассчитываем, что разработчики добьются с форматом WebP еще большего сжатия, сжимая изображения, которые изначально не были сжатыми.

Чтобы помочь вам оценить эффективность WebP в сравнении с другими форматами, мы подготовили набор известных свободных изображений в разных форматах, указав также размер изображений, так что вы можете сравнить их визуально. Кроме того, мы выпускаем программу-конвертер, которую вы можете использовать, чтобы преобразовать изображения в формат WebP. Мы рассчитываем на совместную работу, как с производителями браузеров, так и с сообществом веб разработчиков, над спецификацией WebP и над добавлением поддержки этого формата в браузеры. Несмотря на то, что изображения в формате WebP не могут быть отображены, пока браузеры не начнут поддерживать этот формат, мы работаем над патчем для Webkit, который обеспечит поддержку WebP в следующей версии Google Chrome. Кроме того, мы планируем в будущем добавить поддержку слоя прозрачности, также известного как альфа канал, в виде обновления (обновления Chrome или спецификации формата? Не ясно. прим. перев).

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

Ричард Рэббэт (Richard Rabbat), менеджер продукта.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 99: ↑91 and ↓8+83
Comments78

Articles