Codificare color computer

Cele Culorile de codificare calculator este setul de convenții pentru afișarea sau imprimarea unui dispozitiv de calcul a imaginii de culoare , mai degrabă decât alb - negru . Codificarea se bazează pe sinteza aditivă a tricromului de culoare.

La nivel periferic, imaginea este întotdeauna matricială , iar un triplet de valori ( roșu, verde, albastru ) este definit pentru fiecare pixel . Fișierele pot salva imaginea sub forma unei matrice a acestor valori, eventual comprimate , sau altfel în formă vectorială , adică sub formă de instrucțiuni care permit reconstituirea unei imagini raster. În al doilea caz, culoarea poate fi salvată și sub formă de vector, cu parametri ( nuanță, saturație, lumină ).

Modulele permit, în programele de editare a imaginilor, determinarea și modificarea culorilor de către utilizator cu unul sau altul dintre aceste seturi de parametri.

Principii

Se pune întrebarea cu privire la cât de multe informații sunt necesare pentru a afișa culoarea. În cel mai bun caz, putem distinge câteva zeci de niveluri de gri. Codificarea pe un octet permite 256 de niveluri; este practic și suntem siguri că va fi nevoie de mai mult decât o abatere a unuia pentru a obține griuri vizuale diferite. Cu o jumătate de octet, am avea doar 16 nuanțe, ceea ce nu este suficient; un număr intermediar de biți între 4 și 8 complică toate operațiunile.

Deoarece aceleași motive se aplică fiecărui canal de culoare primară (roșu, verde, albastru), li se pot atribui câte un octet. Cu un octet pentru fiecare canal, se obțin peste 16 milioane de coduri de culoare.

O estimare aproximativă a capacității de a distinge culorile oferă aproximativ 15 până la 20.000 de nuanțe identificabile; luând ca referință pragul de discriminare a culorilor, se ajunge, în cele mai bune condiții de examinare, la jumătate de milion de culori. Printre aceste culori, unele sunt în afara gamei de ecrane și imprimante; dar magnitudinea pragului de discriminare, exprimată în mărimea componentelor (roșu, verde, albastru), nu este distribuită uniform între culori, astfel încât o împărțire a gamei de valori la numărul de culori pe care o puteți distinge nu ar fi adecvat. Pe de altă parte, între cod și afișaj, valorile care reprezintă culoarea vor fi înmulțite cu mai mulți coeficienți, făcând posibilă asigurarea faptului că albul codului produce alb și că griurile sunt neutre și distribuite corect. Aceste ajustări de contrast și gamma se fac în fundal, fie în computer, fie în periferic.

Codificând mai mult de treizeci de ori mai multe culori decât ceea ce poate vedea ochiul, putem fi siguri că avem suficiente informații, astfel încât două coduri care diferă doar cu 1 sau 2 din cele 256 de valori posibile ale fiecărui canal dau o perfectă culoare neclară.

Număr de biți pe pixel

Vechile moduri grafice VESA 10Eh, 111h, 114h, 117h și 11Ah utilizate în special în MS-DOS realizează codificarea RGB a unui pixel de 16 biți. Biții de la 0 la 4 dau 32 de valori de albastru , cele de la 5 la 10 , 64 de niveluri de verde , elementul principal de luminanță, iar cele 11 la 15 codează 32 de valori de roșu . Majoritatea computerelor încă permit utilizarea acestui mod de afișare atunci când placa grafică o permite.

Acest număr de biți are ca rezultat 65.536 de culori, nu suficient pentru ca tranziția dintre două culori învecinate să fie întotdeauna insensibilă, mai ales cu setări de ecran contrastante pentru a face textul mai ușor de citit. În plus, sistemul trebuie să separe valorile care nu sunt octeți. Pe măsură ce performanța computerelor și a afișajelor s-a îmbunătățit, producătorii au trecut la codarea culorilor pe un byte pe canal sau pe 24 de biți.

Paleti

Când puterea computerelor (vechi) sau viteza canalului de transmisie (Web) limitează dimensiunea fișierelor, un tabel de corespondență numit, prin analogie cu cel al pictorilor , paleta face posibilă înregistrarea culorilor pe 8 biți, care sunt indicii ale unei matrice care le potrivește cu 256 R , G , B valori . Acest proces împarte dimensiunea fișierului unei imagini necomprimate la 3. Software-ul grafic poate calcula paleta optimă pentru o imagine și o poate adăuga la acea imagine. Dimensiunea paletei, 768 octeți (de 3 ori 256), este adesea neglijabilă. De asemenea, software-ul calculează redarea culorilor intermediare prin ecranare .

De asemenea, computerele au oferit o paletă implicită . Această paletă nu a fost standardizată. Cu toate acestea, a existat un anumit consens legat de existența unui fel de standard HTML care impune ca o anumită paletă numită „  paletă web  ” (în engleză „  safe-web palette  ” sau „  safety palette  ” ) să fie privilegiată: în fapte , aproape toate browserele web au respectat această paletă ale cărei trei componente RGB pot fi unul dintre următorii 6 multipli de 51: 0, 51, 102, 153, 204 sau 255, oferind 6 × 6 × 6 sau 216 culori. Fișierele HTML pot apela culorile din această paletă printr-un nume convențional, în engleză.

Paleta, oricare ar fi aceasta, este prezentată în general utilizatorului sub forma unei plăci de culori.

Compresia culorii

Procesele care urmăresc să reducă, cu pierderea minimă de calitate, dimensiunea fișierelor, evident nu păstrează cei 24 de biți pe pixel, în timp ce 18 biți sunt suficienți pentru a codifica jumătate de milion de culori pe care un observator le poate distinge în cele mai bune condiții. Pentru a realiza această reducere, software-ul continuă așa cum se face în televizorul color . Ei convertesc tripletul (roșu, verde, albastru) într-un triplet (luminanță, diferență de albastru, diferență de roșu), cu spațiul de culoare YCbCr . Opt biți codifică luminanța; cu încă opt biți pentru cromă, patru pentru fiecare canal, ajungem la 65.536 culori, mai mult decât numărul estimat de culori identificabile. Matricile de transformare și tabelele de corespondență ajută la rafinarea corespondenței dintre culori și a sensibilității vizuale la diferențele de culoare.

Pentru compresia JPEG, valoarea luminanței este transmisă în totalitate modulelor de compresie; cromatică , care aglomereaza cele două valori de diferență de culoare, este eșantionat sub; poate fi, de asemenea, cuantificat, reducând numărul de culori codificate.

Codificare perceptivă

În software-ul de editare a imaginilor raster sau vectoriale , utilizatorul este obligat să aleagă și să modifice culorile. El poate indica o nuanță într-un gradient, poate schimba poziția unui cursor, poate introduce o valoare numerică. În toate cazurile, ecranul, o suprafață plană, are două dimensiuni, în timp ce culoarea are trei parametri.

De la începuturile afișării culorilor, s-a recunoscut că alegerea culorilor s-a făcut mai ușor într-un spațiu color organizat de magnitudinile percepției culorii, nuanței, saturației și luminozității, decât în ​​cubul valorilor (roșu, verde Albastru ). Există în principal două variante, TSV și TSL . Valorile nuanței, saturației și ușurinței sau valorii sunt date în cifre zecimale, ceea ce permite o conversie exactă și reversibilă cu valorile (roșu, verde, albastru) în numere întregi pe un octet.

Fișierele de imagine vectoriale, cum ar fi Grafica vectorială scalabilă (SVG), acceptă aceste definiții de culoare, la fel ca alte obiecte grafice. Același lucru este și pentru aspectul Foi de stil în cascadă ( (en) Foi de stil în cascadă , CSS) a paginilor HTML și a documentelor scrise.

Transparenţă

Interesul pentru codarea culorilor pe 24 de biți este destul de moderat atunci când computerele procesează octeți pe 16 biți. A rămas un octet neutilizat.

În software-ul de editare a imaginilor, este adesea util să lucrați în afară de imagini și fonduri, cum ar fi celulele desenelor animate. Pentru ca acest lucru să fie posibil, transparența trebuie indicată la fiecare pixel. Am putea indica, cu un singur bit, dacă stratul (sau stratul ) a fost transparent sau opac. Atribuirea unei valori de transparență, pe un octet, permite toate amestecurile. Această valoare este în general denumită α ( alfa ). Redarea unui pixel se obține înmulțind și adăugând, recursiv , valorile straturilor. Pentru fiecare componentă (roșu, verde, albastru), valoarea redată este egală cu valoarea stratului superior, înmulțită cu (1 - α) plus valoarea de redare a straturilor inferioare, înmulțită cu α.

Creșterea puterii de calcul a computerelor a făcut posibilă combinarea mai multor imagini, transmise separat. În acest fel, un fundal poate fi transmis o singură dată, apoi i se poate adăuga o parte în mișcare. Canalul alfa este inclus în HTML 4 și MPEG 4 imagini video ,

Detalii

Codificarea unui pixel se poate face pe 32 de biți, dintre care 24 de biți sunt utilizați pentru codificarea culorii, restul de 8 biți fiind:

În prima parte a articolului, ne va interesa doar codificarea culorilor pe 24 de biți . Explicațiile date vor corespunde, prin urmare, nu numai reprezentării culorii pe 32 de biți, ci și reprezentării pe 24 de biți.

Cei 24 de biți ai unei culori sunt defalcați în 3 ori 8 biți:

O secvență de 8 biți face posibilă codificarea unui număr întreg între 0 și V max = 255  : într-adevăr, 2 8 este egal cu 256. În consecință, valoarea componentei roșii a unui pixel poate fi reprezentată în funcție de 256 de niveluri diferite (variind de la 0, fără roșu, până la 255, intensitate roșie maximă). Și este la fel pentru celelalte 2 componente principale, verde și albastru.

Exemplu: Opusul pătrat Carnation.pngeste alcătuit din pixeli de o culoare uniformă ale căror caracteristici RGB sunt după cum urmează:Prin urmare, codarea binară pe 24 de biți a acestei culori este următoarea:

11111011 11010000 10010111 .

Există două familii principale de reprezentare a culorilor, cum ar fi acestea care pot apărea într-o imagine prezentată pe ecranul unui computer: codarea tricromă RGB (sau RGB în limba engleză), ale cărei principii tocmai au fost descrise și codificarea saturației perceptive a luminii Hue (sau HSL în Engleză) pe baza clasificărilor artistice și psihofizice ale percepțiilor culorilor.

Codificarea RGB corespunde mijloacelor fizice pentru producerea culorii în perifericele computerului  : la intrare (scaner color, cameră digitală, cameră video etc.), precum și la ieșire (ecran color, imprimantă, proces în patru culori, copiator color etc.) .

STL de codificare , destinat operatorilor umani, este potrivit pentru caracteristica viziunii lor.

Șabloanele de descriere HSL au parametri simplificați, adecvați pentru codarea culorilor computerului și permit conversia rapidă de la RGB la HSL și înapoi.

Exemplu:

Deci, să vedem acum care sunt valorile celor 3 componente ale codificării HSL (HSL) , una dintre codificările grupului perceptual, al culorii alese anterior, exprimată (așa cum se întâmplă destul de des ) Conform unei scări cuprinse între 0 și 240:

Instrumente de selectare a culorilor

Un instrument de selecție a culorilor are în general cel puțin 4 părți:

Pentru a înțelege cum funcționează un selector de culori, este convenabil să vizualizați toate culorile disponibile în următoarea formă:

Alegerea unei culori constă, prin urmare, în definirea unui punct situat în interiorul (sau pe) acest con de culori .

În toate cazurile, definirea unei culori de către componentele sale Luminozitatea de saturație a nuanței necesită o alegere triplă care trebuie efectuată în mod necesar de către operator în 2 pași:

Gradient de nuanțe

În calculul gradienților de culoare, alegerea cantităților care vor fi interpolate pentru a calcula culorile intermediare modifică considerabil redarea, deoarece culorile au nuanțe diferite. Cea mai evidentă variație se vede în gradientul dintre culorile complementare:

Vezi și tu

Bibliografie

Articole similare

linkuri externe

Note și referințe

  1. Robert Sève , Știința culorii: aspecte fizice și perceptive , Marsilia, Chalagam,2009, p.  229.
  2. (în) „  Video Electronics Standards Association  ” , pe http://www.petesqbsite.com/ ,22 octombrie 1991(accesat pe 3 martie 2017 )
  3. „  VESA 1.2 funcții sub DOS  ” , pe www-evasion.imag.fr (accesat 3 martie 2017 )
  4. Termenul de luminanță nu are semnificația aici în colorimetrie , deoarece componentele roșu, verde, albastru nu sunt legate liniar de valorile colorimetrice.
  5. A se vedea Alpha compositing
  6. (în) John Watkinson , Manualul MPEG: MPEG-1, MPEG-2, MPEG-4 , Focal Press,2004, A 2 -a  ed. , 435  p. ( ISBN  978-0-240-80578-8 , citit online ) , p.  24mp et.al.
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">