Pull to refresh

Comments 20

почему мы до сих пор на JPEG?

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

современные все умеют нормально WebP

Firefox 140
Chrome 138

…и это главное свойство этих форматов — в них напихали столько всего, что к каждой Торе надо ещё пять раввинов прикладывать, чтобы суметь это трактовать. TIFF появился давно, но многие ли его широко используют? А многие ли вообще способны прочитать любой стандартный TIFF?

JPEG и GIF, при всех недостатках, лаконичны. Я ж не просто так не стал изобретать велосипед, а стал придумывать расширенные чанки в рамках стандарта, да ещё и желательно с максимальным реюзом имеющихся.

Блин, какой-то день самопиара у меня сегодня — второй каммент подряд ссылаюсь на «себя великого». Пойду чаю попью, мож отпустит.

Качество: Без потерь, лучше PNG

Если и там и там без потерь, то как оно может быть лучше/хуже? Если мы условную Lena.raw конвертим,

Патентованная (HEVC требует роялти)

На самом деле не так - ВОЗМОЖНО требует роялти, но это не точно, т.к. достоверно неизвестно используется ли что-то патентованное.

~50% лучше JPEG и WebP

а это как понимать? допустим webp = jpeg - 50% = jpeg/2, а avif тогда как? (webp + jpeg) - 50% то есть примерно на 75% лучше jpeg и на 25% лучше webp?

Вторая картинка гуляет по интернету в чистом png (не jpg) и с копирайтом Photutorial.com, который её создал без эксплуатации органических нейросетей, как заявлено в их статье:

Format comparison

JPG vs. JPEG

The main difference between JPG and JPEG is that JPEG is a file format, while JPG is a 3-letter file extension for JPEG
...
JPEG is better suited for lossless compression of photos
...
WebP produces smaller file sizes than AVIF

> Mozilla выступает за JPEG XL

Они выступают за всё хорошее и против всего плохого. Они поддерживают вообще всё что могут по закону)

Они высказывались против. Ну, формально, "нейтрально", но с подтекстом, что будут делать как Google.

Ну так. В чем хранить фотографии. Джипег можно без потерь. В джипеге есть немаленький экзиф.

Джипег ограничен по динамическому диапазону обычным монитором и превышает кратно диапазон отпечатка.

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

Плюс, если я не расситывал на бОльший диапазон, я должен дополнительно этим всем управлять? Иди его растянут на тот диапазон, в котором он будет выглядеть непонятно как?

Короче, большинство фотографов предпочтëт не экспериментировать, а дождаться четкого стандарта, который

  • Может хранить 12-14 бит на канал;

  • Может это отображать на любом мониторе заранее выбранным способом, в том числе разными способами на разных мониторах;

  • Может это печатать заранее обозначенным способом;

  • Совместим по екзив плюс дополнительные поля.

И то, это представляете, каким монстром надо быть, чтобы под разные устройства разную обработку делать, да ещë и в один файл это паковать...

этак вы новый вид DNG изобретете.

Да я немного не про то. Не буду фото пытаться загружать, просто картина Куинджи - Ночь на Днепре. Яркостью всего 4 стопа. И вот пусть это фотография, и в ней реально 14 бит. И ее отобразили на соответствующем мониторе. В тенях мы увидели бы "кашу" из шума. А луна? На ней рельеф непредусмотренный появится? А градиенты Днепра и облаков пойдут цветными пятнами?

Я это при редактировании не увижу.

Или увижу, но не увижу отображения на обычном мониторе.

Поэтому проще зашить всë в понятный старообрядческий джипег.

Жанр народного негодования имеет право на жизнь, но ведь не всегда уместен.

Выше так же зря "на публику" спросили, почему формат картинок с поддержкой float128 остался нишевым. Я однажды задумался - должны же быть вещи, которые в TIFF не влезут, которые он не способен вместить.

Иди его растянут на тот диапазон, в котором он будет выглядеть непонятно как?

HDR в экранах должен работать как в старом добром 2017 году, тут нет новостей.

Но в хранении HDR-изображений появился новый подход:

SDR + Gain Map

...который лучше решает проблему отображения в SDR и не требует новых файловых форматов - годится всё тот же JPEG.

Новые форматы создают ради сжатия.

Сжатие да, бесплатно хранить тонны картинок, это такое себе. Но вот идея фрактального сжатия (через уменьшение визуальной резкости) я так понял, так и не реализовано?

Фракталы для сжатия - не знаю, в мейнстрим такое не попало (и даже вейвлеты после JPEG2000 - где они?).

Но зато сжатие для фракталов... то есть в JPEG XL есть мощный режим (в основном для lossless), с помощью которого можно фрактал нарисовать.

картинка
от Jon Sneyers на Medium (jxl-исходник он там не прикладывал, но другие фракталы весили десятки байт)
от Jon Sneyers на Medium (jxl-исходник он там не прикладывал, но другие фракталы весили десятки байт)

Шутка про полноту по Тьюрингу
Шутка про полноту по Тьюрингу

Формально это всё умеет JPEG XL.

Если честно, из этого всего, кроме jpg я знал WebP (потому что в него сохраняются иногда картинки с браузера, а потом надо во что-то конвертить ибо никуда не воткнешь) и HEVC (потому что имел с ними гемморой после получения фото от счастливых обладателем ифонов, а потом надо во что-то конвертить ибо никуда не воткнешь).

jpeg бывает разный, сильно зависит чем кодируете. есть конвертер mozjpeg который жмет в jpeg на уровне webp, из-за чего webp теряет смысл существования

mozjpeg

Потом ещё был гугловский jpegli, который выше оценивали. Там и декодер доработанный, и опциональное улучшение в энкодере, завязанное на встраивание ICC-профиля.

Посмотрел свою последнюю ссылку - в небольшом тесте на 4 картинках с этой опциональной возможностью он бьёт вообще всех, кроме JXL. Наверное, потому что лишь 4 картинки и 1 метрика без субъективных сравнений и детального перебора настроек, но всё равно впечатляет.

Скрытый текст

Ещё есть jpeg2000/wavelet, не делающий jpeg-артефактов (мазни на контрастных границах и повтора контуров). Умеет лослесс. Умеет видео. Но не судьба, не успел на поезд.

Проблема действительно в распылении ресурсов и конфликте интересов.
Jpg вызрел к моменту, когда пригодился. Он был и остаётся неплохим вариантом, по большому счёту устраивающим всех (крупных игроков), и останется ещё долго. Потому что не накапливается критической воли для перехода на что-либо другое, нет единой точки принятия решений.
Можно без последствий вырезать ftp-клиента из браузера - исчезающе малое количество заинтересованных в устаревшем протоколе найдут, чем его заменить.
Но вырезать поддержку jpg, gif, png? Это как в анекдоте со старым диваном, заражённым клопами - хозяева не в первый раз его выбрасывают, а клопы заносят обратно.

Совсем другое дело вопрос с видеокодеками, так как он затрагивает вопрос монетизации контента и напрямую влияет на стоимость его хранения. Тут гугл, никого особо не спрашивая, перевёл свои сервера на AV1, и не важно сколько видеокарт с аппаратной поддержкой h264/h265 остались не у дел, или сколько мониторов с разрешением ниже 4k av1 просто не нужен.
Такой ситуации с изображениями может и не сложиться, т.к. нет монополиста по их хранению, который мог бы взять на себя столь важный шаг.

Некоторые из виденных сайтов с большим количеством картинок, внедрившие webp, пока не впечатляют качеством картинки - похоже, что контент был перекодирован в пакетном режиме из jpg, уже замыленного, что не добавило ни качества, ни энтузиазма по поводу перехода.

Потому что не накапливается критической воли для перехода на что-либо другое, нет единой точки принятия решений.

Так там не просто недостаток воли, там ещё прямой саботаж (дропнутая поддержка jpeg xl в хроме).

Ещё есть jpeg2000/wavelet, не делающий jpeg-артефактов

У него видится фатальный недостаток.

ffmpeg у меня декодирует его в 15 раз медленнее, чем jpeg92.
ffmpeg -hide_banner -benchmark -i test.jp2 -f null -
1.5 секунды vs 100 мс на десяти мегапикселях. FastStone Image Viewer задумывается на 3 секунды. А теперь перенесёмся в нулевые...

Ускорять платным декодером - спасибо. Ускорять с потерей качества - тоже (впрочем, ускоренное подмножество выделили в 2019 - HTJ2K).

Можно поискать другие реализации.
Где-то в 2006 заменял им xvid в системе аналогового видеонаблюдения - при незначительно возросшей нагрузке на процессор качество поднялось существенно. Правда не помню уже конкретную библиотеку, и да, наверно она была платная, но тогда это меня не особо волновало.
Перепробовал тогда все попавшиеся под руку кодеки, в том числе из K-Lite Codec Pack - в нём, кстати, немало платных кодеков было в то время.

Ну, среди свободных / бесплатных знаю родной ffmpeg'овский (-vcodec jpeg2000) и сторонний OpenJPEG (-vcodec libopenjpeg). Сторонний декодер был ещё медленнее и его удалили в 2023 в рамках решения оставлять только собственные декодеры их при наличии. Энкодер оставили.

Документация пропитана презрением - родной энкодер более-менее задокументирован только на сайте, а сторонний, наоборот, там не упоминается и не имеет описания параметров в хелпе или исходниках.

В lossless-режиме по степени сжатия оба не обгоняют png (медленный пресет выставил бы, если бы его можно было настроить). Из одного крупного бенчмарка lossless-кодеков его выкинули, не впечатлившись результатами (какой именно кодек - не знаю, но явно не платный).

______

Про Motion JPEG 2000 - до этого знал только про применение в кино, его там в DCP используют.

Sign up to leave a comment.

Articles