Я могу быть очень увлечен кодеками изображений. Назревает «битва кодеков», и я не единственный, кто имеет мнение по этому поводу. Очевидно, как председатель специальной группы JPEG XL в комитете JPEG, я твердо придерживаюсь тех кодеков, над которыми работал в течение многих лет. Однако здесь, в этом посте, я буду стремиться быть справедливым и нейтральным.
Цель ясна: свергнуть JPEG, старого мудрого Великого Мастера сжатия изображений, который правил в течение первых 25 лет существования тег
и, следовательно, изображений в Интернете. Каким бы превосходным кодеком ни был JPEG, теперь он достигает своих пределов. Почему? Достаточно раздражает отсутствие поддержки альфа-прозрачности, не говоря уже о 8-битном ограничении (то есть без HDR) и относительно слабом сжатии по сравнению с текущим уровнем техники. Ясно, что пришло время для смены режима.
Очевидно, что сжатие является основной задачей кодека изображений. См. Это табло:
Ключевой недостаток JPEG — по крайней мере, JPEG де-факто — и WebP заключается в том, что они ограничены 8-битная точность цвета. Этой точности достаточно для изображений со стандартным динамическим диапазоном (SDR) и ограниченной цветовой гаммой, например sRGB. Для изображений с высоким динамическим диапазоном (HDR) и широкой гаммой требуется большая точность.
На данный момент 10-битной точности достаточно для доставки изображения, а все остальные кодеки поддерживают 10-битную точность. . Однако для рабочих процессов авторинга, в которых может потребоваться постоянное преобразование изображений, желательна более высокая точность.
Первоначально GIF, JPEG и PNG могли представлять только неподвижные изображения. GIF был первым, кто поддерживал анимацию в 1989 году, еще до того, как появились другие кодеки, и это, вероятно, единственная причина, по которой он все еще используется сегодня, несмотря на его ограничения и плохой результат сжатия. Все основные браузеры теперь также поддерживают анимированный PNG (APNG), относительно новая ситуация.
В большинстве случаев вам лучше кодировать анимацию с помощью видеокодека, а не кодека изображений, предназначенного для фотографий. HEIC и AVIF, основанные на HEVC и AV1 соответственно, являются настоящими видеокодеками. Несмотря на поддержку анимации, JPEG XL выполняет только внутрикадровое кодирование без возможности работы с векторами движения и другими передовыми инструментами межкадрового кодирования, предлагаемыми видеокодеками. Даже для коротких видео-сегментов, которые длятся всего несколько секунд, видеокодеки могут сжимать значительно лучше, чем так называемые кодеки анимированных неподвижных изображений, такие как GIF и APNG, или даже анимированные WebP или JPEG XL.
Сторона примечание: было бы замечательно, если бы веб-браузеры принимали в теге
все видеокодеки, которые они могут воспроизводить, в теге
с той лишь разницей, что в теге
видео воспроизводится автоматически, отключается и зацикливается. Таким образом, новые совершенные видеокодеки, такие как VP9 и AV1, будут автоматически работать для анимации, и мы наконец сможем избавиться от древнего формата GIF.
Вернуться к неподвижным изображениям. Помимо быстрого сжатия изображений RGB без ограничений по размеру или точности, кодеки изображений должны также предлагать другие желательные функции.
Кроме того, учитывая множество факторов, не все из которых являются техническими по своей природе, успех принятие кодеков трудно предсказать. Будем надеяться, что новые кодеки выиграют битву, в основном против инерции и «легкости» статус-кво. В конечном итоге, если JPEG не останется доминирующей силой, независимо от того, какой новый кодек будет преобладать, мы получим преимущества более сильного сжатия, более высокой точности изображения и точности цветопередачи, что приведет к более захватывающим и более быстрой загрузке изображений. И это будет победой для всех!