

Градиенты при сохранении в JPG (не ресайз)
#1
Отправлено 09 March 2016 - 20:38
Раскопал причину. Причина в изменении цветового пространсва в самом JPG
По умолчанию идёт :
Цветовое пространство : YUV
Субдискретизация насыщенности : 4:4:4
с уменьшением до 4:2:0 при сильном сжатии.
Эти "ступеньки" пропадают если использовать для JPG
Цветовое пространство : RGB
Субдискретизация насыщенности : 4:4:4
Например если открыть TIFF в FastStone и в настройках сохраниения
в JPG выбрать RGB
#3
Отправлено 09 March 2016 - 20:53

Так будут ступеньки в градиенте

Так ступенек не будет
К сожалению фотошоп не даёт в настройках сохранения JPG выбрать цветового пространства и делает эти ступеньки.
Если кто найдет возможность выйти в скрытые настройки - напишите.
А пока придётся каждый файл с градиентами прогонять через цепочку PS - TIFF\PSD - FastStone - RGB-Jpeg
#6
Отправлено 09 March 2016 - 23:00
#7
Отправлено 10 March 2016 - 03:52
Убедится можно посмотрев свойства JPG с помощью Media Info (хотя тот ошибочно именует его YUV)
https://ru.wikipedia.org/wiki/YCbCr
YCbCr, Y′CbCr, или Y Pb/Cb Pr/Cr, также пишется как Y'CBCR или YCBCR - семейство цветовых пространств, которые используются для передачи цветных изображений в компонентном видео и цифровой фотографии.
Y' - компонента яркости, CB и CR являются синей и красной цветоразностными компонентами. Y' (с апострофом) отличается от Y, которой обозначают яркость без предыскажения. Апостроф означает, что интенсивность света кодируется нелинейно с помощью гамма-коррекции.
Y'CbCr не является абсолютным цветовым пространством, скорее, это способ кодирования информации сигналов RGB. Для систем отображения используются сигналы основных цветов RGB (красный, зелёный и синий). Эти сигналы не являются эффективными для хранения и передачи изображений, так как они имеют большую избыточность. Поэтому перевод в систему Y'CbCr позволяет передать информацию о яркости с полным разрешением, а для цветоразностных компонент произвести субдискретизацию, то есть выборку с уменьшением числа передаваемых элементов изображения, так как человеческий глаз менее чувствителен к перепадам цвета. Это повышает эффективность системы, позволяя уменьшить поток видеоданных. Значение, выраженное в Y'CbCr будет предсказуемо, если первично использовались сигналы основных цветов RGB.
========================================================
Выделено важное, идёт уменьшение числа цветов. Если исходное количество оттенков укладывается в YCbCr
то глазом разницы не заметно будет.
Если не укладывается, то возможно что и тогда разницы не будет заметно.
Но иногда бывает попадается картинка, на которой есть оттенки выходящие за рамки YCbCr
и которые при этом заметны глазу. (см. фото в Девушках пентаклуба на синем фоне)
В таких случаях лучше не использовать YCbCr, а лучше честный RGB способ записи информации.
Платой за это будет увеличение размера картинки.
#9
Отправлено 10 March 2016 - 08:48
Schwanz (10 March 2016 - 05:42) писал:
(начиная с камеры, проявщика, ФШ, просмотрщика ... везде стоит цветовое пространство sRGB, а как оно там что сжимает/пережимает ... хз)
Сообщение отредактировал karimar: 10 March 2016 - 08:51
#10
Отправлено 10 March 2016 - 10:35
Ещё раз, ув. hiren, подчеркнул что это не имеет отношение к цветовому пространству, а только к способу его кодирования (представления).
Я это тоже всё замечал в те времена когда на Пенте были более жёсткие правила по размеру картинки и объёму файла. Я тогда начал экспериментировать с Фастстоун и тоже пришёл к выводу, что можно сделать: маленький файл - но с градиентом, либо больший файл с ровной заливкой цветом.
Сейчас я тоже как-то спокойно укладываюсь в размер 600 кБ и без градиента.
Сообщение отредактировал Ivan_jg: 10 March 2016 - 10:36
#11
Отправлено 10 March 2016 - 13:58
1. Стерео, битрейт выделяется на оба канала и перераспределяется между ними
(выгоден в случаях, когда каналы сильно отличаются, например первые альбомы Beatles)
2. Dual Chanel - битрейт делится пополам между каналами и они кодируются отдельно
3. Joint Stereo - кодируются не сами каналы а сумма и разность (L+R) (L-R)
(выгоден когда каналы в большей части совпадают, мало отличий)
WAV использует совершенно другой способ представления сигнала.
К примеру на записях скопированных с CD на PC
Это будет пакет данных в 16 бит каждые 1\44100 секунды описывающий значение амплитуды в каналах.
Но всё это Stereo, и на входе и на выходе имеем 2 канала,
но способ математического представления даже внутри мр3 может быть разный.
Так и со способами математического представления цвета внутри JPG
Он может быть разным. Фотошоп сохраняет используя YCrCb способ.
Какие-то другие программы могут использовать RGB способ в качестве альтернативы.
#12
Отправлено 10 March 2016 - 15:20
WAV это не сжатый формат, а mp3 всегда сжатый (хоть и с разной степенью). Поэтому сравнивать их не стоит.
В данном случае градиент появляется только на сжатых изображениях, так же как в mp3 зависит от степени сжатия. Просто в разных представлениях цвета (YCrCb, RGB и т.д.) сжатие происходит по разному (при равной степени сжатия).
#13
Отправлено 11 March 2016 - 07:30
При наличии системного кодека внутри может быть тот же мр3
В данном случае градиент появляется только на сжатых изображениях
Ну, я не знаю задач, где бы понадобилось представлять цвет в YCrCb при сохранении в несжатые,
а точнее беспотерьные форматы (сжатие без потерь допустимо).
Но мне кажется, что отсечка диапазона цвета происходит именно при смене математического представления.
Ведь в том же RGB-JPG отсечки не происходит и градиент не рвёт.
А при сохранении в YCrCb-JPG происходит разрыв градиента на тестовом фото даже при максимальном
качестве в настройках и отключении субдискретизации цвета.
На основании этого я делаю вывод, о том, что какие-то оттенки выпадают из диапазона при
его представлении в YCrCb.
#14
Отправлено 11 March 2016 - 10:32
Согласен, почитал сейчас стандарт, он допускает всякие форматы отличные от PCM, но я таких не встречал, наверное не очень распространены.
YCrCb применятся в несжатом видео, а как он к фотографии, я честно говоря не разбирался.
#16
Отправлено 12 March 2016 - 02:51
Потому что даже на искусственно моделируемых градиентах я ступеней постеризации никак не получу...
#17
Отправлено 12 March 2016 - 12:53
Schwanz (12 March 2016 - 02:51) писал:
Потому что даже на искусственно моделируемых градиентах я ступеней постеризации никак не получу...
по ссылке (примерно неделю она будет доступна) кадры с постановки света той съемки.
а именно пара равок + джипеги с них сконвертированные в С1 по умолчанию.
https://www.dropbox....dQOwDFKjha?dl=0

экзифы конечно на месте, фон рисовался Yongnuo YN-560 III с синим гелем и гридом (сотовой насадкой)
камера Sony А7 + Samyang 85/1.4 IF ED MC Aspherical при F2.0 (без защитных и каких-либо других фильтров)
Вот не делал ксжл я тогда кадров на ИСО большем чем ИСО50, есть ощущение что и в этом может быть дело...
Сообщение отредактировал karimar: 12 March 2016 - 13:04
#18
Отправлено 12 March 2016 - 18:17
Потом начинается интересное — что в фотошопе, что в С1 при сохранении в жпег имеем то, что имеем ) то есть сабж во всей красе (в шопе менее выражено), но и размер самого жпега интересен — при минимальном сжатии, то есть при качестве 100% размер не превышает 4 мб. (фастстоун, что интересно при тех же параметрах делает почти 9 мб с таким же рваным градиентом)
То есть внутри жпега осталась сплошная математика, а не картинка и эта математика при обратном восстановлении восстанавливается приблизительно.
Лекарство всё такое же — добавление шума. Всего 1% цветного юниформа и вуаля — размер жпега 12мб при 100% и никаких ступенек, либо использовать честный ргб, как предлагали выше (14мб на выходе).
#20
Отправлено 12 March 2016 - 18:24

UPD
достаточно оказалось и половины процента.
размер 6 мб, ступенек нет (почти нет, конечно... более-менее приемлемо)
в общем, если не хочется иметь конские размеры и прыгать из софта в софт, то можно играть с шумом, подбирая его количество экспериментально, потом сделать несколько экшенов на все случаи.
#22
Отправлено 12 March 2016 - 19:07
Schwanz (12 March 2016 - 18:24) писал:
достаточно оказалось и половины процента.
размер 6 мб, ступенек нет (почти нет, конечно... более-менее приемлемо)
кста и представленное вами тут все так же плачевно:
http://www.penta-clu...ost__p__1882861
только еще фон стал рыхлым...
Сообщение отредактировал karimar: 12 March 2016 - 19:12
#25
Отправлено 13 March 2016 - 02:24
А как быть если градиент естественный, ведь шум должен быть определенного размера и точно оптимизирован по цвету...
#26
Отправлено 13 March 2016 - 14:19
#28
Отправлено 13 March 2016 - 15:18
Schwanz (13 March 2016 - 14:19) писал:
развивая ваш метод, напрашивается скорее просто блюром по Гауссу пройтись по фону...
но млин я таки не понимаю почему эта гадость лезет. я ФШ один раз из 1000 открываю, обхожусь С1 ...
Сообщение отредактировал karimar: 13 March 2016 - 15:21
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных