Евгений Золотов
Опубликовано 29 апреля 2013
Возможно, вы никогда не слышали словечка «веппи», но теперь будьте готовы встречать его всё чаще — до тех пор, пока оно не войдёт в айтишный сленг наравне с привычными «веб», «байт» или «пиксель». Веппи — не хиппи цифрового века и не программный интерфейс для новомодных облачных решений, а «всего лишь» новый графический формат, претендующий на место сразу двух титанов сегодняшнего дня: JPEG и PNG. Facebook только что приступила к его внедрению, и этот шаг может стать решающим для судьбы как самого формата, так и всей Веб.
WebP — так он называется — совсем юный проект (трёх лет отроду), замечательный тремя аспектами. Во-первых, он позволяет хранить изображения как с потерями, так и без, причём размер файла в обоих случаях оказывается примерно на треть меньше, чем при использовании соответственно JPEG или PNG. Качество же — если без эстетства, с чисто потребительских позиций — от джипеговского неотличимо. Да, попиксельное сравнение выявит разницу между двумя форматами, однако в реальности, для абсолютного большинства простых пользователей с массовой фотоаппаратурой (где по сей день выше ценятся лишние мегапиксели, нежели сантиметры апертуры), картинки будут выглядеть одинаково.
Ради спортивного интереса попробуйте угадать, какие из сопровождающих колонку фотографий сохранены в JPEG, а какие в WebP (разница в размерах файлов почти двукратная). Чтобы не вносить дополнительных искажений, я использовал формат PNG.
Во-вторых, обеспечивая схожее качество и тот же функционал (в том числе прозрачность и анимацию), WebP обладает легко параллелизуемой структурой, что позволяет достичь сравнительно большей скорости обработки картинок. Итоговое время, правда, высчитать не так просто: нужно учесть и то, что сложность математики значительно выше джипеговской (кодирование пока в десять раз медленней при одинаковом конечном размере файла, декодирование — в полтора), но и размер файла меньше. В общем и целом скорость отображения отдельно взятой картинки получается немного выше, чем для JPEG. И отсюда — третий важный момент: алгоритм WebP патентами не обременён, исходники опубликованы под свободной (BSD) лицензией, а потому оптимизацию по скорости, конечно же, кто-нибудь ещё проведёт. Сейчас разработкой Веппи руководит Google, которая, собственно, и запустила этот формат: WebP и родственный видеодвижок VP8 достались поисковому гиганту вместе с компанией On2 Technologies, приобретённой в 2010 году. За три года гугловцы основательно доработали покупку, и теперь WebP готов к бою.
В лице Facebook Веппи нашёл своего самого крупного сторонника. Команда Цукерберга, впрочем, подошла к вопросу осторожно. С недавних пор часть фейсбуковской аудитории, пользующаяся браузерами Chrome и Opera (только они пока поддерживают WebP нативно, во всех остальных случаях требуются танцы с яваскриптом или Flash), при просмотре фотографий стала получать вместо привычного JPEG картинку в новом формате. Лично вы, скорее всего, в число избранных не попали, но вы можете заставить Facebook передать вам отдельно взятое изображение в WebP: при наличии совместимого браузера откройте изображение в новой вкладке, после чего допишите после «.jpg» в адресной строке «.webp»
Но для чего такому крупному игроку, как Facebook, понадобилось заморачиваться с практически неизвестным форматом? Дело в том, что мелкие плюсы Веппи, помноженные на фейсбуковский масштаб, оборачиваются заметной экономией. Прежде всего, это экономия трафика: примерно две трети среднестатистической веб-страницы сегодня составляют изображения, так что, передавая даже часть картинок в новом формате, Facebook экономит терабайты ежесуточно. В выигрыше и пользователи, ведь веппи-файлы меньше, а значит, передаются быстрей. А в перспективе, когда разработчики займутся оптимизацией, та и другая сторона выиграют и от более высокой скорости обработки веппи-изображений.
Обратная сторона эксперимента пока что — это несчастные пользователи, пожелавшие выгрузить фотографию из Фейсбука и получившие файл с невразумительным расширением .webp. Ни обработать, ни распечатать, ни даже просмотреть его привычными средствами они, скорее всего, не смогут: проприетарный софт понятия не имеет, что это такое (в Линуксе и Android дела обстоят лучше: мне, в тестовой версии Debian, не понадобилось даже ничего настраивать).