Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Конвейеры формирования изображений: программная обработка

Конвейеры формирования изображений: программная обработка

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

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

Дополнительная иллюстрация этапов обработки изображений
Дополнительный технологический слайд, иллюстрирующий этапы пайплайна.
Техническая схема обработки кадров в цифровой камере
Схема движения цифрового сигнала внутри аппаратного конвейера.
График распределения цветовых каналов в сенсоре
График работы с каналами цветовой информации на матрице.
Пример калибровки цвета для различных типов освещения
Демонстрация настройки баланса белого и цветовых матриц.
Схема работы матриц преобразования цветов в камере
Математическая модель пересчета координат между цветовыми моделями.
График динамического диапазона матрицы камеры
График отображения светов и теней при помощи тоновых кривых.
Структура хранения метаданных EXIF в файле изображения
Пример распределения служебных параметров и тегов в контейнере файла.
Архитектура сохранения файлов в памяти мобильного устройства
Схема финальной записи обработанного изображения в память устройства.
Сравнение эффективности различных форматов сжатия графики
График соотношения степени сжатия и визуального качества для разных форматов.
Итоговая схема полного конвейера формирования фотографии
Сводная схема прохождения сигнала от нажатия спусковой кнопки до сохранения файла.

Стилизация и наложение фильтров

Для реализации подобных цветовых преображений используются различные инструменты. Самым универсальным, но одновременно наиболее ресурсоемким методом выступает трехмерная таблица поиска (3D LUT). В таком сценарии каждому исходному цвету пикселя сопоставляется конкретный целевой оттенок, предварительно рассчитанный дизайнерами или разработчиками под почерк определенного бренда техники. LUT обеспечивают максимальную точность и предсказуемость, но требуют значительных вычислительных мощностей и памяти, что затрудняет их использование в мобильных гаджетах.

Реклама
График влияния цветовых фильтров на оттенки кожи и растительности
Сравнение работы фильтров для выделения оттенков кожи и естественной передачи растительности.

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

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

Существуют и двумерные карты цветовых трансформаций. Анализируя изменения внутри RGB-треугольника, можно наглядно увидеть, насколько сильно различаются фирменные стили съемки разных производителей. Например, нейтральный пресет почти не затрагивает цвета, тогда как ландшафтный режим вносит мощные сдвиги в палитру.

Двумерные карты цветовых преобразований для различных камер
Визуализация сдвигов цвета на RGB-треугольнике для нормальных и пейзажных пресетов.

Борьба с шумами

Сразу после применения стилей необходимо заняться подавлением шумов и повышением резкости границ. Борьба с артефактами — сквозная задача всего пайплайна. Если на начальных этапах мы устраняли аппаратные дефекты сенсора и ограничения выдержки, то теперь приходится исправлять погрешности самого конвейера: ошибки дискретизации и усиление фонового мусора.

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

Схема классического алгоритма шумоподавления и выделения границ
Схема работы базового пайплайна шумоподавления с использованием гауссовского размытия.

Хотя этот метод далек от передовых разработок, он стабильно работает даже со сложными сценами. Тем не менее, сегодня в этой сфере доминируют нейросети. Создавать синтетические обучающие выборки для задач denoising очень легко: достаточно взять чистый кадр, искусственно добавить шум и обучить модель восстанавливать оригинал. Современные алгоритмы глубокого обучения успешно справляются с материалом даже с матриц компактных смартфонов. Важным исключением среди традиционных подходов остается алгоритм BM3D, который до сих пор конкурирует со многими нейросетями по качеству.

Цветовые пространства

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

Демонстрация работы классического фильтра шумоподавления
Сравнение участков кадра до и после применения базовой фильтрации шума и резкости.

На смену ему приходят более емкие стандарты вроде DCI-P3 от Apple, активно внедряемые и конкурентами в лице Samsung, Huawei и других производителей. Анализируя современные стандарты как для устройств захвата, так и для экранов воспроизведения, я вижу четкую тенденцию к расширению цветового охвата, что позволяет передавать гораздо больше естественных оттенков окружающего мира.

График эволюции методов подавления шумов в мобильной фотографии
Эволюционное развитие методов подавления шумов от классики до нейросетевых решений.

Сжатие в JPEG

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

Схема сравнения стандартов цветовых пространств и охвата
Сравнение цветового охвата различных стандартов записи и воспроизведения.

Процесс сжатия начинается с конвертации цветового пространства в YCrCb, где яркостный компонент Y отделяется от цветностных составляющих. Учитывая особенности человеческого зрения, которое гораздо острее реагирует на перепады яркости, алгоритм сильнее сжимает информацию о цвете, практически не затрагивая детализацию по свету. Затем картинка делится на блоки 8 на 8 пикселей, квантуется и кодируется методом Хаффмана.

Диаграмма базового алгоритма сжатия JPEG и квантования
Архитектура базового сжатия JPEG, балансирующая между качеством и размером файла.

Важной частью итогового файла являются EXIF-метаданные. Помимо времени съемки, параметров экспозиции и координат, сюда записываются данные о точке белого и условиях работы сенсора. Эта информация критически важна для систем цветокоррекции, позволяя мониторам и просмотрщикам корректно отображать снимок.

01.