ფერების ინფორმატიკული კოდირება

გრაფიკული კარტები, რომლებიც განსაზღვრავს ფერების ყველაზე დიდ რაოდენობას, ჩვეულებრივ შედგება **32 თანრიგისაგან**. ამ 32 ბიტს შორის, 24 ბიტი გამოყენებულია სურათის თითოეული პიქსელის ფერის კოდირებისათვის, ხოლო დანარჩენი 8 ბიტი შესაძლოა იყოს:

* გამოუყენებელი (ეს არის ყველაზე ხშირი შემთხვევა)
* ან გამოიყენება (გრაფიკული კარტების OpenGL, DirectX-ის დახმარებით წარმოდგენილი გამოსახულებით ან ისეთი ფორმატის მიერ წარმოდგენილი გამოსახულებით, როგორიცაა PNG) გამჭვირვალე ინფორმაციის კოდირებისათვის, რომელსაც უწოდებენ *alpha channel*. სურათის ამ პიქსელს მიღმა შესაძლებელია სხვა სურათის პიქსელის ფერის დანახვა, რომელიც მოთავსებულია იგივე ფანჯარაში, მაგრამ "უკანა" იქნება პირველი სურათი (ინგლისურად ამ ტექნიკას უწოდებენ *alpha blending*).

წინააღმდეგ შემთხვევაში, თანამედროვე ეკრანები განისაზღვრებიან 256 ფერის შემცველ ფერთა გამით, მაგრამ ეს არ არის უნივერსალური, თითოეულ კონსტრუქტორს აქვს უფლება თავისებურად განსაზღვროს ეს ფერები. მიუხედავად ამისა, მაინც არსებობს განსაზღვრული (უტყუარი) შეთანხმება HTML-ის ნიმუშის სახეობის არსებობაში, რომელიც ითვალისწინებს, რომ განსაზღვრული ფერთა გამა, რომელსაც უწოდებენ "*Palette web*"-ს (ინგლისურად "safe-web palette" ან "safely palette") უნდა იყოს პრივილეგირებული: სინამდვილეში ინტერნეტის მომხმარებლების (ინგლისურად "browsers") თითქმის უმრავლესობა ენდობა ამ ფერთა გამას... ეს ფერთა გამა შედგება 216 ფერისაგან, რომლის სამი კომპონენტი RVB (ნახავთ ქვევით) არის ერთ-ერთი 51-ის ჯერადთაგანი, ესენია: 0, 51, 102, 153, 204 ან 255. შევნიშნოთ, რომ: 216=6*6*6=63

## დეტალები 
პარაგრაფის გაგრძელებაში ჩვენ ყურადღებას გავამახვილებთ მხოლოდ ფერთა კოდირების 24 ბიტზე. მოცემული განმარტებები შეესაბამება არა მხოლოდ ფერთა წარმოდგენის 32 ბიტს, არამედ აგრეთვე იმ **24 ბიტსაც**.
ფერთა 24 ბიტი იშლება 8 ბიტის შემცველ 3 ნაწილად:
* 8 ბიტი განკუთვნილია მარტივი ტონისათვის ;
* 8 ბიტი განკუთვნილია მარტივი ტონისათვის ;
* 8 ბიტი განკუთვნილია მარტივი ტონისათვის .
ერთნაირი ფერის 8 ბიტი, გამოიყენება მთელი რიცხვის კოდირებისათვის 0-დან *Vmax*-მდე, რომელიც ტოლია 255-ის: მართლაც 28=256. მაშასადამე, პიქსელის წითელი კომპონენტის მნიშვნელობა შესაძლოა წარმოდგენილი იყოს შესაბამისად 256 განსხვავებული დონით (0-დან, წითელის გამოტოვებით, 255-ის ჩათვლით, წითელი მაქსიმალური ინტენსიურობით). იგივეს წარმოადგენს დანარჩენი ორი მარტივი კომპონენტისთვისაც, ესენია მწვანე და ცისფერი. წარმოვიდგინოთ მაგალითი:

გვაქვს მოცემული კვადრატი, რომელიც შედგენილია ერთნაირი ფერის პიქსელებისაგან, რომელსაც უწოდებენ "სხეულს" (სხეულის ფერი), რომლელთა დამახასიათებელი წმც არის შემდეგი:
* წითელი კომპონენტი: 251, იქნება ორობით კოდირებაში (8 ბიტით) ;
* მწვანე კომპონენტი: 208, იქნება ;
* ცისფერი კომპონენტი: 151, იქნება .
ამ ფერის ორობითი კოდირება 24 ბიტით იქნება შემდეგი: .

ამგვარად, არსებობს ფერების წარმოდგენის ორი დიდი ოჯახი, შესაბამისად ისინი შესაძლოა გამოჩნდნენ კომპიუტერის ეკრანზე წარმოდგენილ სურათში. RVB კოდირება (ან RGB ინგლისურად), რომლის პრინციპები აღწერილია და TSL კოდირება (ან HSL ინგლისურად).

ახლა ვნახოთ რომლებია TSL კოდირებაში უკვე შერჩეული ფერის 3 კომპონენტის მნიშვნელობები, შესაბამისად გამოხატულია (როგორც საკმაოდ ხშირ შემთხვევაში) სკალით 0-დან 240-მდე:
* **ტ**ონის კომპონენტი: 23;
* **გ**აჯერების კომპონენტი: 220;
* **გ**ანათების კომპონენტი: 189.
აქ საჭიროებისამებრ დავიმოწმებთ ტონთა გაჯერების სინათლის პარაგრაფში მოცემულ განმარტებებს, რომელშიც დანარჩენი მაქსიმალური მნიშვნელობები ტონისათვის შერჩეულია (0-დან 360 %-მდე), გაჯერებისათვის (0-დან 100 %-მდე) და განათებისთვის (0-დან 100 %-მდე).

RVB კოდირება გამოყენებულია მრავალ რიცხვით პერიფერიებში: შესასვლელში (ფერადი სკანერი, ციფრული ფოტო აპარატი, კამესკოპი...) როგორც გამოსასვლელში (ფერადი ეკრანი, პრინტერი, კადრიქრომი, ფერადი ქსეროქსი...).

TSL კოდირება განეკუთვნება ადამიანურ ოპერატორებს, რომელიც იმეორებს თვალის ბადურისათვის დამახასიათებელ თვისებებს. გამოცდილ ადამიანს შეუძლია მოგვცეს იმ ფერის მიახლოებითი TSL მნიშვნელობა, რომელსაც მას წარუდგენენ (ყველაზე რთულად საპოვნელად ითვლება ყავისფერი), თუ ის გამოუცდელია, ასევე შეუძლია ამის პოვნა ისევე სწრაფად, მაგალითად ფერთა შერჩევის გზით, რომელიც გამოყენებულია მრავალ გრაფიკულ პროგრამაში ან ფერის RVB კომპონენტების შეცვლით, რომლებიც მას ხელთ არა აქვს, თუმცა შეუძლია წარმოიდგინოს. ფერთა განმარტების ტგს ენა საშუალებას გვაძლევს მარტივად განვსაზღვროთ ზოგიერთი გაუფერულებული ტონი, რაც RVB კოდირებაში გაცილებით უფრო რთულია. სამაგიეროდ, გამაძლიერებელი ენების დიდი უმრავლესობა მოითხოვს RVB კოდირების გამოყენებას ფიგურის ფერის, ფანჯრის ფონის, ტექსტის ფონის და ა. შ. განსასაზღვრად. ამიტომაც ის საჭიროა იმ  საშუალებების განლაგებისათვის, რომლებიც ნებას გვრთავენ გადავიდეთ TSL კოდირებიდან RVB კოდირებაზე და პირიქით.

ფერის ცნებას ზოგჯერ თან ურთავენ გამჭვირვალეობის ინდექსსაც, რომელსაც ეწოდება **Alpha**. ვიხილოთ RGBA და განვმარტოთ ფერთა შერჩევის საშუალებები, აგრეთვე მაგალითები ორ ტონს შორის მოთავსებული ტონის შესახებ.

## ფერთა შერჩევის საშუალებები 
ფერთა შერჩევის საშუალებები ჩვეულებრივ შეიცავს მაქსიმუმ 4 ნაწილს:
* 2 რჩეული ვიზუალური ნაწილი, ერთი არის კვადრატი, ხოლო მეორე მართკუთხედი.
* 1 ვიზუალური ნაწილი (პატარა მართკუთხედი, შევსებული წინასწარ შერჩეული ფერით).
* 1 ნაწილი მხოლოდ რიცხვითი, შექმნილი ოპერატორის მიერ შერჩეული ფერის TSL და RVB კომპონენტების ერთდროული გამოყენებით. ნახეთ (მარცხნივ) როგორ გამოიყურება ხელსაწყო Microsoft-ის განმარტებებით, ხოლო (მარჯვნივ) შედარების სახით, იგივე ხელსაწყო Adobe-ის PhotoShop-ის დახმარებით.

იმისათვის, რომ გავიგოთ როგორ მუშაობს ფერთა სელექტორი, ხელსაყრელია თავისუფალ ფერთა ერთობლიობის წარმოდგენა შემდეგი სახით:

250px|**ფერთა კონუსი**

* წარმოვიდგინოთ ვერტიკალური ღერძი, რომელზეც მოთავსებულია N წერტილი, რომელიც აღნიშნავს შავ ფერს და 0 წერტილი - თეთრ ფერს.
* ამ ორ ექსტრემალურ წერტილს შორის მოთავსებული წერტილები შეფერილ იქნებიან ნაცრისფერის შუალედური ნათელი ტონით, რომელიც უთანხმებს ერთმანეთს (თანაბარი სიგრძივი სკალა): მაგალითად ფიგურის G წერტილ შეუსაბამებს ნაცრისფერ საშუალოს
(სინათლით L=\frac{L_{max}}{2}\ );
* 0-ით აღნიშნულ ჰორიზონტალურ სიბრტყეზე, შემოხაზულია წრე (C), რომელიც შეიცავს ნათელი ტონების გამას, ე. ი. მაქსიმალური სინათლე Lmax და გაჯერების Smax.
* დანარჩენი თავისუფალი ფერები კომპიუტერის ეკრანზე წარმოადგენენ შუალედურ ტონებს, რომლებიც უკვე აღწერილია (შავი, თეთრი, ნაცრისფერი, გამა და ნათელი ტონების გამა). მაშასადამე, ისინი ყველა მოთავსებულნი არიან NO ღერძზე აღნიშნული კონუსის (C) შიგნით, რომელიც შეესაბამება 3 ეტაპის შეფერილობას და წარმოდგენილია მოცემულ ფიგურაზე (დააჭირეთ ამ ფიგურას, რათა გაიგოთ დამატებითი გეომეტრიული განმარტებები): ფერის ასარჩევად უნდა განვსაზღვროთ ფერთა კონუსის შიგნით მოთავსებული წერტილი.

ყველა შემთხვევაში, ფერის განმარტება TSL კომპონენტების საშუალებით, მოითხოვს სამმაგ არჩევანს, რომელიც აუცილებლად რეალიზებული უნდა იყოს ოპერატორის მიერ ორ დროში:
* ფერების პირველი სელექტორის შემთხვევაში: ოპერატორმა უნდა იცოდეს, რომ შერჩეული კვადრატი წარმოადგენს არჩევანს ორ კომპონენტს შორის, ესენია T და S, ხოლო მართკუთხედი კი წარმოადგენს L კომპონენტის არჩევას. ის იყენებს ორ მეთოდს: მას ჯერ შეუძლია შეარჩიოს ფერის წერტილი კვადრატის სივრცის ორ განზომილებას შორის (რომელიც განსაზღვრავს მოსაძებნი ფერის T და S კომპონენტებს), ხოლო შემდეგ შეირჩეს მართკუთხედში მოცემული ფერის L კომპონენტის დონე. ოპერატორს შეუძლია მოიქცეს საწინააღმდეგოდაც: ჯერ შეარჩიოს მოცემულ მართკუთხედში L კომპონენტის სინათლე და შემდეგ წინასწარ შერჩეულ კვარდატში აირჩიოს T და S კომპონენტები. ამ ორ მეთოდში, კვადრატი წარმოადგენს უცვლელ ფერებს, რომელიღაც შეიძლება იყოს მართკუთხედში შერჩეული სინათლე; რაც შეეხება მართკუთხედს, ის შედგება ერთმანეთზე დადებული, ერთი და იმავე სიმაღლის, ორი ნახევარ-მართკუთხედისაგან: უფრო დიდი მართკუთხედი შეიცავს რაღაც OPo სეგმენტის ფერებს, როდესაც მცირე მართკუთხედი მოიცავს NPo სეგმენტისას; Po წერტილი, რომლის შესახებაც ვლაპარაკობთ, საერთოა ორივე ნახევარ-მართკუთხედისათვის და ის შედგება ორი ერთნაირი კომპონენტისაგან: S და L, რომლებიც ერთი და იგივეა და წარმოადგენენ იმავე კომპონენტებს, რა ფერებიცაა წარმოდგენილი მოცემულ კვადრატში.
* პირველ მეთოდში, Po წერტილი ირჩევა მოცემულ კვადრატზე კურსორის დაჭერის მომენტში, ხოლო საბოლოო ფერი, რომელიც აღნიშნულია მეორე შემთხვევაში (მართკუთხედში) შეესაბამება P წერტილს, რომელსაც აუცილებლად გააჩნია ერთნაირი კომპონენტები  S და L, როგორც Po წერტილი, რადგანაც კვადრატზე კურსორის დაჭერით იცვლება მართკუთხედისთვის განკუთვნილი ფერები, მათ გააჩნიათ ერთი და იგივე S და L კომპონენტები, როგორც po წერტილი.
* მეორე მეთოდში, პირველი არჩევანი არ აღინიშნება *ფერთა კონუსის* Po წერტილით, მაგრამ ზოგიერთი L სინათლე, რომელიც განეკუთვნება ნაცრისფერის R წერტილს, მოთავსებულია NO ღერძზე; მათ აქვთ ერთი და იგივე L სინათლე, როგორც R წერტილი, მეორეჯერ განხორციელებული კურსორის დაჭერა, ამჯერად კვადრატზე, აფიქსირებს S და L კომპონენტებს, რომელიც შეერთებულია უკვე შერჩეულ L კომპონენტთან.
* ორივე მეთოდში, კვადრატში წარმოდგენილი ფერების არჩევა ხდება ოპერატორისაგან დამოუკიდებლად, რადგანაც ისინი ყოველთვის შეესაბამებიან GO ღერძზე მდებარე და G წვეროს მქონე *ფერთა კონუსს*, C-ს გავლით, ხოლო კვადრატი - ეს არის ამ კონუსის ზედაპირის დამახინჯება (დეფორმაცია): კვადრატის მცირე ბოლო ნაწილი შეეფერება ერთადერთ ფერს, ანუ G წერტილს (ნაცრისფერს გააჩნია 50% სინათლე), ხოლო მისი ბოლოს უფრო დიდი ნაწილი, შეესაბამება მოცემული კონუსისა და *ფერთა კონუსის* გადაკვეთაზე მდებარე წრის ფერებს (გაჯერების კოეფიციენტი S=Smax).
* ფერთა შერჩევის მეორე შემთხვევაში, პრინციპები გაცილებით უფრო მარტივია (მაგრამ მისი გამოყენება არ არის პრაქტიკული...) შერჩეული მართკუთხედი, რომლის უცვლელი და გაჯერებული ფერები არიან მოთავსებულნი (C) წრის ნაპირზე, ძირითადად გამოიყენება უპირველეს ყოვლისა და აფიქსირებს T ტონის მნიშვნელობას. კურსორის პირველი დაჭერა ცვლის მოცემულ კვადრატში თავისუფალ ფერებს, რომელშიც წარმოდგენილია ყველა ფერი, რომელთა ტონი არის T. ამ კვადრატში არჩეული წერტილი აფიქსირებს S და L კომპონენტების მნიშვნელობებს. თუ ოპერატორი არ არის ბოლომდე კმაყოფილი მისი არჩევანით, მას შეუძლია დახვეწოს მისი ნამოქმედარი მართკუთხედზე კურსორის ხელახალი დაჭერით და ა. შ. აღვნიშნოთ, რომ *ფერთა კონუსის* წერტილები, რომლებიც შეესაბამებიან კვადრატში წარმოდგენილ თავისუფალ ფერებს, განეკუთვნებიან NOQ სამკუთხედს, Q კი მოთავსებულია წრეზე (C). აქედან გამომდინარე, მოცემული კვადრატი წარმოადგენს სამკუთხედის დამახინჯებულ სახეს: კვადრატის მცირე ბოლო შეესაბამება N წერტილის უნიკალურ ფერს (შავი წერტილი), ხოლო მისი უფრო მოზრდილი (დიდი) ბოლო შეესაბამება (C) წრის ფერებს (გაჯერების კოეფიციენტი S=Smax).
* ჩვეულებრივ, ოპერატორი თავიდანვე ვერ არჩევს *სწორ ფერს*, ის იყენებს ზოგიერთ სელექტორს (Microsoft-ს, PhotoShop-ს და ა.შ.), მაშასადამე, ის ხშირად მიმართავს კურსორს და აჭერს მას კვადრატზე, ხან მართკუთხედზე. რაც შეეხება რიცხვით მნიშვნელობებს (TSL ან RVB), მათი შერჩევა ხდება სურვილისამებრ, კურსორის დაჭერით. ოპერატორს ასევე შეუძლია ამა თუ იმ კომპონენტის მნიშვნელობის დამრგვალება.

## ტონების დაქვეითება 
ზემოთ წარმოდგენილი პრინციპების მიხედვით, შესაძლებელია განსხვავებულ დაქვეითებულ ტონთა განსაზღვრა. ამის შესახებ შეგვიძლია მოვიყვანოთ მაგალითები:

დასაწყისში ვნახოთ პირველი რიგი 3 გამისა, რომელიც თანდათან უფერულდება. თავის მხრივ, თითოეული გამა შეიცავს 11 ფერს, რომელთაგან 2 კიდური ფერი (no1 და 11) შერჩეულია, როგორც იდენტური. no1 ფერი შეესაბამება ზემოთ ნახსენებ მაგალითში შერჩეულ ფერს (წითელი=251, მწვანე=208, ცისფერი=151, ტონი=023, გაჯერება=220 და სინათლე=189), მანამ სანამ no11 ფერი წარმოადგენს მუქ იასამნისფერს (წითელი=165, მწვანე=068, ცისფერი=185, ტონი=193, გაჯერება=110 და სინათლე=119).
* პირველი სამი გაუფერულება შეესაბამება სამი კომპონენტის (წითელი, მწვანე და ცისფერი) წრფივ პროგრესიას (მაგალითად მწვანე, შემდეგ ფერზე გადასვლისას გადაკვეთის გარეშე გადის 14 ერთეულს).
* მეორე გაუფერულება შეესაბამება სამი კომპონენტის (ამჯერად ტონის, გაჯერებისა და სინათლის) წრფივ პროგრესიას (მაგალითად ტონი, შემდეგ ფერზე გადასვლისას კვეთს 17 ერთეულს).
* და ბოლოს, მესამე გაუფერულება შეესაბამება აგრეთვე სამი კომპონენტის (ტონის, გაჯერებისა და სინათლის) წრფივ პროგრესიას, მაგრამ იმ ტონის პროგრესია, რომლის სიდიდე განისაღზვრება 240 მოდულით, ფერის ყოველი ცვლილების დროს, გადაკვეთის გარეშე, მარცხნიდან მარჯვნივ გადის 7 ერთეულს, მაგრამ უარყოფითის შემთხვევაში, ის უმატებს შედეგს 240-ს, რათა თავიდან აიცილოს უარყოფითი პასუხი -005 (რომელიც გახდება 235)!

ფაილი:Trois dégradés1.png

მოცემული 3 გაუფერულება წარმოადგენს განსხვავებულ თვისებებსა და ნაკლოვანებებს: პირველი, ეს არის ყველაზე "სწორი" სახეობა, თუმცა ცენტრალური ფერები არ არის ბოლომდე გაჯერებული; მეორე - აქ უფრო ცოცხალი ფერებია წარმოდგენილი, მაგრამ ის ნაკლებად "სწორია", no4, 5 და 6 ფერები ძალზედ მსგავსია, ისევე როგორც no9 და 10 ფერები; და დასასრულს, მესამე წარმოადგენს შუალედურ სახეობას: ნაკლებად სწორი, მაგრამ უფრო ცოცხალი ფერები ვიდრე პირველში და უფრო სწორი და შედარებით მკაფიოდ განსხვავებული ფერები (5-დან 10-მდე) ვიდრე მეორეში გვაქვს მოცემული.

ახლა ვნახოთ მეორე რიგი, მოცემული 11 ფერის შემცველი 3 გამისა, რომლის კიდური ფერები ერთნაირია. ამჯერად, ფერი no1 იგივეა, როგორც წინათ (წითელი=251, მწვანე=208, ცისფერი=151), მაგრამ ბოლო ფერი შერჩეულია, როგორც ამ ფერების დამატებითი ფერი (წითელი=255-251, მწვანე=255-208, ცისფერი=255-151).

ფაილი:Trois dégradés2.png

ზემოთ აღნიშნული თვისებები და ნაკლოვანებები მოთავსებულნი არიან გაუფერულების ამ ახალ გამაში, მაგრამ ნაკლოვანებები მოცემულია გადიდებული სახით: პირველი გაუფერულების ფერი no6 სრულიად არ არის გაჯერებული (ეს არის ნაცრისფერი 128 სინათლით), მეორის no5 და 6 ტონები, თითქმის მსგავსია, აგრეთვე მესამის ტონებიც no3-დან 5-მდე, თითქმის იდენტურია და ფერთა ერთობლიობას აშკარად აკლია სიზუსტე.

ვხედავთ, რომ თუ გვინდა ფერთა გამის სიზუსტის, მათი შრევისა და გაჯერების მიღწევა, აუცილებელია ვიმოქმედოთ თანამიმდევრული განლაგებით, მაგალითად ზემოთ გამოყენებული მეთოდების მრავალფეროვნებით.

## კოდირების სისტემის ცვლილების ფორმულები 
### გადასვლა RVB-დან TSL-სკენ 
ამჯერად განვიხილოთ მათემატიკური ფორმულები, თუ როგორ ხდება მოცემული ფერის R, G, B კოორდინატების გადატანა იგივე ფერის, ოღონდ ამ შემთხვევაში T, S, L კოორდინატებში და პირიქით.

* T\, ტონის გამოთვლა:
ჯერ უნდა გამოვითვალოთ მოცემული 3 სიდიდე:
M=\max(R, V, B)\, (3 კომპონენტს შორის უდიდესი)
m=\min(R, V, B)\, (3 კომპონენტს შორის უმცირესი)
\Delta=M-m\, (ამპლიტუდა, ანუ სხვაობა M\,-სა და m\,-ს შორის)

შემდეგ T_0\,-ის მნიშვნელობა, რომელიც გამოითვლება:
- თუ R მეტია V-ზე et B-ზე : T_0=(V-B)/\Delta+0\,
- თუ V მეტია B-ზე et R-ზე : T_0=(B-R)/\Delta+2\,
- თუ B მეტია R-ზე et V-ზე : T_0=(R-V)/\Delta+4\,

და ბოლოს, T\, :
T={\frac{1}{6}\,(T_0*T_{max})}    modulo   T_{max}\,, სადაც  T_{max}=360\,

* S\, გაჯერების გამოთვლა:
- თუ M+m\le V_{max}\, : S=\frac{ \Delta}{M+m}\ S_{max}
- თუ M+m\ge V_{max}\, : S=\frac{ \Delta}{2\ V_{max}-(M+m)}\ S_{max},
სადაც V_{max}=255\, და S_{max}=240\,.

* L\, სინათლის გამოთვლა:
L=\frac{M+m}{2\ V_{max}}\ L_{max}, სადაც L_{max}=240\,.

შენიშვნები: T ტონის მნიშვნელობის გამომთვლელი ფორმულები უნივერსალურია; დასკვნა: არსებობს S გაჯერების და L-ის გამოთვლის რამდენიმე ვარიანტი, მაგრამ თითოეული ითვალისწინებს შემდეგ წესებს:

* თუ R, V, B ტოლია, მაშინ S ტოლი იქნება O-ის (ნაცრისფერი ტონი სრულიად არ არის გაჯერებული ანუ გაუჯერებულია) და პირიქით.
* თუ R, V, B ტოლია 0-ის, მაშინ L ტოლი იქნება O-ის (აბსოლუტურად შავი) და პირიქით.
* თუ R, V, B ტოლია Vmax-ის, მაშინ L ტოლი იქნება Lmax-ის (უნაკლოდ თეთრი), მაგრამ პირიქით ყოველთვის არ არის სწორი.

მაშასადამე, ვნახოთ რამდენიმე ვარიანტი:

* სინათლისათვის :
** L = \frac{L_{max}}{V_{max}} M\,
** L = \frac{L_{max}}{V_{max}} (0.239 * R + 0.686 * G + 0.075 * B)\,
** L = \frac{L_{max}}{V_{max}} (0.300 * R + 0.590 * G + 0.110 * B)\,
* გაჯერებისათვის :
** S = S_{max}\ \frac{\Delta}{M}\,.

შენიშვნა: PhotoShop-ში ზემოთ მოცემული ფორმულების პირველი ვარიანტი სამიდან, გამოიყენება სინათლისათვის, ხოლო გაჯერებისათვის მხოლოდ ბოლო ფორმულა.

### გადასვლა TSL-დან RVB-სკენ 
* წინასწარი გამოთვლები: უნდა დავიწყოთ იგივენაირად, როგორც ზემოთ დავიწყეთ, ანუ 4 შუალედური სიდიდით T_0\,, M\,, m\, და \Delta\,:
ვიცით, რომ: V_{max}=255\, და T_{max}=L_{max}=S_{max}=240\,, ჯერ ვითვლით:
T_0=\frac{6\ T}{T_{max}}, შEმდეგ
 \begin{matrix}\mbox{- თუ }L \le L_{max}/2\,\mbox{, ვითვლით: } & M=V_{max}\ \frac{L}{L_{max}}\ (1+\frac{S}{S_{max}})\\\mbox{et} & \ \\ \ & m=V_{max}\ \frac{L}{L_{max}}\ (1-\frac{S}{S_{max}}) \end{matrix}

 \begin{matrix}\mbox{- თუ }L \ge L_{max}/2\,\mbox{, ვითვლით: } & M=V_{max}\ \left [\frac{L}{L_{max}}\ (1-\frac{S}{S_{max}})+\frac{S}{S_{max}}\right ]\\\mbox{et} & \ \\ \ & m=V_{max}\ \left [\frac{L}{L_{max}}\ (1+\frac{S}{S_{max}})-\frac{S}{S_{max}}\right ] \end{matrix},

საიდანაც შეგვიძლია ამოვიღოთ: \Delta=M-m\,.

ამიტომ შესაძლებელი ხდება R\,, V\,, B\, კომპონენტის განსაზღვრა.

შენიშვნა: PaintShop-ის შემთხვევაში, To გამოითვლება ისევე, როგორც ზემოთაა ნაჩვენები. დანარჩენი 3 შუალედური სიდიდისათვის უნდა გამოვიყენოთ შემდეგი სამი ფორმულა, რომელიც საშუალებას გვაძლევს გამოვიანგარიშოთ M, შემდეგ \Delta\, და ბოლოს m:

M = V_{max}\ \left [\frac{L}{L_{max}}\right ]\ 
შემდეგ
\Delta = M\ \left [\frac{S}{S_{max}}\right ]\ 
და ბოლოს
m = M - \Delta\,.

* R\,, V\,, B\, კომპონენტების გამოთვლა: 
გამოსაყენებელი ფორმულები დამოკიდებულია T_0\,-ის მთელი ნაწილის მნიშვნელობაზე: 
ვთქვათ: i=E( T_0)\,

 \begin{matrix}\mbox{- თუ }i = 0 \, \mbox{ : } & B & = & m\,\\ \ & G & = & m + T_0\; \Delta\,\\ \ & R & = & M\, \end{matrix}

 \begin{matrix}\mbox{- თუ }i = 1 \, \mbox{ : } & B & = & m\,\\ \ & R & = & m + (2-T_0)\; \Delta\,\\ \ & G & = & M\, \end{matrix}

 \begin{matrix}\mbox{- თუ }i = 2 \, \mbox{ : } & R & = & m\,\\ \ & B & = & m + (T_0-2)\; \Delta\,\\ \ & G & = & M\, \end{matrix}

 \begin{matrix}\mbox{- თუ }i = 3 \, \mbox{ : } & R & = & m\,\\ \ & G & = & m + (4-T_0)\; \Delta\,\\ \ & B & = & M\, \end{matrix}

 \begin{matrix}\mbox{- თუ }i = 4 \, \mbox{ : } & G & = & m\,\\ \ & R & = & m + (T_0-4)\; \Delta\,\\ \ & B & = & M\, \end{matrix}

 \begin{matrix}\mbox{- თუ }i = 5 \, \mbox{ : } & G & = & m\,\\ \ & B & = & m + (6-T_0)\; \Delta\,\\ \ & R & = & M\, \end{matrix}

## ფერის მოდელის განზოგადება 
განვიხილოთ 3 განზომილებიანი სივრცე, რომელიც დაფუძნებულია შემდეგ კომპონენტებზე:
* წითელი
* მწვანე
* ცისფერი

სადაც თითოეული წერტილი მოთავსებულია მისთვის განკუთვნილ ადგილას 3 კოორდინატით (r, v, b) განსაზღვრულ ორთონომიულ ორიენტირზე

ადამიანის თვალს შეუძლია აღიქვას ამ სივრცის მხოლოდ ნაწილი. მოცემული სივრცის წერტილთა ერთობლიობა, რომელიც შეესაბამება ადამიანის თვალის ვიზუალურობის შესაძლებლობებს, აფორმირებს ფიგურას, რომელსაც ეს patatoïde-ი შეესაბამება ადამიანის თვალის ეგრეთ წოდებულ gamut-ს. ქვემოთ მოცემული ფიგურა, რომელიც სურათის საყრდენის თითოეული ტიპისათვის (ფილმი, მონიტორი, პრინტერი) წარმოადგენს გარკვეულ (განსხვავებულ) gamut-ს (და ის ყოველთვის უფრო შემცირებულია ვიდრე ადამაინის თვალი) კარგად ასახავს საყრდენთა ნაკლებობას.

ფაილი:Gamuts - Fer à Cheval.PNG

ახლა წარმოვიდგინოთ ერთიანი კუბი, სადაც M=(255, 255, 255). ამ კუბის მიხედვით, M იქნება თეთრი, მანამ სანამ (0, 0, 0) არის შავი. თუ ის ახლა მდებარეობს [OM) ღერძის მიხედვით M წერტილიდან, ვაკვირდებით, რომ:
* ამ წერტილის გარშემო არსებული ფირფიტა გაივლის ჯერ წითელს, შემდეგ მწვანეს, ცისფერს და ბოლოს ისევ უბრუნდება წითელს (თუ შესრულდა სრული წრე) ყველა შუალედური ფერებით.
* შემდეგ ამ ფირფიტის სხივებს, ფერი არის ფერადი ცენტრისაკენ და გაჯერებული ნაპირისაკენ.
* შემდეგ [OM) ღერძს, გვაქვს M-სკენ მიმავალი ნათელი ფერი და 0-სკენ მიმავალი მუქი ფერი.

ვიპოვოთ აგრეთვე ორიენტირი (ნიშანი) TSL ან HSL. ამ ორიენტირის წარმოდგენის ფორმა არის გაჯერების სხივის პროექტირება და ცილინდრზე ტონის მიერ შედგენილი კუთხე, რომელიც შემდეგ შლის მის სიმაღლეს, ვღებულობთ შემდეგნაირ სქემას:

RVB/TSL გარდაქმნა წარმოადგენს ორიენტირის მარტივ გარდასახვას, რომელიც შეიძლება რეალიზებულ იქნას ბრუნვების ხარისხით და კომბინირებული გადატანით, რომელიც ხორციელდება კოორდინატების კარტეზიანული სისტემიდან კოორდინატების პოლარულ სისტემაზე გადასვლით; წინა პარაგრაფში მოცემული  ფორმულები შეესაბამება ასეთი ტიპის გარდაქმნას (სხვა შესაძლებლობებს შორის):

აქამდე ვადგენდით, რომ "RGB"-ს შეუძლია მხოლოდ შემოგვთავაზოს gamut:
* შესაძლოა კუბი გვთავაზობს თვალთახედვის არის მიღმა დარჩენილ ერთობლიობებს და რომლებიც უხილავია;
* შესაძლოა კუბი ჩაწერილია patatoïde-ში.
პრაქტიკული არჩევანი არის მეორე. ვეძებთ ორიენტირების სხვა ფორმებს, რომლებიც საშუალებას გვაძლევენ გავზარდოთ ... .

მაგალითად: r, v, b-სთვის ვიყენებთ მთელ რიცხვებს ნამდვილი რიცხვების ნაცვლად, შეგვიძლია მივიღოთ უნაკლო ტონთა გაუფერულება, როგორც უწყვეტი, რადგანაც გრძელდება. აგრეთვე, ლოგარითმული სკალის გამოყენება ვიდრე წრფივი საშუალებას გვაძლევს უფრო სწრაფად მივიღოთ მეტი დინამიკა არჩეულ არეში.

ამ ხერხების მიხედვით, შესაძლებელი ხდება იმდენი ინფორმაციის განთავსებამ რომ საყრდენს არ შეუძლია მათი ეკრანზე გამოტანა.
მეთოდების ეს კატეგორია მიეკუთვნება HDR-ად (High Dynamic Range) წოდებულ სურათებს.

## იხილეთ აგრეთვე: 
* ფერთა ინფორმატიკული კოდირება | RVB | CMJN | LAB | TSL | TSV | XYZ | xyY | YUV | Vidéo | Gamut | Profil ICC
* ფერი
* ციფრული სურათი

## რესურსები ინტერნეტში 
* ასოციაციის მიერ ფერთა ინტენსიური კორექტირება (http://www.iro.umontreal.ca/labs/infographie/theses/landry/Landry-1999-MscThesis.pdf ) მასტერის მეხსიერება [pdf] 
* A Treatise on Digital Color Management (http://www.rags_int_inc.com/PhotoTechStuff/ColorManagement/DigitalColorManagement.html) 

კატეგორია:ფერი
კატეგორია:მონაცემთა კოდირება
კატეგორია:ინფოგრაფიის ალგორითმი