Co oznacza termin „kanał” w przypadku grafiki komputerowej?


16

Studiowałem terminologię grafiki komputerowej, a to stwierdzenie mnie zdezorientowało.

Obraz może mieć kanały alfa dla przejrzystości.

Próbowałem poszukać znaczenia terminu „kanał alfa”, ale naprawdę pomyliłem się z definicją, która używa innej koncepcji zwanej „kanałem”. Nie jestem do końca pewien, co to znaczy, więc czy ktoś może być na tyle uprzejmy, aby wyjaśnić mi ten termin?

Odpowiedzi:


40

Kolory cyfrowe mogą składać się z trzech elementów: czerwonego, zielonego i niebieskiego. Połącz je razem, a otrzymasz ostateczny kolor, np. żółty to 100% czerwony, 100% zielony i 0% niebieski.

Czwarty element to, jak wspomniałeś, przejrzystość. Razem tworzą one krotkę RGBA(czerwony, zielony, niebieski, alfa), które reprezentują obraz.

Teraz zamiast pikseli pomyśl o tym w inny sposób: co zrobić, jeśli podzielisz obraz na cztery warstwy? Możesz je rozdzielić w następujący sposób:

  • Wszystkie czerwone piksele na jednej warstwie
  • Wszystkie zielone piksele na jednej warstwie
  • Wszystkie niebieskie piksele na jednej warstwie
  • Wartość wskazująca przezroczystość na jednej warstwie

Te warstwy są w rzeczywistości nazywane „kanałami”. Oto jak wyglądają na przykładowym obrazie:

enter image description here

Na tym obrazie widać tylko czerwone piksele na czerwonym kanale; podobnie dla zieleni i niebieskiego. To wszystko oznacza - sposób myślenia o obrazach jako „kanałach” oddzielnych kolorów, które są ze sobą łączone.


3
Świetna odpowiedź i dzięki za informację. Uwielbiam sposób, w jaki wykorzystałeś obrazy do wyjaśnienia tej koncepcji.
Stync,

1
Możesz również wspomnieć o innych systemach kolorystycznych, ponieważ nie jest to jedyny zastosowany system
addytywny

4
Czy te obrazy na kanał nie powinny mieć wartości od zera (czarny) do pełnej wartości (np. Czerwony) zamiast czarnych -> czerwonych -> białych (np.), Jak pokazano? (Coś w tym stylu: f.cl.ly/items/2Q2C1z2s331f1T1U341G/images.png )
Slipp D. Thompson

1
@ SlippD.Thompson ma rację. W RGB biel jest wytwarzana przez to, że każdy kanał koloru ma pełną intensywność, co oznacza, że ​​obraz ashes999 jest nieco luźny zgodnie z regułami.
Alex

4
Wybrałem to zdjęcie, ponieważ jest ilustracyjne. OP wydaje się zdezorientowany co do tej koncepcji. Wyjaśnienie tego pojęcia wydawało się po prostu ważniejsze niż znalezienie dokładnego obrazu. Technicznie powinny to być cztery warstwy w skali szarości (taki był mój początkowy obraz), ale to bardziej mylące.
ashes999

6

Termin pochodzi od definicji „kanału”, która oznacza określoną część widma częstotliwości. W tym przypadku czerwone, zielone i niebieskie elementy koloru są często nazywane „kanałami” (ponieważ światło czerwone, zielone i niebieskie są częściami widma światła widzialnego).

Ponieważ alfa jest kolejnym składnikiem koloru w grafice komputerowej (choć nie jest ściśle związany ze światłem widzialnym tak jak inne), jest również nazywany kanałem.


4

Kanały alfa zostały w rzeczywistości wymyślone przez firmę George Lucas Industrial Light & Magic (właściwie Alvy Ray Smith wykonał większość pracy podczas pracy w tym miejscu, wcześniej zatrudniony przez Xerox PARC - któremu możemy podziękować za prawie wszystko w nowoczesnym środowisku komputerowym!).

Kanały alfa, oprócz tworzenia fajnych efektów, takich jak przezroczyste okno, przezroczyste gradienty i realistyczne cienie, mogą być używane do operacji subpikselowych. W rzeczywistości pierwotne użycie było spowodowane tym, że grafika komputerowa była wtedy do bani. Aby nakładać ładnie wygładzony obraz na inne tło (lub tło filmu na żywo), powstają blokowe krawędzie. Nie da się tego zrobić w przypadku filmu, a próba wygładzenia obrazów w tle zajmuje zbyt dużo czasu procesora. Więc .. krawędzie obrazu są półprzezroczyste (kanał alfa). Dzięki temu tło może się wyświetlać przy różnych gęstościach - mieszając kolory dwóch obrazów razem, aby je wygładzić. Jest to używane wszędzie w dzisiejszych czasach, na przykład do rysowania ikon o znacznie gładszych krawędziach, niż zwykle pozwala na to rozdzielczość - a ty nie

Kanały alfa można łatwo wykonać sprzętowo. Wczesne maszyny do produkcji filmów miały bit „genlock” (który był dostępny także na Amiga i niektórych maszynach Atari), który był w zasadzie pinem wyjściowym, który przełączał się z wyjścia komputerowego na wyjście wideo. Pin był napędzany przez bit „przezroczystości” na wyjściu (zwykle w trybach graficznych „hicolor” 5: 5: 5 dla RGB i 1 bit dla przezroczystości = 16 bitów / piksel), co pozwalało na łatwe nakładanie kontekstu generowanego komputerowo na żywo wideo bez digitalizacji wideo. Zostało to później zmodyfikowane, aby było wyjściem analogowym z 8-bitowym przetwornikiem cyfrowo-analogowym - więc zamiast przełączania między komputerem a obrazem na żywo, połączyło go - usuwając paskudne, blokowe krawędzie stosowane w technice 1-bitowej. Analogowe wygładzanie!

Nowoczesne karty graficzne mogą przechowywać w pamięci wiele warstw informacji jednocześnie i używać warstwy alfa do mieszania wielu warstw przezroczystości alfa w sprzęcie. To sprawia, że ​​Twoje „duszki” i inne obiekty, które muszą być wygładzone, wyglądają ładnie. Zamiast miksowania do ustalonego koloru tła, wygładzanie wykorzystuje kanał alfa do miksowania w locie. Oczywiście, możesz robić różne rzeczy z kanałem alfa, ale mam nadzieję, że to da ci początek. Aby uzyskać więcej historii, spróbuj wikipedia.


czy mógłbyś podać jakieś odniesienia / cytaty dotyczące faktu, że AC zostało wynalezione przez IL&M?

Dobry blog Alvy'ego można znaleźć na jego blogu, tutaj: alvyray.com/awards/AwardsAcademy96.htm . Sugerowałoby to, że został wynaleziony przez Alvy Ray i Eda Catmulla podczas ich pobytu w NYIT. Obaj założyli później Pixar.
mvl

Zapominam, gdzie go pierwotnie przeczytałem, ale wikipedia wspomina o nim
Evan Langlois,

3

Jednak żaden z pozostałych przykładów nie wyjaśnia, dlaczego jest to alfa. Pochodzi z wyrażenia w Alpha Compositing :

wprowadź opis zdjęcia tutaj

gdzie Ca i Cb są dwoma wejściowymi wartościami kolorów, a Co jest wyjściowym połączonym kolorem.

Zmieniając wartość alfa między 0 a 1, zmienia się kolor między złożonymi obrazami z przodu i z tyłu.

(O ile wiem, przetwarzanie obrazu ma również „gamma”, ale nie „beta”)


2

Wszystkie obrazy mają 1 lub więcej „kanałów” informacji. Na przykład znany typ obrazu RGB ma 3 kanały informacji: czerwony, zielony i niebieski. Oznacza to, że każdy piksel na obrazie ma 3 numery związane z nim (jeśli każda liczba ma 8 bitów, to jest to obraz 24-bitowy).

Alpha może dodać czwarty kanał informacji (czyli czwartą liczbę związaną z każdym pikselem i 32-bitowy obraz). Ten dodatkowy kanał może być wykorzystywany do różnych celów, ale najczęstszym celem jest przezroczystość.

Typowe formaty plików z kanałami alfa to PNG i TGA.


2

W wielu formatach obrazu piksel jest definiowany jako wektor z 4 składnikami. RGB i alfa. W perspektywie całego obrazu można wybrać tylko każdy składnik piksela, a to zapewnia szereg wartości. Jeśli chcesz przetworzyć tylko jeden komponent, możesz wybrać komponent wszystkich pikseli obrazu, co zwykle nazywa się kanałem . Zbiór jednego składnika dla wszystkich pikseli. Zatem kanał alfa oznacza zbiór składnika alfa. Podobnie, zbiór poszczególnych składników RGB można nazwać kanałem czerwonym, kanałem zielonym i kanałem niebieskim.


2

Piksel to zbiór składników. Tradycyjnie te elementy są czerwone, zielone i niebieskie, a każdy z nich pobiera 8 bitów danych.

Ponieważ często korzystne jest wyrównanie pamięci w określony sposób, niektóre z nich są czasami pakowane w 32 bity przestrzeni. Pozostawia to 8 bitów dodatkowych danych na końcu każdego piksela. Ponieważ nie jest to ani czerwony, ani zielony, ani niebieski, potrzebuje nazwy - a alfa była względnie bez znaczenia.

Teraz, gdy macie układ pikseli ułożonych w prostokąt, otrzymujemy:

   RGBARGBARGBARGBA
   RGBARGBARGBARGBA
   RGBARGBARGBARGBA
   RGBARGBARGBARGBA

czasami chcesz porozmawiać tylko o jednym z powyższych kolorów, powiedz czerwony:

   R***R***R***R***
   R***R***R***R***
   R***R***R***R***
   R***R***R***R***

ten podselekcja tylko jednego elementu każdego komponentu pikselowego nazywa się na obrazie „kanałem”. Ponieważ piksele mają 4 składniki, ten obraz ma 4 kanały.

Istnieją inne formaty obrazów, w których nie ma kanału alfa:

   RGBRGBRGBRGB
   RGBRGBRGBRGB
   RGBRGBRGBRGB
   RGBRGBRGBRGB

i istnieją formaty o różnej liczbie bitów na składnik pikseli (3,5,8,16,32), a niektóre mają nierównomierne bity na składnik pikseli.

Kanał staje się „wirtualną” tablicą tylko jednego komponentu pikseli. (Mówię wirtualnie, ponieważ między każdym elementem jest krok, podczas gdy tablice tradycyjnie nie mają takiego kroku)

Część RGB też nie jest stała - możesz mieć obraz w skali szarości z kanałem alfa lub bez niego, możesz mieć obraz CMYK (cyjan magenta żółty blacK, zwykle w subtraktywnej przestrzeni kolorów), możesz mieć obraz, który ma cała masa różnych kanałów kolorów utworzonych przez lustrzany raytracer lub instrument naukowy.

Chociaż piksele traktowałem tak, jakby zawsze były ciągłe, możliwe jest również podzielenie kanałów na wiele lokalizacji, na przykład:

    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA

lub nawet

    RRRR
    RRRR
    RRRR
    RRRR
    GGGG
    GGGG
    GGGG
    GGGG
    BBBB
    BBBB
    BBBB
    BBBB
    AAAA
    AAAA
    AAAA
    AAAA

lub mieć spakowane RGB i A zapisane w osobnym buforze.

Jest to rzadkie w przypadku danych na żywo w grach, ponieważ nowoczesne karty graficzne są często projektowane wokół pikseli RGBA. RGB można obsługiwać równomiernie, a przy pomocy Można wykonać sąsiednie szybkie obliczenia, które umożliwiają kompozycję piksela RGBA na uprzednio pomalowanym tle.

Kanał alfa jest często używany do informacji o przezroczystości. Irytujące jest to, że maksymalna wartość alfa jest czasami traktowana jako przezroczysta, a czasem jako nieprzezroczysta, przez różne podstawy kodu. To znowu jest obecnie mniej powszechne. Kanał alfa został również wykorzystany do uporządkowania bufora Z (jak daleko jest piksel od przeglądarki), aby umożliwić nieuporządkowane rysowanie sceny, a tradycyjnie mapowanie mip odbywało się poprzez przesunięcie 2x 2x (lub 4x mniej pikseli) obrazu o niższej rozdzielczości do rekursywnie kanał alfa obrazu o wyższej rozdzielczości.

Nawet w systemie wykorzystującym piksele RGBA znaczenie tych pikseli może się nie zgadzać. Czy R mierzy, ile czerwieni widzi człowiek lub ile fotonów czerwieni powinno być emitowanych? Jest to różnica między liniowymi i nieliniowymi przestrzeniami kolorów i wpływa na prawidłowy sposób łączenia wspomnianych pikseli z kanałem przezroczystości.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.