Dithering (grafika komputerowa)
Dithering (rozsiewanie lub rozpraszanie) – zamierzony efekt zastosowania szumu w celu zniwelowania błędu kwantyzacji zapobiegający efektowi bandingu.
- W grafice kolorowej próba stworzenia koloru poprzez kompozycję kilku barw z dostępnej palety, gdy kolor oryginalny nie może zostać bezpośrednio wyświetlony - symulacja koloru poprzez wyświetlenie/nadrukowanie w bliskim sąsiedztwie punktów o barwach składowych. Postrzeganie trzech punktów w kolorach składowych z większej odległości daje wzrokowy efekt koloru wynikowego - zamierzonego.
- W grafice czarno-białej podobna symulacja jak w grafice kolorowej, lecz z zastosowaniem do odcieni szarości. Skalowanie osiąga się poprzez natężenie ilościowe punktów składowych czarnych i białych. Ma to miejsce w przypadku dostępności jedynie dwóch kolorów: czarnego i białego lub ograniczonej liczby półtonów.
Dithering pozwala nie tylko na uzyskanie wrażenia dodatkowych kolorów, ale przede wszystkim powoduje złudzenie bardziej płynnego przejścia od jednego koloru do drugiego (szczególnie dla mniejszej ilości kolorów) oraz zniwelowanie zjawiska bandingu. Widać to bardzo wyraźnie na ośmiokolorowych grafikach przedstawionych obok.
W celu zrealizowania ditheringu można zastosować kilka różnych metod ułożenia pikseli o barwach składowych; ta przedstawiona na dołączonych tutaj rysunkach to error diffusion, czyli rozpraszanie błędów.
Dithering stosuje się głównie w grafice komputerowej i druku wysokonakładowym, jednak bywa też stosowany w hafciarstwie (zwłaszcza zautomatyzowanym).
Niektóre modele LCD zostały wyposażone w funkcję tymczasowego ditheringu uzyskując podobny efekt do programowego ditheringu, polegającą na szybkiej zmianie wartości pikseli pomiędzy uśrednionymi wartościami kolorów w przestrzeni barw (znane również jako Frame Rate Control). Ekran, który natywnie wspiera wyświetlanie 18-bitowej palety kolorów (6 bitów na każdy kanał RGB) potrafi wyświetlić 24-bitowy obraz true color (8 bitów na kanał RGB)[1].
Spis treści
Typy ditheringu[edytuj | edytuj kod]
-
Rysunek 2. Oryginalne zdjęcie edytowane przy użyciu palety kolorów web-safe, dithering nie został zastosowany. Zwracają uwagę duże płaskie powierzchnie oraz utrata jakości detali (banding).
-
Rysunek 3. Oryginalne zdjęcie edytowane przy użyciu palety kolorów web-safe, został zastosowany dithering typu Floyd–Steinberg. Zwraca uwagę różnica z rys. 2, mimo tej samej palety kolorów dithering poprawił jakość obrazu.
-
Rysunek 5. Głębia została zredukowana do 16 kolorowej palety, bez użycia ditheringu. Kolory są wyciszone oraz występuje banding.
Algorytmy[edytuj | edytuj kod]
Istnieje kilka algorytmów zaprojektowanych do wykonania ditheringu. Jeden z pierwszych Algorytm Floyda-Steinberga wynaleziony w 1975 jest nadal najbardziej popularny. Jego zaletą jest niwelowanie artefaktów obrazu poprzez zastosowanie procesu Error diffusion[2].
Innymi algorytmami stosowanymi w tym celu są:
- Thresholding
- Random dithering
- Patterning
- Halftone dithering
- Ordered dithering
(Oryginalny obraz) | Threshold | Random | Halftone | Bayer (ordered) |
---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
- Error-diffusion dithering
- Floyd–Steinberg dithering
- Jarvis, Judice, Ninke dithering
- Stucki dithering
- Burkes dithering
Floyd–Steinberg | Jarvis, Judice & Ninke | Stucki | Burkes |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- Error-diffusion dithering
- Sierra dithering
- Two-row Sierra
- Filter Lite
- Atkinson dithering
Sierra | Two-row Sierra | Sierra Lite | Atkinson |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Zobacz też[edytuj | edytuj kod]
Przypisy[edytuj | edytuj kod]
- ↑ 6-Bit vs. 8-Bit... PVA/MVA vs. TN Film. Are Things Changing?. tftcentral.co.uk, 2012-02-21. [dostęp 2014-08-17].
- ↑ Przetwarzanie obrazu. efg2.com, 2012-02-21. [dostęp 2012-02-12].