Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемТамара Галанина
1 Гамма-коррекция Алексей Игнатенко Лекция 4 6 апреля 2009
2 На лекции Что такое гамма-коррекции Зачем необходимо корректировать яркость Гамма-коррекция в разных операционных системах Применении гамма-коррекции в синтезе изображений
3 Сравнение терминов радиометрии и фотометрии РадиометрияФотометрия Энергия (Radiant Energy) Дж Энергетический поток (Radiant Flux) Вт = Дж*с -1 Световой поток (Luminous flux) Лм (люмен) Cила излучений (Radiant Intensity) Вт*ст -1 Сила света (Luminous Intensity) Кд (Кандела)=лм*ст -1 Освещенность/Светимость (Irrariance / Radiant exitance) Вт*м -2 Освещенность/Светимость (Illuminance/Luminous exitance) Люкс = Лм*м -2 Энергетическая яркость (Radiance) Вт*м -2 ст -1 Яркость (Luminance) Нит = лм*м -2 *ст -1 = кд*м -2 Светлость (Lightness)
4 Светлость (lightness) Человеческое зрение имеет нелинейный отклик на яркость. Источник света яркостью 18% по сравнению с базовым будет казаться вполовину менее ярким. Восприятие света человеком описывается светлостью источника Яркость (luminance) описывет спектральную составляющую восприятия Светлость в отличие от световоя яркости описывает мощностную характеристику восприятия
5 Что хранит пиксель изображения? Если убрать цветовую составляющую По идее должен кодировать энергетическую яркость (radiance) Вопрос в линейности!
6 Тракт передачи изображений Тракт передачи изображений – программно- аппаратный комплекс, предназначенный для получения (захвата или генерации), передачи и визуализации изображений Пример тракта передачи изображений видеокамера-пленка-видеоплеер-телевизор фотоаппарат-компьютер-монитор Заканчивается тракт всегда генерацией изображения на устройстве вывода – дисплее Начинаться может либо с захвата изображения реального мира, либо с генерации изображения тем или иным способом (скажем, алгоритмами компьютерной графики).
7 Пример: Тракт передачи изображений для видео
8 Передающая функция С каждым звеном тракта ассоциирована передающая функция C=R(I) C=S(C) I=D(C) В идеале D(S(R(I)))= I
9 Проблемы с передающими функциями Особенности передающих функцией обусловлены физическим устройством приемника и дисплея При хранении информации в цифровом виде неизбежна дискретизация сигнала Потеря информации! Передающие функции дисплея и камеры
10 Почему необходимо корректировать яркость? Причина 1: Нелинейность передающей функции CRT-дисплеев Причина 2: Необходимость нелинейного кодирования яркости для более полного использования ограниченного диапазона представления яркости в ЭВМ Причина 3: Особенности восприятия интенсивностей человеческим зрительным аппаратом
11 Причина 1: Передающая функция монитора Интенсивность света, генерируемого физическим устройством не является линейной функцией входящего сигнала CRT-устройства (телевизоры, мониторы) имеют степенную зависимость интенсивности излучения от входящего напряжения:
12 Причина 1: Передающая функция монитора
13 Что такое гамма? Гамма – характеристика нелинейности интенсивности сигнала, выдаваемого физическим устройством вывода. Обычно лежит в пределах gamma в 1.7 – 2.7 Гамма-преобразование – нелинейное преобразование формы kV γ Гамма-коррекция – процесс компенсации нелинейного преобразования устройства вывода. Преобразование формы kV (1 / γ) Гамма коррекция необходима для более точной передачи интенсивностей монитором Но не только!
14 Функция гамма-коррекции Можно применять, только когда есть границы!
15 СRT и LCD-мониторы LDC-мониторы полностью линейны по передаче интенсивности Но ведут себя как CRT, делая гамма- преобразование перед выводом изображения Почему? Для совместимости Для лучшего соответствия «логарифмическому» восприятию яркости человеком (см. далее)
16 Причина 2: Кодирование яркости Человеческое зрение имеет логарифмическую характеристику восприятия интенсивности света Приближаем функцией степени При ограниченном числе бит на яркость, необходимо поддерживать шаг не более 1%, чтобы не было видно градаций
17 Причина 2: Кодирование яркости Гамма-коррекция позволяет выделить больше бит на яркость там, где это лучше всего видно
18 Причина 2: Кодирование яркости Без гамма-коррекции: 26/25 - разница 4% После гамма-коррекции 88/90 - разница 1,8%
19 Причина 2: Кодирование яркости: Функция монитора Монитор выполняет «аналоговое» сжатие диапазона яркостей в темной области Тем самым увеличивается «плотность» градаций, оставляя разницу в пределах 1-2%
20 Кодирование яркости: примеры На входе – неквантованное изображение Задача: сохранить его в формате: 24 бит на пиксель
21 Кодирование яркости: примеры Исходное изображение на матрице Линейное С коррекцией 1 / 2.2 Дисплей / 2.2 !
22 Кодирование яркости: примеры Вариант 1: линейная дискретизация (показано БЕЗ гамма-коррекции!)
23 Кодирование яркости: примеры Вариант 1: линейная дискретизация (показано С гамма-коррекцией!)
24 Кодирование яркости: примеры Вариант 2: нелинейная дискретизация (Гамма-коррекция сразу в файле)
25 Кодирование яркости: сравнение +40%
26 Причина 3: Одновременный контраст Зрительная система человека адаптируется к уровню окружающего освещения При ярком свете контраст повышается черное кажется контрастно черным В темноте контраст понижается черное становится серым
27 Одновременный контраст Можно использовать системы с суммарной передающей функцией с γ1.0, чтобы компенсировать разные освещения при создании и при просмотре изображения! γ > 1.0 больше контраст γ < 1.0 меньше контраст
28 Одновременный контраст: примение в видео Используется в видео «Недокоррекция»: предполагается γ=2.5, а корректируется 2.2 Результирующая γ1.1 изображение более контрастно, что правильно при просмотре в темном окружении
29 γ=2.2 (результирующая 1.0)
30 Предполагаем γ=2.5 (результирующая 1.1)
31 γ=2.2 (результирующая 1.0) Предполагаем γ=2.8 (результирующая 1.27)
32 Гамма в мониторах и операционных системах Win32 Apple Варианты работы с гаммой: Нет коррекции должно делать приложение Полная коррекция приложение отдает линейное изображение Частичная коррекция частично корректирует драйвер, частично – приложение
33 Гамма в Windows Гамма не корректируется в драйвере! Для того, чтобы корректно вывести изображение на монитор, оно должно быть в нелинейном пространстве, с полной гамма-коррекцией С камеры уже приходят такие изображения, так что с ними ничего делать не нужно При условии совпадения гаммы! Гамма может быть в профиле (например, sRGB) Если ничего не сказано, используйте гамму 2.2 Прописано в sRGB
34 Примеры изображений! Без гамма-коррекции Гамма 1.8
35 Примеры изображений! Без гамма-коррекции Гамма 2.2
36 Примеры изображений! Без гамма-коррекции Гамма 2.5
37 Примеры изображений
38 Еще пример Гамма-коррекция 1.0 (нет) Гамма-коррекция 1.7
39 Гамма в Apple Мониторы имеют те же ~2.5 гамма, что в Windows Графическая карта выполняет «недокоррекцию» гаммы самостоятельно C = C 1 / 1.45 Суммарно считается, что гамма на платформе Apple равна 1.8 (1.4 / 2.5) Изображения, сделанные на платформе Apple и не содержащие профиля, на платформе Windows будут выглядеть темными!
40 Как узнать, какая гамма у монитора??? 1) померять вручную 2) считать ее равной 2.2 или 2.5 Обычно гамма у CRT-монитора лежит в пределах У LCD должно быть так же, но в современных стараются делать 2.2 (удобнее для просмотра в светлое время суток)
41 Как работать с гаммой Варианты использования изображений для синтеза фотореалистичных изображений: Текстуры Источники света (панорамы и т.п.) Алгоритмы, работающие с изображениями, должны использовать линейное представление излучения
42 Как понять, какая гамма в изображении? Если есть профиль, часто гамма указывается с профилем 99% процентов обычных изображений – JPEG, BMP и т.п. с гамма-коррекцией HDR-изображения без гамма-коррекции На платформе Windows это гамма 2.2. На других платформах может отличаться. Если в изображении нет профиля или просмотрщик не поддерживает профили, изображение может выглядеть неправильно!
43 Процесс использования изображений в процессе синтеза LDR Текстура, панорама «2.2» Расчет освещения, синтез картинки «1/2.2» Монитор
44 Пример: работа с текстурами без и с гамма-коррекцией! Изображение 1 (JPEG): 200 Изображение 2 (JPEG) : 50. Нужно наложить поверх с прозрачностью 0.4. Цвет = 200 * (1 – 0.4) = = 110
45 Пример: работа с текстурами без и с гамма-коррекцией! Изображение 1 (JPEG, sRGB): 200 Изображение 2 (JPEG, sRGB) : 50. Делаем гамма-преобразование, чтобы получить корректные значения излучения для данного источника. (200 / 255 ) ^ 2.2 = 149,4 (округлено) (50 / 255 ) ^ 2.2 = 7,0 (округлено) Цвет = 149,4 * ,0 (1 – 0.4) = 92,5 Перед выводом делаем опять гамма-коррекцию: (92,5 / 255)^(1/2.2) = 160,8151 !!! VS 110 !
46 Пример: смешивание изображений 50%
47 50% без гамма-преобразования
48 50%, с гамма-преобразованием
49 А почему там шум какой-то вылез? Потому что произошла потеря точности из-за преобразования C=(BYTE)C^(2.2) … C=(BYTE)C^(1/2.2) Вывод: если учитывать гамму, надо работать в floating-point или сразу готовить текстуры / освещение в линейном диапазоне +40%
50 Прямая около нуля
51 Определение гаммы
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.