Гамма-коррекция


Гамма-коррекция или гамма- коррекция — это нелинейная операция, используемая для кодирования и декодирования значений яркости или трехцветного изображения в системах видео или неподвижных изображений . [1] Гамма-коррекция в простейших случаях определяется следующим степенным выражением:

где неотрицательное действительное входное значение возводится в степень и умножается на константу A , чтобы получить выходное значение . В общем случае A = 1 входы и выходы обычно находятся в диапазоне 0–1.

Значение гаммы иногда называют гаммой кодирования , а процесс кодирования с этой степенной нелинейностью сжатия называется сжатием гаммы ; и наоборот, значение гаммы называется гаммой декодирования , а применение экспансивной степенной нелинейности называется гамма-расширением .

Гамма-кодирование изображений используется для оптимизации использования битов при кодировании изображения или полосы пропускания, используемой для передачи изображения, за счет использования преимущества нелинейного способа, которым люди воспринимают свет и цвет. [1] Человеческое восприятие яркости ( легкости ) при обычных условиях освещения (ни в кромешной тьме, ни в ослепляющей яркости) следует приблизительной функции мощности (примечание: никакого отношения к гамма-функции ) с большей чувствительностью к относительным различиям между более темными тонами . чем между более светлыми тонами, в соответствии со степенным законом Стивенсадля восприятия яркости. Если изображения не кодируются гамма-кодом, они выделяют слишком много битов или слишком большую полосу пропускания для выделения, которые люди не могут различить, и слишком мало битов или слишком малую полосу пропускания для затенения значений, к которым чувствительны люди, и потребуется больше битов/полосы пропускания для поддержания четкости. такое же визуальное качество. [2] [1] [3] Гамма-кодирование изображений с плавающей запятой не требуется (и может быть контрпродуктивным), поскольку формат с плавающей запятой уже обеспечивает кусочно-линейную аппроксимацию логарифмической кривой. [4]

Хотя гамма-кодирование изначально было разработано для компенсации характеристик ввода-вывода дисплеев с электронно-лучевой трубкой (ЭЛТ), это не является его основной целью или преимуществом в современных системах. В ЭЛТ-дисплеях интенсивность света изменяется нелинейно в зависимости от напряжения электронной пушки. Изменение входного сигнала с помощью гамма-сжатия может устранить эту нелинейность, так что выходное изображение будет иметь заданную яркость. Однако гамма-характеристики устройства отображения не играют роли в гамма-кодировании изображений и видео — им необходимо гамма-кодирование для максимального визуального качества сигнала, независимо от гамма-характеристик устройства отображения. [1] [3]Сходство физики ЭЛТ с обратным гамма-кодированием, необходимым для передачи видео, было сочетанием совпадения и инженерии, которая упростила электронику в первых телевизорах. [5]

Фотопленка обладает гораздо большей способностью фиксировать тонкие различия в оттенках, чем это можно воспроизвести на фотобумаге . Точно так же большинство видеоэкранов не способны отображать диапазон яркости (динамический диапазон), который может быть захвачен обычными электронными камерами. [6] По этой причине значительные художественные усилия затрачиваются на выбор уменьшенной формы, в которой должно быть представлено исходное изображение. Гамма-коррекция или выбор контраста является частью фотографического репертуара, используемого для корректировки воспроизводимого изображения.


Влияние гамма-коррекции на изображение. Исходное изображение было взято с разным увеличением, показывая, что увеличение больше 1 делает тени темнее, а увеличение меньше 1 делает темные области светлее.
Характеристическая кривая фотопленки . Наклон ее линейного участка называется гаммой пленки.
График нелинейности стандартного гамма-расширения sRGB выделен красным цветом, а его локальное значение гаммы (наклон в логарифмическом пространстве) — синим. Локальная гамма повышается с 1 до примерно 2,2.
Тестовое изображение гамма-коррекции. Действует только при масштабировании браузера = 100%