RAW, JPEG, TIFF и потеря данных. Мифы и реальность.
Часто можно слышать и читать в популярных изданиях утверждение, что "JPEG - формат с потерей данных, а вот TIFF и RAW - нет". Этим же утверждением часто "оправдывают" отсутствие сохранения в RAW у некоторых камер ("RAW нет, зато есть TIFF!"). Некоторые авторы идут ещё дальше и даже при наличии обоих форматов в камере (RAW и TIFF) советуют сохранять в TIFF, "как более совместимом и не требующем конвертации". Все эти утверждения и советы в корне неверны. А что же на самом деле?А на самом деле единственным форматом без потери данных является RAW. Степень потери данных при сохранении в TIFF и JPEG (максимального качества) примерно одинакова на 99% любительских сюжетов. А поскольку время сохранения файла TIFF в камере на порядок больше, чем JPEG, применение формата TIFF в цифровых камерах вообще нецелесообразно.
Утверждение категоричное и "еретическое", но лишь на первый взгляд. Защитники формата tiff наверняка начнут иллюстрировать его преимущества съёмками мелких контрастных чёрно-белых мир. И действительно получат более высокое разрешение и некоторые артефакты у формата JPEG. Но это как раз тот 1%, про который я упоминал. Большинство (99%) РЕАЛЬНЫХ любительских сюжетов не содержат столько мелких контрастных деталей в таких количествах. На РЕАЛЬНЫХ сюжетах потери от JPEG-сжатия по сравнению с TIFF настолько ничтожны, что даже на мониторе ПРИ СЛЕПОМ ТЕСТИРОВАНИИ (когда не знаешь что где) практически невозможно увидеть разницы. После распечатки - тем более. Гораздо заметнее другие потери данных, которые происходят при сохранении в камере, неважно - в TIFF ли или в JPEG. Про них практически никто не вспоминает, а знать о них необходимо.
Итак, на самом деле все цифровые камеры снимают в RAW, просто не все его отдают наружу. RAW - это просто оцифрованный сигнал яркости с каждого сенсора, прошедший лишь предварительную (калибровочную) обработку firmware камеры (исправление отклонений ДАННОЙ матрицы от среднестатистической, иногда - "софтовый ремонт"(ремаппинг) битых пикселей). Это чёрно-белый массив данных, не всегда даже совпадающий по координатам с конечной картинкой (особенно в случае SuperCCD и им подобных). Но это уже "цифровые" данные, они имеют свою разрядность (8, 10, 12, 16бит) и ограничения (соответственно 255, 1023, и т.д.). Дальше у этой информации два принципиально разных пути. Она либо записывается на флеш-память в файл *.CRW (иногда с внутренним сжатием на манер ZIP-а, без потерь), либо (в большинстве случаев) поступает в процессор фотоаппарата на обработку. Процессор делает следующие вещи:
- интерполирует RGB цвета конечных точек изображения из сигналов окружающих сенсоров всех цветов;
- применяет цветокорректировку в соответствии с настройками Баланса Белого;
- применяет цветокорректировку в соответствии с настройками контраста и насыщенности;
- применяет шарпинг (или блюринг) в соответствии с установками шарпа.
- конвертирует результат в 8-битный цвет;
Вы видели, сколько преобразований делает процессор камеры? Поскольку разрядность каждого цвета невелика (от 8 до 12 бит, как правило), то ограничение диапазона составляет всего лишь сотни или тысячи. Таким образом, каждое преобразование в процессоре камеры необратимо и теряет данные. Сама по себе потеря данных неизбежна - для конечного результата (просмотра на мониторе, печати на бумаге или записи на компакт-диск) нам, так или иначе, потребовалось бы проделать эти преобразования - не в фотоаппарате, так в RAW-конвертере и Фотошопе. Вопрос лишь в СТЕПЕНИ этих потерь. Если мы "угадали" с настройками и сразу получили "хорошую" картинку - нам повезло. А вот если для данного сюжета какой-то из параметров выбран неудачно (баланс белого, контраст, шарп), то нам приходится в Фотошопе делать его корректировку. Т.е. вместо "прямого" пути C() выбирать "окольный" - А(B()). Т.е., совсем "на пальцах": если, скажем, неудачно сработавший автомат баланса белого вместо того чтобы записать в файл градиент от 0 до 255 по одному из каналов предварительно "умножит его на два", то в Фотошопе мы конечно "поделим обратно на два", но на половине данных произойдёт ограничение - мы никогда не узнаем что там раньше было - градиент ли, рисунок ли...
Вся неприятность ситуации состоит в том, что понять насколько удачны выставленные при съёмке параметры можно только ПОСЛЕ съёмки - посмотрев результат, желательно на большом мониторе. Т.е. когда исправить уже поздно. А формат RAW (в случае если его камера "отдаёт") позволяет вообще не выставлять никаких параметров цвета-контраста-шарпа при съёмке (всё в авто)! На компьютер ставится точный программный аналог камерного процессора (RAW-конвертер) и можно получить на выходе варианты при ЛЮБЫХ параметрах и сравнить их между собой в спокойной обстановке. При недостатке же времени можно запустить пакетное конвертирование с параметрами "AS SHOT" и получить ровно те же JPEG-и, которые камера выдала бы на полном автомате.
Счастливым обладателям 12-битного RAW(в отличие от 8-битного) "в нагрузку" даётся возможность экспокоррекции плюс-минус 2EV (2 "стопа") почти без потери качества(относительно соответствующего повышенного ISO в случае положительной коррекции) ЗАДНИМ ЧИСЛОМ, при конвертации. Т.е. кадры, снятые на ISO400 нормально, и кадры, снятые на ISO100 с недодержкой и "вытянутые" в конверторе, отличаются мало. Это позволяет не слишком заботиться о точности экспозамера и не тратить время на точечные замеры - пусть ценой некоторого шума, но детали в тенях не пропадают в большинстве случаев.
Насколько существенны те "ужасы потерь данных", описанные выше? Почему владельцы многочисленных цифромыльниц без RAW не стонут от несправедливости? Может всё это вообще на глаз не видно? Для тех, кто внимательно читал "математическое отступление", ответ уже должен быть очевиден: чем цветастее и контрастнее снимаемый сюжет, чем выше диапазон его яркостей, тем меньшие ошибки он простит. Кроме самого сюжета, сдвигают значения к границам и ошибки экспозиции (недодержка, передержка). Если автомат поставил "среднюю" экспозицию, то сюжетно важный объект может оказаться недо/пере-свеченным, т.е. наиболее чувствительным к дальнейшим ошибкам обработки (близок к границам). Или, резюмируя: разница между технологиями "JPEG-Фотошоп" и "RAW-конвертер-Фотошоп" малозаметна на правильноэкспонированных низкоконтрастных сюжетах, но начинает становиться тем заметнее, чем:
- контрастнее сюжет
- больше недодержка/передержка(или объект в тени или блике)
- больше ошибка в съёмочных параметрах (например забыли снять режим ББ "ламп накаливания" при выходе на улицу)
Ручной баланс белого "задним числом"
Распространённый миф о том, что "в Фотошопе можно подправить всё что угодно" и исправить любые цвета, как мы видели выше, не соответствует действительности. Но не только из-за искажений. Исправление баланса белого в Фотошопе - нетривиальный процесс. Только для чрезвычайно узкого круга "стандартных" сюжетов работают "автоматические" кнопки типа "автоколор" или "автолевелс". Для остальных подобрать коррекцию не всегда тривиально, т.к. света, тени и средние тона надо корректировать по-разному, и самый частый эффект - "голову вытащишь - хвост увязнет" - не удаётся "покрасить" все детали правильно ОДНОВРЕМЕННО. Поэтому лучше всего максимальную часть работы сделать ДО Фотошопа - либо в фотоаппарате, либо (если есть возможность) - в RAW-конвертере.
В фотоаппарате для этого предназначена функция "ручной баланс белого" (далее - "РББ"). При её наличии, как правило, результат получается лучше, чем на автомате или "пресетах". Алгоритм её использования подробно описан в инструкции и может отличаться для разных камер, но общее у них ОДНО - необходимо поместить вместо объекта (или рядом с ним) лист бумаги и откалиброваться по нему ДО ТОГО как начать съёмки. Как я уже упоминал выше, во многих случаях это неудобно, неоперативно и часто попросту делает съёмку невозможной. Однако, у владельцев камер с форматом RAW есть блестящий выход - "РББ задним числом". Суть метода очень проста:
- видим событие, НЕМЕДЛЕННО снимаем его (в RAW разумеется);
- запоминаем место и точку съёмки;
- когда событие переместилось(закончилось), ребёнок уполз, драку разняли и т.п., кладём на ЭТО ЖЕ место (события) листок бумаги, а сами занимаем ту же точку и просто СНИМАЕМ бумагу (тоже в RAW). Подчёркиваю - НЕ УСТАНАВЛИВАЕМ РББ а просто нажимаем на спуск. Важно лишь чтобы освещение оставалось прежним (т.е. таким же как при съёмке события).
- позже, дома, в RAW-конверторе выбираем пару событие/листок, тыкаем в листок пипеткой и говорим конвертору "конверти всё выделенное с таким же ББ". Технические подробности различаются для разных конверторов, но суть везде одна.
Практические выводы
- Камера с сохранением в RAW имеет много преимуществ, в частности
- Максимальная оперативность при съёмке (не нужно выставлять НИКАКИХ цвето-контрастно-шарповых параметров). Для любителя особенно ценно, поскольку ему ещё выставлять кучу других параметров (ISO, программу экспозиции/выдержку или диафрагму, зум, следить за фокусом, за кадрировкой, а голова не резиновая, выдержка с диафрагмой путаются :-), а тут ещё баланс белого, будь он неладен...)
- Возможность РББ "задним числом"
- Возможность "вытащить" максимальное качество за счёт минимальной потери данных.
- Желательно обеспечить и сохранить максимально возможное качество ДО обработки, а так же именно его (первичные данные с камеры) сохранять в архивах в качестве "негативов" - т.к. любая обработка необратимо изменяет оригинал и переобработать по-другому без потери качества уже не получится.. Максимально возможное качество это:
- RAW если возможен
- РББ если возможен, в т.ч. и "задним числом"
- Если RAW невозможен - JPEG максимального размера и максимального качества. Часто говорят что для 10*15 это избыточно. При нынешних смешных ценах на болванки, положите на полку - пусть будет. Никто не знает, какую ценность для Вас будет представлять этот кадр через десять-двадцать-тридцать лет. Возможно потом будет обидно, что сохранили его всего лишь "800*1200" из-за экономии одного-двух-трёх мегабайтов на болванке (т.е примерно трёх-пяти-семи копеек!).
- При 10-12битном RAW конвертирование и обработка его в 16-битных форматах и лишь на последнем этапе (перед печатью и сохранением в архиве) "обрезка" до 8 бит позволяет снизить описанные выше потери при обработке.
И отдельное пожелание некоторой (немногочисленной, но существующей) категории читателей, которые думают примерно так: "короче, я всё равно ничо не понял, я забашлял штуку баксов, и чо теперь - ещё с Фотожопой разбираться??? Не, пусть камера за меня думает! Буду снимать на полном автомате!"...
Никаких проблем! Не надо фотошопа. Освойте только одну операцию в RAW-конверторе - пакетную конверсию в JPEG со всеми настройками "AS SHOT". А снимайте всё равно в RAW и НЕ СТИРАЙТЕ ИХ после конверсии - сбрасывайте на болванку. Возможно со временем не Вы, так Ваши дети/жёны/друзья захотят сделать из некоторых снимков конфетку - тут то им архивы с RAW и пригодятся. Опять же никто не знает, какой из снимков будет интересен через несколько лет и кому...