Antyaliasing

Antyaliasing (ang. anti-aliasing) – zespół technik służących zmniejszeniu liczby błędów zniekształceniowych (aliasing, schodkowanie obrazu), powstających przy reprezentacji obrazu (lub innego sygnału) o wysokiej rozdzielczości w rozdzielczości mniejszej.

W grafice komputerowej rezultatem antyaliasingu jest tworzenie wrażenia wygładzenia krawędzi obiektów wyświetlanych na ekranie komputera, który jest ekranem rastrowym.

Wygładzanie krzywych

Problem aliasingu w grafice rastrowej dotyczy prawie wszystkich krzywych. Wyjątkiem są jedynie pionowo oraz poziomo ułożone linie proste, których grubość jest równa wielokrotności pojedynczego piksela. Dla przykładu, wyświetlana bez użycia antyaliasingu czarna skośna linia prosta na białym tle będzie się składać z czarnych pikseli na białym tle i – przy większości współcześnie używanych rozdzielczości ekranu – będzie w widoczny sposób nierówna (schodkowana).

Antyaliasing w tym przypadku może polegać na uzupełnieniu obrazu o piksele o jasności proporcjonalnej do odległości ich środków od idealnej prostej. W takim rozwiązaniu piksel, przez którego środek przechodzi linia, będzie czarny, a piksel dalej od niej położony – w odpowiednim stopniu szary bądź całkiem biały (w wypadku pikseli, których linia nie przecina). Taka linia będzie wydawać się dużo gładsza wizualnie, jednak nieco rozmazana.

Ze względu na konieczność uzyskania rozsądnego kompromisu między gładkością a rozmyciem, stosuje się różne techniki zaniku jasności, oparte np. na różnych miarach odległości. Ze względu na brak obiektywnych metod porównywania efektów zastosowania tych technik, właściwy efekt najczęściej otrzymuje się poprzez eksperymenty.

Supersampling

Innym rodzajem antyaliasingu jest supersampling (pol. nadpróbkowanie). Jest to rozwiązanie polegające na użyciu tzw. brute force do rozwiązania problemu aliasingu. W tej technice obraz jest renderowany w rozdzielczości odpowiadającej wielokrotności rozdzielczości docelowej, a uzyskany tym sposobem dużo większy obraz jest dyskretyzowany poprzez próbkowanie (ang. sampling) do właściwej, niższej rozdzielczości docelowej. W używanych współcześnie układach graficznych technika ta nosi nazwę antyaliasingu pełnoekranowego (FSAAang. Full-Screen Anti-Aliasing), obsługiwanego przez wszystkie nowoczesne karty graficzne.

Fonty

Renderowanie podpikselowe, od lewej:
1. bez antyaliasingu
2. zwykłe renderowanie podpikselowe
3. zwykły antyaliasing
4. renderowanie podpikselowe z antyaliasingiem

W większości nowych środowisk graficznych antyaliasing jest stosowany do wygładzania krawędzi czcionek ekranowych. Jest to problem znacznie bardziej złożony niż dla zwykłych linii, ponieważ rozmycia linii, które tworzą glify, mogą powodować nakładanie się i zlewanie blisko leżących linii, co z kolei może znacząco utrudnić odczytanie tekstu. Często jest też niemożliwe stosowanie zaawansowanych technik, ze względu na wzrost czasu przetwarzania i dużą ilość tekstu. Między innymi z powodu trudności w zastosowaniu antyaliasingu dla fontów nie zaleca się stosowania pochylonego tekstu (kursywy) w rastrowym urządzeniu wyjściowym (np. ekran monitora) o niedużej rozdzielczości.

W graficznych systemach operacyjnych do renderowania tekstu oprócz antyaliasingu stosuje się również wygładzanie podpikselowe (zwane subpikselowym), które wykorzystuje fakt, że każdy piksel ekranu monitora składa się najczęściej z trzech podpikseli (czerwony, zielony i niebieski), ponieważ działa w modelu barw RGB (zob. rysunek obok). Już odpowiednie modyfikowanie jasności poszczególnych podpikseli pozwala na uzyskanie zadowalających efektów wygładzania czcionek, a zastosowanie równocześnie antyaliasingu doprowadza to działanie do bardzo dobrych rezultatów wizualnych. W systemach Windows w celu zwiększenia czytelności tekstu stosowana jest technologia wygładzania czcionek autorstwa Microsoft o nazwie ClearType, która właśnie wykorzystuje modyfikacje podpikseli wraz z antyaliasingiem.

Przykłady

czterokrotne powiększenieoryginalny rozmiar grafiki
bez antyaliasinguz antyaliasingiembez antyalias.z antyalias.
Black qcircle noaa 4x.pngBlack qcircle aa 4x.pngBlack qcircle noaa.pngBlack qcircle aa.png
Diamond without anti-aliasing 4x.pngAnti-aliased diamond 4x.pngDiamond without anti-aliasing.pngAnti-aliased diamond.png

Zobacz też

Linki zewnętrzne

Media użyte na tej stronie

Anti-aliased diamond 4x.png
Autor: Matrix0123456789, Licencja: CC-BY-SA-3.0
A diamond shape to demonstrate antialiasing. Drawn by Theresa Knott from en-wiki.
Black qcircle aa.png
Ćwierć czarnego koła, z antyaliasingiem.
Diamond without anti-aliasing 4x.png
Autor: Matrix0123456789, Licencja: CC-BY-SA-3.0
A diamond shape to demonstrate antialiasing. Drawn by Theresa Knott. From en-wiki.
Subpixel rendering.png
Visualization and comparision for the subpixel rendering technology. From left to right:
  1. No anti-aliasing
  2. Plain subpixel rendering
  3. Usual anti-aliasing
  4. Subpixel rendering with anti-aliasing
Black qcircle noaa.png
Ćwierć czarnego koła, bez antyaliasingu, zoom 4x.
Black qcircle noaa 4x.png
Autor: unknown, Licencja: CC-BY-SA-3.0
Anti-aliased diamond.png
Autor: unknown, Licencja: CC-BY-SA-3.0
Black qcircle aa 4x.png
Ćwierć czarnego koła, z antyaliasingiem, zoom 4x.