Кіріспе

RGB түс моделінің HSL және HSV баламалы бейнелері RGB түс моделіндегі нүктелердің екі ең көп тараған цилиндрлік координаттық бейнелеуі болып табылады. Екі бейнелеу де RGB геометриясын картезиялық (куб) бейнелеуге қарағанда интуитивті және қабылдау тұрғысынан маңызды етуге тырысады. 1970-ші жылдары компьютерлік графика саласы үшін жасалған HSL және HSV қазіргі кезде түс таңдағыштарда, кескін өңдеу бағдарламалық жасақтамаларында, сондай-ақ сирек жағдайларда кескіндерді талдау және компьютерлік көруде қолданылады. HSL – түс, қанығу және жарық сипаттайды, көбінесе HLS деп те аталады. HSV – түс, қанығу және құндылықты білдіреді, сонымен қатар оны жиі HSB (жарық үшін B) деп атайды. Компьютерлік көру қолданбаларында көп кездесетін үшінші модель – HSI, ол түс, қанығу және қарқындылықты білдіреді. Дегенмен, әдетте сәйкес болса да, бұл анықтамалар стандартталмаған, сондықтан осы аббревиатуралардың кез келгенін осы үш немесе басқа да байланысты цилиндрлік модельдердің кез келгені үшін қолдануға болады. (Бұл терминдердің техникалық анықтамаларымен төменде танысуға болады.) Әрбір цилиндрде орталық тік осьтің айналасындағы бұрыш «түске», осьтен қашықтық «қанығуға», ал ось бойындағы қашықтық «жарыққа», «құндылыққа» немесе «жарықтыққа» сәйкес келеді. HSL және HSV-де «түс» бірдей қасиетті білдірсе де, олардың «қанығу» анықтамалары күрт өзгеше екенін ескеріңіз. HSL және HSV құрылғыға тәуелді RGB модельдерінің қарапайым түрлендірілімдері болғандықтан, олар анықтайтын физикалық түстер құрылғының немесе нақты RGB кеңістігінің қызыл, жасыл және көк түстеріне, сондай-ақ осы бастапқы түстер мөлшерін көрсету үшін қолданылатын гамма түзетуіне байланысты. Сондықтан, әрбір бірегей RGB құрылғысының өзіне тән HSL және HSV кеңістіктері болады, ал сандық HSL немесе HSV мәндері әрбір негізгі RGB кеңістігі үшін әртүрлі түсті сипаттайды. Бұл екі бейнелеу де компьютерлік графикада кеңінен қолданылады, олардың бірі немесе екіншісі RGB-дан ыңғайлырақ болуы мүмкін, бірақ екеуі де түс жасау атрибуттарын жеткілікті түрде бөле алмағаны немесе қабылдау тұрғысынан біркелкі болмағаны үшін сынға ұшырайды. CIELAB немесе CIECAM02 сияқты есептеулерді қажет ететін басқа модельдер осы мақсаттарға жақсырақ қол жеткізеді деп есептеледі.

Негізгі принцип

HSL және HSV екеуі де цилиндрлік геометриялар (сурет 2) болып табылады, олардың бұрыштық өлшемі – түс, 0°-да қызыл түстің бастапқы нүктесінен басталып, 120°-да жасыл түстің бастапқы нүктесінен және 240°-да көк түстің бастапқы нүктесінен өтеді, содан кейін 360°-да қайтадан қызыл түске оралады. Әрбір геометрияда орталық тік ось бейтарап, ахроматикалық немесе сұр түстерді қамтиды, жоғарыдан төменге қарай ақ түс 1 жарықтықта (мәні 1) және 0 жарықтықта (мәні 0) қара түске дейін өзгереді. Екі геометрияда да қосымша негізгі және қосымша түстер – қызыл, сары, жасыл, көк, лазурь және қызғылт сары – және олардың іргелес жұптары арасындағы сызықтық қоспалар, кейде «таза түстер» деп аталады, цилиндрдің сыртқы шеті бойынша 1 қанықтықпен орналасқан. Бұл қаныққан түстер HSL-де 0,5 жарықтыққа ие, ал HSV-де олардың мәні 1-ге тең. Осы таза түстерді қарамен араластыру арқылы алынған «көлеңкелер» қанықтықты өзгерте алмайды. HSL-де қанықтық ақ түспен араластыру арқылы да өзгермейді, тек қара және ақ түстің қоспалары ғана – «тон» деп аталатындар – 1-ден төмен қанықтыққа ие болады. HSV-де тек түстеу ғана қанықтықты азайтады. Қанықтықтың осы анықтамалары, онда өте қараңғы (екі модельде де) немесе өте ашық (HSL-де) бейтарап түстерге жақын түстер толық қаныққан деп есептеледі (мысалы, кесілген HSL цилиндрінің төменгі оң жағы немесе жоғарғы оң жағы), түстің тазалығы туралы интуитивті түсінікке қайшы келеді. Сондықтан көбінесе конус немесе биконус пішіндес дене суреттеледі (сурет 3), онда осы мақалада «хрома» деп аталатын радиалдық өлшем (RGB мәндерінің диапазонына тең) қанықтықтың орнына қолданылады (мұнда қанықтық (биконустың) осы қимасындағы ең жоғары хромаға тең). Қызықтысы, мұндай диаграммалар әдетте осы радиалдық өлшемді «қанықтық» деп белгілейді, бұл қанықтық пен хрома арасындағы айырмашылықты бұрмалап немесе жояды. Жоғарыда сипатталғандай, хроманы есептеу әрбір модельді тудырудың пайдалы қадамы болып табылады. Мұндай аралық модель – түс, хрома және HSV мәні немесе HSL жарықтығы сияқты өлшемдері бар – конус немесе биконус пішінін алады, сондықтан HSV көбінесе «гекскон модель» деп, ал HSL көбінесе «бигекскон модель» деп аталады (сурет 8).

Мотивация

Телевизорлардың, компьютерлік дисплейлердің және проекторлардың көпшілігі қызыл, жасыл және көк түстерді әртүрлі қарқындылықта біріктіре отырып, түстерді шығарады – осылай аталатын RGB аддитивті негізгі түстер. RGB түстік кеңістігіндегі алынған қоспалар кең ауқымдағы түстерді (гамут деп аталады) қайта жасай алады; алайда, қызыл, жасыл және көк жарықтың құрамдас бөліктері мен алынған түс арасындағы байланыс, әсіресе тәжірибесіз пайдаланушылар үшін және бояулардың немесе дәстүрлі суретшілердің түстер мен көлеңкелерге негізделген модельдерінің субтрактивті түстерін араластырумен таныс пайдаланушылар үшін интуитивті емес (4-суретті қараңыз). Сонымен қатар, аддитивті немесе субтрактивті түстер модельдері түстер арасындағы байланысты адам көзі сияқты анықтамайды. Мысалы, егер бізде 0–255 диапазонындағы үш жылғышпен басқарылатын RGB дисплейі болса, олардың әрқайсысы қызыл, жасыл және көк негізгі түстердің қарқындылығын басқарады десек, егер біз салыстырмалы түрде жарқын қызғылт сарыдан (sRGB мәндері: R = 217, G = 118, B = 33) бастап, оның түстілігін жартысына дейін азайтып, азырақ қаныққан қызғылт сарыға жеткізгіміз келсе, R-ді 31-ге азайту, G-ді 24-ке арттыру және B-ді 59-ға арттыру үшін жылғыштарды жылдауымыз керек, төмендегі суретте көрсетілгендей. 1950 жылдардан бастап түсті теледидар хабарларын таратуда үйлесімді түстер жүйесі қолданылды, онда «жарықтық» және «хроминанстық» сигналдары бөлек кодталды, сондықтан бұрынғы өзгертілмеген қара-ақ телевизорлар түсті хабарларды қабылдай және монохромды бейне көрсете алатын болды. Көбірек дәстүрлі және интуитивті түстерді араластыру модельдерін қамтамасыз ету үшін PARC және NYIT компьютерлік графикасының пионерлері 1970 жылдардың ортасында компьютерлік дисплей технологиясы үшін HSV моделін енгізді, оны Альви Рей Смит 1978 жылғы тамыздағы «Computer Graphics» журналында ресми түрде сипаттады. Сол нөмірде Джоблов пен Гринберг HSL моделін сипаттады – оның өлшемдері түс, салыстырмалы хрома және қарқындылық деп белгіленді және оны HSV-мен салыстырды (1-суретті қараңыз). Олардың моделі түстердің реңк, жарықтық және хрома сияқты басқа түстерді жасау атрибуттары тұрғысынан адамның көруінде қалай ұйымдастырылғаны мен түсіндірілуіне, сондай-ақ дәстүрлі түстерді араластыру әдістеріне – мысалы, сурет салуда – жарық түсті пигменттерді қара немесе ақ түспен араластыру арқылы жеңіл, қараңғы немесе азырақ түсті түстерге жетуге негізделген. Келесі жылы, 1979 жылы SIGGRAPH-та Tektronix HSL түстерін белгілеу үшін графикалық терминалдарды енгізді, ал Компьютерлік графика стандарттары комитеті оны жылдық мәртебелік есепте ұсынды (7-суретті қараңыз). Бұл модельдер шикі RGB мәндерінен гөрі интуитивті болғандықтан ғана емес, сонымен қатар RGB-ға және одан түрлендірулерді есептеу өте жылдам болды: олар 1970 жылдардың аппараттық құралдарында нақты уақытта жұмыс істей алатын. Осылайша, осы модельдер мен оларға ұқсас модельдер сол кезден бері бейне өңдеу және графикалық бағдарламалық жасақтамада кеңінен қолданылып келеді. Олардың кейбір қолданылулары төменде сипатталған.

Түсті қалыптастыру қасиеттері

HSL және HSV геометрияларының өлшемдері – RGB моделінің қарапайым түрлендірулері – CIE немесе ASTM сияқты ғалымдар анықтағандай, бірдей атаулармен аталатын фотометриялық түс қасиеттерімен тікелей байланысты емес. Дегенмен, біздің модельдерімізді туындытуға кіріспес бұрын осы анықтамаларды қарап шығуға тұрарлық. Түс қасиеттерінің анықтамалары үшін төмендегілерді қараңыз: Түс – "көрнекі сезімнің атрибуты, оған сәйкес аймақ қызыл, сары, жасыл және көк түстердің біріне немесе олардың екеуінің комбинациясына ұқсас көрінеді". Ол "Біз RGB мониторын сызықтық құрылғы деп есептейміз" деп нақты айтады және осылайша HSV сызықтық RGB қолданып жасалған. Біз штрихтарды (primes) жоямыз, ал R, G және B әріптері гамма-түзетілген немесе түзетілмеген бастапқы RGB кеңістігінің үш атрибутын білдіреді. Ол кеңістікті бұрышына бұрып, қара түс бастапқы нүктеде, ал ақ түс тік ось бойымен тікелей жоғарыда орналасқан етіп, содан кейін кубтің ішіндегі түстердің түсін сол осьтің бойымен, 0° қызыл түстен бастап бұрыштары бойынша өлшеді. Содан кейін олар жарықтық/мәнді/көңілділіктің сипаттамасын жасады және басқа параметрлердің әр жұбы үшін қанықтықты ось бойымен 0-ден бастап, ең түсті нүктеге дейін 1-ге дейін анықтады. (atan2 функциясы, "екі аргументті арктангенс", картезиандық координаттар жұбынан бұрышты есептейді.) Осы екі түс анықтамасының (H және H2) дерлік сәйкес келетінін байқаңыз, олардың арасындағы максималды айырмашылық кез келген түс үшін шамамен 1.12°, ол он екі нақты түсте кездеседі, мысалы 1=H = 13.38°, 1=H2 = 12.26° және 1=H = H2 әр 30° еселігі үшін. Хроманың екі анықтамасы (C және C2) айтарлықтай өзгеше: олар біздің алтыбұрыштың бұрыштарында тең, бірақ екі бұрыштың арасындағы ортасындағы нүктелерде, мысалы 1=H = H2 = 30°, бізде 1=C = 1, бірақ шамамен 13.4% айырмашылық бар.

Қанығу

Түстерді реңктілік/жарықтық/хроматикалық немесе реңктілік/құндылық/хроматикалық модельде кодтау кезінде (өткен екі бөлімдегі анықтамалар қолданыла отырып), жарықтық (немесе құндылық) пен хроманың барлық комбинациялары мағыналы емес: яғни, H ∈ [0°, 360°), C ∈ [0, 1] және V ∈ [0, 1] арқылы белгіленетін түстердің жартысы RGB гамматының шегінен шығып кетеді (14-суреттегі кесінділердің сұр бөліктері). Бұл модельдерді жасаушылар кейбір қолданулар үшін бұл мәселе деп есептеді. Мысалы, түс таңдау интерфейсінде екі өлшемді тіктөртбұрыш түрінде және үшіншісі жылғыш (слайдер) ретінде берілгенде, тіктөртбұрыштың жартысы пайдаланбаған бос орыннан тұрады. Енді, жеңілдікке арналған жылғыш бар демелік: пайдаланушының бұл жылғышты реттеудегі ниеті түсініксіз болуы мүмкін: бағдарламалық құрал гамматтан тыс түстерді қалай өңдейді? Немесе керісінше, егер пайдаланушы мүмкіндігінше ашық түсті қара-қызғылт түс таңдап, содан кейін жарықтылық жылғышын жоғары жылдырса, не істеу керек: пайдаланушы берілген реңк пен жарықтылық үшін мүмкіндігінше ашық қызғылт түсті көруді қалай ма, әлде бастапқы түстің дәл сол хромасындағы ашық қызғылт түс көруді қалай ма? Қанығудың осы үш түрлі анықтамасы үшін бірдей атау қолдану шатасуға әкелуі мүмкін, себебі үш атрибут түстердің өте әртүрлі қатынастарын сипаттайды; HSV және HSI-де бұл термин психометриялық анықтамаға, түстің өзінің жарықтығына қатысты хромасына жақын, бірақ HSL-де мұндай жақындық жоқ. Содан әрі, қанығу сөзі жоғарыда хрома деп аталатын өлшемдердің біріне (С немесе С2) жиі қолданылады.

Мысалдар

Төменде көрсетілген барлық параметрлер мәндері [0, 1] аралығында берілген, H және H2 үшін [0°, 360°) аралығында орналасқандар ғана. ColorRGBHH2CC2VLI601SHSVSHSLSHSI#FFFFFF 1.000 1.000 1.000n/an/a 0.000 0.000 1.000 1.000 1.000 1.000 0.000 0.000 0.000#808080 0.500 0.500 0.500n/an/a 0.000 0.000 0.500 0.500 0.500 0.500 0.000 0.000 0.000#000000 0.000 0.000 0.000n/an/a 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000#FF0000 1.000 0.000 0.000 0.0° 0.0° 1.000 1.000 1.000 0.500 0.333 0.299 1.000 1.000 1.000#BFBF00 0.750 0.750 0.000 60.0° 60.0° 0.750 0.750 0.750 0.375 0.500 0.664 1.000 1.000 1.000#008000 0.000 0.500 0.000 120.0° 120.0° 0.500 0.500 0.500 0.250 0.167 0.293 1.000 1.000 1.000#80FFFF 0.500 1.000 1.000 180.0° 180.0° 0.500 0.500 1.000 0.750 0.833 0.850 0.500 1.000 0.400#8080FF 0.500 0.500 1.000 240.0° 240.0° 0.500 0.500 1.000 0.750 0.667 0.557 0.500 1.000 0.250#BF40BF 0.750 0.250 0.750 300.0° 300.0° 0.500 0.500 0.750 0.500 0.583 0.457 0.667 0.500 0.571#A0A424 0.628 0.643 0.142 61.8° 61.5° 0.501 0.494 0.643 0.393 0.471 0.581 0.779 0.638 0.699#411BEA 0.255 0.104 0.918 251.1° 250.0° 0.814 0.750 0.918 0.511 0.426 0.242 0.887 0.832 0.756#1EAC41 0.116 0.675 0.255 134.9° 133.8° 0.559 0.504 0.675 0.396 0.349 0.460 0.828 0.707 0.667#F0C80E 0.941 0.785 0.053 49.5° 50.5° 0.888 0.821 0.941 0.497 0.593 0.748 0.944 0.893 0.911#B430E5 0.704 0.187 0.897 283.7° 284.8° 0.710 0.636 0.897 0.542 0.596 0.423 0.792 0.775 0.686#ED7651 0.931 0.463 0.316 14.3° 13.2° 0.615 0.556 0.931 0.624 0.570 0.586 0.661 0.817 0.446#FEF888 0.998 0.974 0.532 56.9° 57.4° 0.466 0.454 0.998 0.765 0.835 0.931 0.467 0.991 0.363#19CB97 0.099 0.795 0.591 162.4° 163.4° 0.696 0.620 0.795 0.447 0.495 0.564 0.875 0.779 0.800#362698 0.211 0.149 0.597 248.3° 247.3° 0.448 0.420 0.597 0.373 0.319 0.219 0.750 0.601 0.533#7E7EB8 0.495 0.493 0.721 240.5° 240.4° 0.228 0.227 0.721 0.607 0.570 0.520 0.316 0.290 0.135

Соңғы пайдаланушы бағдарламалық жасақтамасында пайдалану

HSL және HSV және ұқсас модельдердің бастапқы мақсаты және олардың ең көп таралған қазіргі қолданылуы – түс таңдау құралдарында. Ең қарапайым жағдайда, кейбір түс таңдағыштар үш сырғыту тақтасын ұсынады, әр атрибут үшін біреуден. Дегенмен, көбінесе модель арқылы екі өлшемді қима көрсетіледі, сонымен қатар қай қима көрсетілетінін басқаратын сырғыту тақтасы да болады. GUI-дың осы түрі модельдер ұсынатын цилиндрлер, алтыбұрышты призмалар немесе конустар/биконустар таңдауының арқасында үлкен әртүрлілікке ие (беттің жоғарғы жағындағы суретті қараңыз). Оң жақта 1990-шы жылдардағы бірнеше түс таңдау құралдары көрсетілген, олардың көпшілігі аралық уақытта дерлік өзгермеген: бүгінде кез келген компьютерлік түс таңдау құралы HSL немесе HSV-ны, кем дегенде опция ретінде қолданады. Кейбір күрделі нұсқалар түстердің толық жиынтығын таңдауға арналған, үйлесімді түстер ұсыныстарын олардың арасындағы HSL немесе HSV қатынастарына негіздейді. Түс таңдауды қажет ететін көптеген веб-қосымшалар өз құралдарын HSL немесе HSV-ге негіздейді, ал көптеген негізгі веб-фронт-энд фреймворктер үшін алдын ала жинақталған ашық кодты түс таңдау құралдары бар. CSS 3 спецификациясы веб-авторларына өз беттерінің түстерін тікелей HSL координаттарымен белгілеуге мүмкіндік береді. HSL және HSV кейде карталарда немесе медициналық суреттердегідей деректерді визуализациялау үшін градиенттерді анықтау үшін қолданылады. Мысалы, танымал GIS бағдарламасы ArcGIS тарихи түрде сандық географиялық деректерге HSV негізделген бейімделетін градиенттерді қолданды. Сурет 17. xv-тің HSV негізделген түс өзгертушісі. Сурет 18. Photoshop 2.5 түстегі түс/қанығу құралы, шамамен 1992 жыл. Суреттерді өңдеу бағдарламалық жасақтамасы HSL немесе HSV координаттарына немесе жоғарыда анықталған «жарықтыққа» немесе люмаға негізделген модельдегі координаттарға сілтеме жасай отырып, түстерді реттеу құралдарын да қамтиды. Әсіресе, «түс» және «қанығу» сырғыту тақталары бар құралдар кең таралған, кем дегенде 1980 жылдардың соңына дейін, бірақ әртүрлі күрделі түс құралдары да іске асырылды. Мысалы, Unix сурет қараушысы және түс редакторы xv алты пайдаланушы анықтаған түс (H) диапазондарын айналдыруға және өлшемін өзгертуге мүмкіндік берді, қанығу үшін диал сияқты басқару (SHSV) және мәнді басқару үшін қисық сияқты интерфейс (V) – сурет 17-ні қараңыз. Picture Window Pro сурет редакторы HSL немесе HSV кеңістігіне қатысты түс/қанығу жазықтығындағы нүктелерді күрделі қайта карталауға мүмкіндік беретін «түсті түзету» құралын қамтиды. Видео редакторлары да осы модельдерді қолданады. Мысалы, Avid және Final Cut Pro екеуі де HSL немесе ұқсас геометрияға негізделген түс құралын қамтиды. Avid құралы арқылы пайдаланушылар түстердің барлық түстерін белгілі бір жарықтық деңгейінде (көлеңкелер, ортаңғы реңктер, жарықтар) ауыстыру үшін түс/қанығу шеңберіндегі нүктелерді түртіп, векторды таңдайды. 4.0 нұсқасынан бастап Adobe Photoshop-тың «Luminosity», «Hue», «Saturation» және «Color» режимдері luma/chroma/hue түс геометриясын пайдалана отырып, қабаттарды біріктіреді. Бұлар кеңінен көшірілді, бірақ бірнеше имитаторлар HSL (мысалы, PhotoImpact, Paint Shop Pro) немесе HSV геометрияларын қолданады.

Суреттерді талдауда қолдану

HSL, HSV, HSI немесе осыған ұқсас модельдер компьютерлік көру және кескіндерді талдау салаларында белгілерді анықтау немесе кескіндерді бөліп қарау үшін жиі қолданылады. Мұндай құралдардың қолданылу аясы объектілерді анықтау (мысалы, роботтардың көру қабілетінде), объектілерді тану (мысалы, беттерді, мәтінді немесе тіркеу нөмірін), мазмұнына сәйкес кескіндерді іздеу және медициналық кескіндерді талдау сияқты мәселелерді қамтиды.