Кіріспе
Суреттің жарқырауының карталау функциясы
Гамма түзетуі немесе гамма – видео немесе тұрақты сурет жүйелерінде жарқыраудың немесе үш түстік компоненттердің мәндерін кодтау және декодтау үшін қолданылатын сызықты емес операция. Гамма түзетуі ең қарапайым жағдайларда келесі қуат заңы арқылы анықталады:
мұнда теріс емес нақты кіріс мәні қуатқа көтеріліп, тұрақты А-ға көбейтіледі, нәтижесінде шығыс мәні алынады. Егер A = 1 болса, кіріс және шығыс мәндері әдетте 0–1 аралығында болады. Гамма мәні кейде кодтау гаммасы деп аталады, ал осы сығу қуат заңының сызықтық еместігімен кодтау процесі гамма сығуы деп аталады; керісінше, гамма мәні декодтау гаммасы деп аталады, ал кеңейту қуат заңының сызықтық еместігін қолдану гамма кеңейтуі деп аталады.
Түсіндірме
Суреттерді гамма-кодтау, суретті кодтау кезінде биттерді тиімді пайдалану және суретті тасымалдау үшін қажетті жолақтың енін оңтайландыру үшін қолданылады. Бұл, адамдардың жарық пен түсті қабылдауының сызықты емес екендігін ескере отырып жасалады. Жылдам нүктелік суреттерді гамма-кодтау қажет емес (және тіпті зиянды болуы мүмкін), себебі жылдам нүктелік формат логарифмдік қисықтың бөлік-бөлік бойынша сызықтық жуықтауын қамтамасыз етеді. Гамма-кодтау бастапқыда катодты сәулелі түтік (CRT) дисплейлерінің жарықтық сипаттамаларын өтеу үшін жасалған болса да, қазіргі жүйелерде бұл оның басты мақсаты немесе артықшылығы емес. CRT дисплейлерінде жарықтың қарқындылығы электронды пушканың кернеуіне сызықты емес тәуелді. Кіріс сигналын гамма-сығу арқылы өңдеу осы сызықтық емес қасиетті жоюға мүмкіндік береді, нәтижесінде шығарылатын суретте күтілген жарықтық деңгейіне қол жеткізіледі. Дегенмен, дисплей құрылғысының гамма-сипаттамалары суреттер мен бейнелерді гамма-кодтау кезінде ескерілмейді. Гамма-кодтау сигналдың визуальды сапасын арттыру үшін қажет, дисплей құрылғысының гамма-сипаттамаларына қарамастан. Фотопленка, фотоқағаздағыдан гөрі көлеңкелердегі ұсақ айырмашылықтарды жақсырақ тіркеуге қабілетті. Сол сияқты, көптеген бейне экрандар әдеттегі электронды камералар түсіре алатын жарықтық диапазонына (динамикалық диапазонға) жете алмайды. Осы себепті, түпнұсқа суреттің қайта жаңғырту үшін қысқартылған формасын таңдауға көптеген көркемдік күш-жігер жұмсалады. Гамма-түзету немесе контрастты таңдау – қайта жаңғыртылған суретті реттеу үшін қолданылатын фотосуретшінің құралдарының бір бөлігі. Сол сияқты, цифрлық камералар жарықты сызықтық түрде жауап беретін электронды сенсорлар арқылы тіркеді. Сызықтық шикі деректерді стандартты RGB деректеріне (мысалы, JPEG сурет пішіміне сақтау үшін) айналдыру процесінде түс кеңістігінің түрлендірілуі және көрсету түрлендірілуі жүзеге асырылады. Әсіресе, барлық стандартты RGB түс кеңістіктері мен файл пішімдері, фотосуреттегі негізгі түстердің күтілетін қарқындылығының сызықты емес кодтауын (гамма-сығуын) қолданады. Сонымен қатар, жоспарланған қайта жаңғырту көбінесе өлшенген көрініс қарқындылығымен сызықты емес байланыста болады, бұл тондық қайта жаңғыртудың сызықтық емес қасиеті арқылы жүзеге асырылады.
Жалпыланған гамма
Гамма тұжырымдамасын кез келген сызықтық емес қатынасқа қолдануға болады. Қуат заңына сәйкес қатынаста, логарифмдік-логарифмдік графиктегі қисық түзу сызық болып келеді, оның еңістігі кез келген нүктеде гаммаға тең (мұнда еңістік туынды операторы арқылы көрсетіледі):
Яғни, гамманы логарифмдік осьтерде салынған кіріс-шығыс қисығының еңістігі ретінде көруге болады. Қуат заңы қисығы үшін бұл еңіс тұрақты, бірақ бұл идеяны кез келген қисық түріне қолдануға болады, онда гамма (нақтырақ айтқанда, "нүктелік гамма") нақты бір аймақтағы қисықтың еңістігі ретінде анықталады.
Фильмдік фотосурет
Фотопленка жарыққа ұшырағанда, экспозицияның нәтижесі көлденең осьте экспозицияның логарифмі, ал тік осьте тығыздық немесе өткізу қабілетінің логарифмінің теріс мәні көрсетілген графикте бейнеленеді. Белгілі бір пленка формуласы мен өңдеу әдісі үшін бұл қисық оның сипаттамалық қисығы немесе Hurter–Driffield қисығы деп аталады. Екі ось те логарифмдік бірліктерде өлшенгендіктен, қисықтың сызықты бөлігінің еңісі пленканың гаммасы деп аталады. Негативті пленканың гаммасы әдетте 1-ден кем болады; позитивті пленканың (слайд пленкасы, кері пленка) гаммасы 1-ден асатын абсолютті мәнге ие.
Аналогты теледидар
CRT негізіндегі теледидар қабылдағыштары мен мониторларына шығару көбінесе қосымша гамма түзетуді қажет етпейді. Берілетін немесе бейне файлдарында сақталатын стандартты бейне сигналдар CRT-нің гамма кеңеюіне сәйкес гамма сығуын қамтиды (ол дәл кері болмаса да). Теледидар сигналдары үшін гамма мәні тұрақты және аналогты бейне стандарттарымен анықталады. NTSC түсімен байланысты CCIR M және N жүйелері гамма 2.2 қолданады; PAL немесе SECAM түсімен байланысты B/G, H, I, D/K, K1, L және M жүйелері гамма 2.8 қолданады.
Компьютерлік дисплейлер
Көптеген компьютерлік дисплей жүйелерінде кескіндер шамамен 0,45 гаммамен кодталады және 2,2 гамманың кері шамасымен декодталады. 2009 жылдың қыркүйек айында Mac OS X 10.6 (Snow Leopard) нұсқасы шыққанға дейін, Macintosh компьютерлері 0,55 гаммамен кодталған және 1,8 гаммамен декодталған. Қалай болғанда да, тұрақты кескіндердегі (мысалы, JPEG) бинарлық деректер нақты кодталады (яғни, олар гаммамен кодталған мәндерді, сызықтық жарықтықты емес, сақтайды), сондай-ақ бейнефильмдерде (мысалы, MPEG) де осылай. Егер шығыс құрылғысының гаммасына жақсы сәйкес келу қажет болса, жүйе түсті басқару арқылы осы екі жағдайды да басқара алады. Көптеген камералар, компьютерлер және принтерлерде қолданылатын sRGB түс кеңістігі стандарты жоғарыда айтылғандай қарапайым қуат заңының сызықтықсыздығын қолданбайды, бірақ оның көп бөлігінде 2,2-ге жуық гамма-декодтау мәніне ие, бұл оң жақтағы/жоғарыдағы графикте көрсетілген. 0,04045 қысылған мәнінен немесе 0,00313 сызықтық жарықтықтан төмен, қисық сызықтық болады (кодталған мән жарықтыққа пропорционалды), сондықтан 1 = γ = 1. Қызыл қисықтан кейінгі тіктелген қара қисық – салыстыру үшін стандартты 1 = γ = 2,2 қуат заңы қисығы. Компьютерлерде гамма-түзету, мысалы, гамма = 1,8 Apple кескінін гамма = 2,2 PC мониторында дұрыс көрсету үшін кескіннің гаммасын өзгертуге қолданылады. Тағы бір қолданылуы – монитордың айырмашылықтарын түзету үшін жеке түс арналарының гаммаларын теңестіру.
Гамма мета-ақпарат
Кейбір кескін форматтары кескіннің арналған гаммасын (кодталған кескін үлгілері мен жарық шығысы арасындағы түрлендірулер) метадеректер ретінде сақтауға мүмкіндік береді, бұл автоматты гамма түзетуді жеңілдетеді. PNG спецификациясы осы мақсатта gAMA блогын қамтиды, ал JPEG және TIFF сияқты форматтарда Exif Gamma тегін қолдануға болады. Кейбір форматтарда ICC профилін, оның ішінде трансфер функциясын көрсетуге болады. Бұл мүмкіндіктер, әсіресе интернетте, бұрын проблемалар тудырды. HTML және CSS түстері және JPG немесе GIF кескіндері түстік профиль метадеректерімен бірге келмесе, танымал браузерлер сандық түс мәндерін түс басқарусыз дисплейге жіберді, нәтижесінде құрылғылар арасында көрініс айтарлықтай өзгеше болды. Алайда, сол браузерлер метадеректерде гаммасы нақты көрсетілген кескіндерді түс басқару арқылы жіберді, сондай-ақ метадеректерсіз PNG кескіндеріне әдепкі гамманы қолданды. Бұл PNG кескіндерінің барлық құрылғыларда HTML немесе белгіленбеген JPG түстерімен бірдей болуына кедерлес болды. Жағдай жақсарды, өйткені қазіргі көптеген негізгі браузерлер гамма параметрін (немесе оның жоқтығын) қолдайды.
Видеоға арналған қуат заңдары
Гамма-характеристика – теледидар жүйесінде кодталған люма мен нақты қажетті кескіннің жарықтылығы арасындағы қатынасты шамалайтын қуат заңдылығы. Бұл сызықтық емес қатынаспен кодталған жарықтылықтағы тең қадамдар шамамен жарықтылықтағы субъективті тең қадамдарға сәйкес келеді. Эбнер мен Фэрчайлд нейтральдар үшін сызықтық интенсивтілікті жеңілдікке (люма) аудару үшін 0,43-тің экспонентасын қолданды; керісінше, шамамен 2,33 (типілдік дисплейлік ішкі жүйе үшін келтірілген 2,2-ге өте жақын) сұр түстердің шамамен оңтайлы перцепциялық кодтауын қамтамасыз ететіндігі анықталды. Келесі сурет кодталған жарықтық сигналы сызықтық түрде өсетін масштаб (сызықтық гамма-сығымдалған люма кірісі) мен интенсивтілік масштабы сызықтық түрде өсетін масштаб (сызықтық жарықтық шығысы) арасындағы айырмашылықты көрсетеді. Сызықтық кодтау VS = 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Сызықтық интенсивтілік I = 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
On most displays (those with gamma of about 2.2), one can observe that the linear intensity scale has a large jump in perceived brightness between the intensity values 0.0 and 0.1, while the steps at the higher end of the scale are hardly perceptible. The gamma encoded scale, which has a nonlinearly increasing intensity, will show much more even steps in perceived brightness. A cathode ray tube (CRT), for example, converts a video signal to light in a nonlinear way, because the electron gun's intensity (brightness) as a function of applied video voltage is nonlinear. The light intensity I is related to the source voltage Vs according to
where γ is the Greek letter gamma. For a CRT, the gamma that relates brightness to voltage is usually in the range 2.35 to 2.55; video look up tables in computers usually adjust the system gamma to the range 1.8 to 2.2, Setting up these tables to be correct is called hardware calibration. Some modern monitors allow the user to manipulate their gamma behavior (as if it were merely another brightness/contrast like setting), encoding the input signals by themselves before they are displayed on screen. This is also a calibration by hardware technique but it is performed on the analog electric signals instead of remapping the digital values, as in the previous cases. In a correctly calibrated system, each component will have a specified gamma for its input and/or output encodings. In many cases the gamma correction values for the primary colors are slightly different. Setting the color temperature or white point is the next step in monitor adjustment. Before gamma correction the desired gamma and color temperature should be set using the monitor controls. Using the controls for gamma, contrast and brightness, the gamma correction on an LCD can only be done for one specific vertical viewing angle, which implies one specific horizontal line on the monitor, at one specific brightness and contrast level. An ICC profile allows one to adjust the monitor for several brightness levels. The quality (and price) of the monitor determines how much deviation of this operating point still gives a satisfactory gamma correction. Twisted nematic (TN) displays with 6 bit color depth per primary color have lowest quality. In plane switching (IPS) displays with typically 8 bit color depth are better. Good monitors have 10 bit color depth, have hardware color management and allow hardware calibration with a tristimulus colorimeter. Often a 6bit plus FRC panel is sold as 8bit and a 8bit plus FRC panel is sold as 10bit. FRC is no true replacement for more bits. The 24 bit and 32 bit color depth formats have 8 bits per primary color. With Microsoft Windows 7 and above the user can set the gamma correction through the display color calibration tool dccw. exe or other programs. These programs create an ICC profile file and load it as default. This makes color management easy. Increase the gamma slider in the dccw program until the last colored area, often the green color, has the same brightness in checkered and homogeneous area. Use the color balance or individual colors gamma correction sliders in the gamma correction programs to adjust the two other colors. Some old graphics card drivers do not load the color Look Up Table correctly after waking up from standby or hibernate mode and show wrong gamma. In this case update the graphics card driver. On some operating systems running the X Window System, one can set the gamma correction factor (applied to the existing gamma value) by issuing the command xgamma gamma 0.9 for setting gamma correction factor to 0.9, and xgamma for querying current value of that factor (the default is 1.0). In macOS systems, the gamma and other related screen calibrations are made through the System Preferences.
Көптеген дисплейлерде (гамма шамамен 2.2 бар) сызықтық интенсивтілік шкаласы интенсивтілік мәндері 0.0 және 0.1 арасында танылған жарықтылықта үлкен секіруді байқауға болады, ал шкаланың жоғарғы шетіндегі сатылар едәуір сезілмейді. Гамма кодталған шкалада, оның интенсивтілігі сызықтық емес түрде өседі, ол көрінетін жарықтықта әлдеқайда тепе-тең қадамдарды көрсетеді. Мысалы, катодты сәулелі түтік (CRT) бейне сигналын сызықтық емес жолмен жарыққа айналдырады, өйткені электронды қарудың интенсивтілігі (жарықтығы) қолданылатын бейне кернеуінің функциясы сызықтық емес. I жарық интенсивтілігі Vs көзі кернеуіне байланысты, мұнда γ – грек әрпі гамма. CRT үшін жарықтықты кернеуге байланыстыратын гамма әдетте 2,35-тен 2,55 аралығында болады; компьютерлердегі бейне іздеу кестелері жүйе гаммасын әдетте 1,8 – 2,2 аралығына реттейді, мұндай кестелерді дұрыс орнату аппараттық калибрлеу деп аталады. Кейбір заманауи мониторлар пайдаланушыға гамма-әрекетті (бұл жай ғана басқа жарық/қарама-қайшылық сияқты параметрлер) манипуляциялауға мүмкіндік береді, олар экранға шығарылғанға дейін кіріс сигналдарын кодтайды. Бұл да аппараттық әдіспен калибрлеу, бірақ ол алдыңғы жағдайлардағыдай цифрлық мәндерді қайта карталаудың орнына аналогты электр сигналдарында орындалады. Дұрыс калибрленген жүйеде әрбір компоненттің кіріс және/немесе шығыс кодтамалары үшін белгіленген гамма болады. Көп жағдайда гамма-түстердің түзету мәндері біршама өзгеше болады. Түс температурасын немесе ақ нүктесін орнату – мониторды реттеудің келесі қадамы. Гамма-коррекция алдында қажетті гамма және түс температурасын монитордың басқару құралдары арқылы орнату керек. Гамма, контраст және жарықтықты басқару элементтерін пайдалана отырып, гамма-түзету LCD-де тек бір нақты тік көру бұрышы үшін ғана орындалуы мүмкін, бұл монитордағы бір нақты көлденең сызықты, бір нақты жарықтық және контраст деңгейін білдіреді. ICC профилі мониторды жарықтылықтың бірнеше деңгейіне реттеуге мүмкіндік береді. Монитордың сапасы (және бағасы) осы жұмыс нүктесінің ауытқуының қаншалықты қанағаттанарлық гамма түзетуін беретінін анықтайды. Негізгі түстер үшін түстер тереңдігі 6 битті бұрмаланған нематикалық (TN) дисплейлер сапасы төмен. Ұшақ коммутациялауында (IPS) әдетте 8 бит түстер тереңдігі бар дисплейлер жақсы. Жақсы мониторлардың түсі 10 бит тереңдікте болады, аппараттық түстерді басқаруға ие және тристимулдық колориметрмен аппаратты калибрлеуге мүмкіндік береді. Көбінесе 6 биттік + FRC панелі 8 биттік, ал 8 биттік + FRC панелі 10 биттік болып сатылады. FRC – бұл біраз биттің орнына емес. 24 биттік және 32 биттік түстер тереңдігі форматтары негізгі түстер үшін 8 битті құрайды. Microsoft Windows 7 және одан жоғары нұсқаларында пайдаланушы гамма-түсіндірісті дисплейдің түстерін калибрлеу құралы dccw.exe немесе басқа да бағдарламалар арқылы орната алады. Бұл бағдарламалар ICC профиль файлын жасайды және оны әдетті түрде жүктейді. Бұл түспен басқаруды жеңілдетеді. Dccw бағдарламасында соңғы түсті аймақ, көбінесе жасыл түсті, текшелі және біртекті аймақта бірдей жарықтылыққа ие болғанша гамма слайдерін арттырыңыз. Қалған екі түсті реттеу үшін гамма-түсті түзету бағдарламасындағы түстер балансын немесе жеке түсті гамма-түсті түзету слайдерлерін пайдаланыңыз. Кейбір ескі графикалық карта драйверлері күту немесе қысқы ұйқы режимінен оянғаннан кейін түстерді дұрыс жүктемейді және дұрыс емес гамманы көрсетеді. Бұл жағдайда графикалық карта драйверін жаңартыңыз. X терез...
On most displays (those with gamma of about 2.2), one can observe that the linear intensity scale has a large jump in perceived brightness between the intensity values 0.0 and 0.1, while the steps at the higher end of the scale are hardly perceptible. The gamma encoded scale, which has a nonlinearly increasing intensity, will show much more even steps in perceived brightness. A cathode ray tube (CRT), for example, converts a video signal to light in a nonlinear way, because the electron gun's intensity (brightness) as a function of applied video voltage is nonlinear. The light intensity I is related to the source voltage Vs according to
where γ is the Greek letter gamma. For a CRT, the gamma that relates brightness to voltage is usually in the range 2.35 to 2.55; video look up tables in computers usually adjust the system gamma to the range 1.8 to 2.2, Setting up these tables to be correct is called hardware calibration. Some modern monitors allow the user to manipulate their gamma behavior (as if it were merely another brightness/contrast like setting), encoding the input signals by themselves before they are displayed on screen. This is also a calibration by hardware technique but it is performed on the analog electric signals instead of remapping the digital values, as in the previous cases. In a correctly calibrated system, each component will have a specified gamma for its input and/or output encodings. In many cases the gamma correction values for the primary colors are slightly different. Setting the color temperature or white point is the next step in monitor adjustment. Before gamma correction the desired gamma and color temperature should be set using the monitor controls. Using the controls for gamma, contrast and brightness, the gamma correction on an LCD can only be done for one specific vertical viewing angle, which implies one specific horizontal line on the monitor, at one specific brightness and contrast level. An ICC profile allows one to adjust the monitor for several brightness levels. The quality (and price) of the monitor determines how much deviation of this operating point still gives a satisfactory gamma correction. Twisted nematic (TN) displays with 6 bit color depth per primary color have lowest quality. In plane switching (IPS) displays with typically 8 bit color depth are better. Good monitors have 10 bit color depth, have hardware color management and allow hardware calibration with a tristimulus colorimeter. Often a 6bit plus FRC panel is sold as 8bit and a 8bit plus FRC panel is sold as 10bit. FRC is no true replacement for more bits. The 24 bit and 32 bit color depth formats have 8 bits per primary color. With Microsoft Windows 7 and above the user can set the gamma correction through the display color calibration tool dccw. exe or other programs. These programs create an ICC profile file and load it as default. This makes color management easy. Increase the gamma slider in the dccw program until the last colored area, often the green color, has the same brightness in checkered and homogeneous area. Use the color balance or individual colors gamma correction sliders in the gamma correction programs to adjust the two other colors. Some old graphics card drivers do not load the color Look Up Table correctly after waking up from standby or hibernate mode and show wrong gamma. In this case update the graphics card driver. On some operating systems running the X Window System, one can set the gamma correction factor (applied to the existing gamma value) by issuing the command xgamma gamma 0.9 for setting gamma correction factor to 0.9, and xgamma for querying current value of that factor (the default is 1.0). In macOS systems, the gamma and other related screen calibrations are made through the System Preferences.
Өлшемін өзгерту және араластыру
Пиксельдік мәндерге қатысты операциялар "сызықтық жарықта" (гамма 1) орындалуы тиіс. Эрик Брассер бұл мәселені толыққанды талқылап, сынақ суреттерін ұсынады. Олар кең таралған проблеманы көрсетуге арналған: көптеген бағдарламалар физикалық тұрғыдан дұрыс сызықтық кеңістіктің орнына гаммамен түстік кеңістікте масштабтауды жүзеге асырады. Сынақ суреттері дұрыс емес түрде төмендетілген кезде түбірінен бөлек көрінеді. Джонас Берлин осы принципке негізделген «Сіздің масштабтау бағдарламалық қамтамасыңыз нашар/тамаша» суретін жасады. Масштабтаудан басқа, бұл мәселе төмендетудің басқа да түрлеріне (кемелеуге) қатысты, мысалы, JPEG-тің гамма қолданылған Y′CbCr форматындағы хромалық субдискретизациясы. WebP бұл мәселені сызықтық кеңістікте хроманың орташа мәнін есептеу арқылы шешеді, содан кейін гамма қолданылған кеңістікке қайта түрлендіреді; үлкен суреттер үшін итеративтік шешім қолданылады. Сол өткір YUV (бұрын «ақылды» YUV) коды sjpeg және опция бойынша AVIF-те қолданылады. Корнелски люмаға негізделген салмақты орташа есептеу арқылы қарапайым жуықтауды ұсынады. Альфа қосылуы, түстік градиенттер және 3D рендеринг те осы мәселеге ұшырайды. Қызығы, суретті үлкейту кезінде «бұрыс» (физикалық емес) гамма түстік кеңістігінде өңделген нәтиже көбінесе эстетикалық тұрғыдан әсерлі болады. Себебі Митчелл-Нетравали және Ланчос сияқты теріс бөліктері бар қайта үлгілеу сүзгілері адамның қабылдауы сызықтық емес және гамма арқылы жақсырақ жуықтауға болатын болса да, сыңғыр артефактілерін сызықтық түрде жасайды. (Сызықтық жарықта (гамма=1) төмендетуді ынталандыратын «артқа шегінуді» еліктеу үлкейту кезінде қолданылмайды.) Сыңғыр артефактілерін азайтудың осыған байланысты әдісі – ImageMagick және GIMP-тің LoHalo сүзгісімен басталып, madVR, AviSynth және Mpv-де бейне үлкейтуге бейімделген сигмоидальды жарық беру функциясын пайдалану болып табылады.