Korrespondansetabell

En oppslagstabell (også kalt mapping table , eller Lookup Table ( LUT ) på engelsk) er en datamaskin og et elektronisk begrep for en kombinasjon av verdiliste. Den oppfører seg på samme modell som en sannhetstabell som angir utdataene på en unik måte i henhold til inngangene og innholdet i tabellen.

Beskrivelse

Det handler om en struktur av data som er lagret i minnet, brukt til å erstatte en beregning med en enklere konsultasjon. Hastighetsøkningen kan være betydelig, fordi det ofte er raskere å finne en verdi i minnet enn å utføre en stor beregning.

Eksempler

Det klassiske eksemplet er det fra den trigonometriske tabellen. I noen applikasjoner kan beregningen av en sinus være gjentatt og derfor bremse utførelsen. For å unngå dette vil applikasjonen beregne på forhånd ved oppstart av verdiene den ofte vil trenge, for eksempel sinus for alle helvinkler. Disse dataene blir deretter registrert i en LUT. Når appen trenger en verdi, kan den slå opp LUT for å finne den nærmeste verdien. Minnet som lagrer korrespondansetabellen kan også være statisk, registrert direkte i den elektroniske kretsen i visse dedikerte kretser .

Før datamaskiner kom, ble lignende tabeller brukt til å øke hastigheten på beregningene for hånd. De mest populære var trigonometri- tabeller, logaritmiske tabeller og tetthetsfunksjoner i statistikk. Slike tabeller brukes ofte i dag i innebygd elektronikk og spesielt i kraftelektronikk for styring av omformere. En LUT er også et sentralt element i programmerbare kretser, spesielt FPGAer , slik at generiske logiske kretser kan produseres.

Andre eksempler: disse tabellene brukes til å korrigere lineariteten til fargegjengivelse ( gammakorreksjon ) på videoskjermbilder eller for grafikkort i datasystemer.

Infografikk

Datagrafikk og web-applikasjoner har brukt korrespondanse bord fra starten å aktivere enkelt- byte pixel eller område fargekoding , paletter matche en byte til en lett {rød, grønn, blå} . Brukeren kan beregne den mest passende paletten for et bilde og legge den til filen. ICC-profilbaserte fargekonverteringer fungerer med alle tre komponentene som input og output, med programvare som interpolerer mellom et lite antall punkter. Moderne grafikkort og foto- og videoredigeringsprogramvare støtter nå nesten alle bruk av oppslagstabeller.

Oppslagstabeller for å endre farger må samsvare med RGB-tripler. En komplett tabell med fargekomponenter definert i 8 biter vil ha en tre-byte indeks, eller 2 24 verdier og 4  GiB- data. For å unngå dette, koder tabellene et begrenset antall verdier mellom hvilke programvaren utfører lineære eller kubiske interpolasjoner mellom verdiene som omgir den som skal behandles på hver av aksene. Tabeller har vanligvis 17 verdier på hver akse, totalt 4913 tredoblinger (<16 kiB).

Referanser

  1. Gammakorreksjon Seksjon 'Videoer og elektronisk bildebehandling'
  2. (i) Jeremy Selan , "  " Bruke oppslagstabeller for å akselerere fargetransformasjoner "  "utvikler.nvidia.com ,2005(åpnet 15. mars 2020 )
  3. (in) Angelo Lorenzo "  Luts Del 1: Hva er en LUT?  » (Tilgang 15. mars 2020 )