Камеры смартфонов линейки Pixel и Nexus никогда не представляли собой ничего выдающегося, но за последние четыре года сделали мощный рывок вперед и теперь занимают первые строчки рейтингов. Почему так произошло? Потому что Google внедрила программный механизм постобработки фотографий под названием HDR+. В этой статье мы расскажем, как он работает и как активировать HDR+ на своем смартфоне, независимо от его марки.
 

Что такое HDR

Для полного понимания принципа работы HDR+ придется для начала разобраться с обычным HDR.

Основная проблема всех камер смартфонов — маленький размер матрицы (а точнее — фотоячеек) и, как следствие, недостаточный охват динамического диапазона. Чтобы исправить этот недостаток, был разработан алгоритм HDR (High-Dynamic Range), принцип работы которого следующий: камера делает кадр со стандартным для данной сцены уровнем экспозиции, затем делает недоэкспонированный кадр, на котором будут четко видны лишь пересвеченные области изначального снимка, далее выполняется переэкспонированный снимок, на котором видны только затемненные детали изначального снимка, а все остальное пересвечено. Далее снимки накладываются друг на друга и объединяются при помощи специальных алгоритмов, качество которых зависит от производителя софта камеры. В результате получается снимок с хорошей проработкой деталей как в тенях, так и в более светлых местах.

Недостатки HDR очевидны: долгое время съемки приводит к тому, что попавшие в кадр движущиеся объекты будут двоиться, а даже небольшая тряска смажет картинку.

 

Что такое HDR+

Умные головы придумали алгоритм, лишенный недостатков HDR. Впрочем, общее с HDR у него одно лишь название.

HDR+ расшифровывается как High-Dynamic Range + Low Noise. Свою известность он получил за ряд выдающихся возможностей: алгоритм способен устранять шумы практически без потери детализации, повышать качество цветопередачи, что крайне важно при плохом освещении и по краям кадра, вместе с этим он сильно расширяет динамический диапазон фотографии. HDR+, в отличие от стандартного HDR, почти не боится тряски смартфона и движения в кадре.

Первым смартфоном с поддержкой HDR+ стал Nexus 5. Из-за не самого лучшего баланса белого и маленького отверстия диафрагмы (f2.4) камера этого смартфона считалась не более чем крепким середнячком. Все изменилось с выходом обновления Android 4.4.2. Именно оно принесло с собой поддержку режима HDR+ и изумительное качество ночных снимков. Они хоть и не отличались большой яркостью по всему полю кадра, но благодаря HDR+ практически не содержали шума при сохранении мелких деталей и обладали превосходной (для смартфонов 2013 года) передачей цветов.

Nexus 5 + HDR+
Nexus 5 + HDR+

(Изображение в исходном качестве)

 

История создания HDR+

Как же компания, никогда не занимавшаяся камерами, создала алгоритм, который творит чудеса, используя обычные, по меркам флагманов, камеры Nexus и Pixel?

Все началось в 2011 году, когда Себастьян Трун (Sebastian Thrun), глава компании Google X (теперь уже просто X), подыскивал камеру для очков дополненной реальности Google Glass. Массогабаритные требования предъявлялись очень жесткие. Размер матрицы камеры должен был быть еще меньше, чем в смартфонах, что крайне плохо сказывалось бы на динамическом диапазоне и приводило бы к появлению множества шумов на фотографии.

Выход оставался один — попытаться улучшить фотографию программно, с помощью алгоритмов. Эту задачу должен был решить Марк Левой (Marc Levoy), преподаватель факультета информатики Стэнфордского университета, эксперт в области вычислительной фотографии. Он занимался технологией захвата и обработки изображений на базе программного обеспечения.

Марк сформировал команду, известную как Gcam, которая занялась изучением метода Image Fusion (сплавление изображений), основанного на объединении серии снимков в один кадр. Фотографии, обработанные при помощи этого метода, получались более яркими и резкими, имели малое количество шумов. В 2013 году технология дебютировала в Google Glass, а затем, в этом же году, переименованная в HDR+, появилась в Nexus 5.

Еще один ночной снимок с Nexus 5
Еще один ночной снимок с Nexus 5

(Изображение в исходном качестве)

 

Как работает HDR+

HDR+ — чрезвычайно сложная технология, детально разобрать которую в рамках данной статьи невозможно. Поэтому мы рассмотрим общий принцип работы, не останавливаясь на деталях.

 

Фундаментальный принцип

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

Когда серия снимков будет сделана, она объединяется в один снимок. Тут выручает заниженная выдержка, благодаря которой каждая фотография в серии выглядит относительно четко. Из трех первых кадров выбирается самый приемлемый в плане как резкости, так и детализации для использования в качестве основы. Затем полученные снимки разделяются на фрагменты и система проверяет, можно ли совместить соседние фрагменты и как это сделать. Обнаружив лишние предметы в одном из фрагментов, алгоритм удаляет этот фрагмент и выбирает похожий с другого кадра. Полученные снимки обрабатываются с помощью специального алгоритма, основанного на методе удачных экспозиций (в основном он применяется в астрофотографии для уменьшения размытости изображений, вызванной мерцающей атмосферой Земли).

Далее в дело вступает сложная система подавления шумов, которая включает в себя как простой метод усреднения цвета пикселей на основе нескольких снимков, так и систему предсказания появления шумов. Алгоритм работает очень мягко на границах переходов тональностей, чтобы минимизировать потерю детализации, пусть даже и ценой наличия небольшого количества шума в таких местах. А вот на участках с равномерной текстурой «шумодав» выравнивает картинку вплоть до почти идеально равномерного тона с сохранением перехода оттенков.

Работа шумодава в сложных условиях. Слева до обработки, а справа — после
Работа шумодава в сложных условиях. Слева до обработки, а справа — после

(Изображение в исходном качестве)

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

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

Иллюстрация работы конвейерного алгоритма HDR+ из доклада разработчиков
Иллюстрация работы конвейерного алгоритма HDR+ из доклада разработчиков

Слева фотография из стоковой камеры Samsung в HDR, а справа фотография, созданная в Gcam в HDR+. Видно, что алгоритм принес в жертву детализацию неба для прорисовки объектов на земле.


(Изображение в исходном качестве)


(Изображение в исходном качестве)

 

Обновление HDR+ в Google Pixel

В Google Pixel алгоритм претерпел существенные изменения. Теперь смартфон начинает снимать сразу после запуска камеры и в зависимости от степени освещения делает от 15 до 30 кадров в секунду. Эта технология называется ZSL (Zero Shutting Lag) и была придумана для того, чтобы делать моментальные снимки. Но Pixel использует ее для работы HDR+: при нажатии на кнопку спуска смартфон выбирает от 2 до 10 кадров из буфера ZSL (в зависимости от условий освещения и наличия движущихся объектов). Затем из первых двух-трех кадров выбирается лучший, а остальные, как и в предыдущей версии алгоритма, слоями накладываются на основной.

Наряду с этим появилось разделение на два режима: HDR+ Auto и HDR+. Последний берет максимально большое количество снимков для создания итоговой фотографии. Она получается более сочной и яркой.

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи один материал

Заинтересовала информация, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для материалов, опубликованных более двух месяцев назад.


Оставить мнение

Check Also

Роскомнадзор пригрозил Google блокировкой в России

Оштрафовав Google на 500 000 рублей, Роскомнадзор сообщил, что если компания и далее будет…