Que signifie le terme «canal» lorsqu'il est utilisé en ce qui concerne l'infographie?

16

J'étudiais la terminologie pour l'infographie, et cette déclaration est venue qui m'a dérouté.

L'image peut avoir des canaux alpha pour la transparence.

J'ai essayé de chercher le sens du terme «canal alpha», mais je suis devenu vraiment confus par la définition qui utilisait un autre concept appelé «canal». Je ne sais pas vraiment ce que cela signifie, alors quelqu'un pourrait-il avoir la gentillesse de m'expliquer ce terme?

Stync
la source

Réponses:

40

Les couleurs numériques peuvent être composées de trois composants: rouge, vert et bleu. Combinez-les ensemble et vous obtenez la couleur finale, par exemple. le jaune est 100% rouge, 100% vert et 0% bleu.

Le quatrième élément est, comme vous l'avez mentionné, la transparence. Ensemble, ceux-ci forment le tuple RGBA(rouge, vert, bleu, alpha) qui représente une image.

Maintenant, au lieu de pixels, pensez-y d'une autre manière: et si vous divisez l'image en quatre couches? Vous pouvez les séparer comme ceci:

  • Tous les pixels rouges sur un calque
  • Tous les pixels verts sur un seul calque
  • Tous les pixels bleus sur un calque
  • Une valeur indiquant la transparence sur un calque

Ces couches sont en fait appelées «canaux». Voici à quoi ils ressemblent dans un exemple d'image:

enter image description here

Dans cette image, vous ne pouvez voir que les pixels rouges sur le canal rouge; de même pour le vert et le bleu. C'est tout ce que cela signifie - une façon de voir les images comme des "canaux" de couleurs séparées qui sont combinées ensemble.

cendres999
la source
3
Excellente réponse et merci pour l'information. J'adore la façon dont vous avez utilisé les images pour expliquer le concept.
Stync
1
Vous pouvez également mentionner d'autres systèmes de couleurs, car l'additif n'est pas le seul utilisé
jcora
4
Ces images par canal ne devraient-elles pas avoir des valeurs allant de la valeur zéro (noir) à la valeur complète (par exemple rouge) au lieu de noir-> rouge-> blanc (par exemple) comme indiqué? (Quelque chose comme ça: f.cl.ly/items/2Q2C1z2s331f1T1U341G/images.png )
Slipp D. Thompson
1
@ SlippD.Thompson a raison. En RVB, le blanc est fait en ayant chaque canal de couleur à pleine intensité, ce qui signifie que l'image de ashes999 est un peu lâche avec les règles.
Alex
4
J'ai choisi cette photo car elle est illustrative. L'OP semble confus quant au concept. Expliquer le concept plus simplement semblait plus important que de trouver une image exacte. Techniquement, il devrait y avoir quatre couches d'échelle de gris (ce qui était mon image initiale), mais c'est plus déroutant.
ashes999
6

Le terme vient de la définition de "canal" qui signifie une portion spécifique d'un spectre de fréquences. Dans ce cas, les composantes rouge, verte et bleue d'une couleur sont souvent appelées "canaux" (car la lumière rouge, verte et bleue sont des portions du spectre de la lumière visible).

Étant donné que l'alpha est un autre composant de la couleur dans les graphiques informatiques (bien qu'il ne soit pas strictement lié à la lumière visible comme les autres), il est également appelé canal.


la source
4

Les canaux alpha ont en fait été inventés par la société Industrial Light & Magic de George Lucas (en fait, Alvy Ray Smith a fait la plupart du travail pendant qu'il y travaillait, qui était auparavant employé par Xerox PARC - que nous pouvons remercier pour presque tout dans l'informatique moderne!).

Les canaux alpha, en plus de faire des effets sympas comme une fenêtre transparente, des dégradés transparents et des ombres réalistes, peuvent être utilisés pour les opérations sous-pixel. En fait, l'utilisation d'origine était parce que l'infographie à l'époque était nulle. Afin de superposer une image bien anti-aliasée sur un arrière-plan différent (ou l'arrière-plan d'un film en direct), vous vous retrouvez avec des bords en blocs. Cela ne fonctionnera pas pour un film, et essayer d'anti-aliaser les images avec les arrière-plans prend trop de temps CPU. Donc .. les bords de l'image sont semi-transparents (le canal alpha). Cela permet à l'arrière-plan de transparaître à des densités variables - en mélangeant les couleurs des deux images pour l'anti-alias. Ceci est utilisé partout ces jours-ci, par exemple, pour dessiner des icônes avec des bords beaucoup plus lisses que la résolution ne le permettrait normalement - et vous ne le faites pas ''

Les canaux alpha se font facilement dans le matériel. Les premières machines de production de films avaient un bit "genlock" (qui était également disponible sur Amiga et certaines machines Atari), qui était essentiellement une broche de sortie qui passait de la sortie de l'ordinateur à la sortie vidéo. La broche était entraînée par un bit de "transparence" dans la sortie (généralement avec les modes graphiques "hicolor" 5: 5: 5 pour RVB et 1 bit pour la transparence = 16 bits / pixel), ce qui permettait de superposer facilement le contexte généré par ordinateur en direct vidéo sans numériser la vidéo. Cela a été modifié plus tard pour être une sortie analogique avec un DAC 8 bits - donc au lieu de basculer entre l'ordinateur et la vidéo en direct, il l'a mélangé - supprimant les bords de blocs désagréables que la technique 1 bit a utilisés. Anticrénelage analogique!

Les cartes vidéo modernes peuvent stocker plusieurs couches d'informations en mémoire à la fois et utiliser la couche alpha pour mélanger plusieurs couches de transparence alpha dans le matériel. Cela rend vos "sprites" et autres objets qui doivent être anti-aliasés agréables. Au lieu de mélanger à une couleur d'arrière-plan fixe, l'anti-aliasing utilise le canal alpha pour mélanger à la volée. Bien sûr, vous pouvez faire toutes sortes de choses avec le canal alpha, mais j'espère que cela vous donnera un début. Pour plus d'histoire, essayez wikipedia.

Evan Langlois
la source
pourriez-vous fournir des références / citations sur le fait que AC a été inventé par IL&M?
Il y a un bon aperçu par Alvy lui-même sur son blog, ici: alvyray.com/awards/AwardsAcademy96.htm . Cela suggérerait qu'il a été inventé par Alvy Ray et Ed Catmull alors qu'ils étaient à NYIT. Tous deux ont ensuite fondé Pixar.
mvl
J'oublie où je l'ai lu à l'origine, mais wikipedia le mentionne
Evan Langlois
3

Cependant, aucun des autres exemples n'explique pourquoi c'est alpha. C'est à partir de l'expression dans Alpha Compositing :

entrez la description de l'image ici

où Ca et Cb sont les deux valeurs de couleur d'entrée et Co est la couleur combinée de sortie.

Faire varier l'alpha entre 0 et 1 fait varier la couleur entre les images composites avant et arrière.

(Le traitement d'image a également "gamma", mais pas "beta" pour autant que je sache)

pjc50
la source
2

Toutes les images ont un ou plusieurs "canaux" d'information. Par exemple, le type d'image RVB familier possède 3 canaux d'information: rouge, vert et bleu. C'est-à-dire que chaque pixel de l'image est associé à 3 nombres (si chaque nombre est de 8 bits, alors c'est une image de 24 bits).

Alpha peut ajouter un 4ème canal d'informations (donc un 4ème nombre associé à chaque pixel, et une image 32 bits). Ce canal supplémentaire peut être utilisé à diverses fins, mais l'objectif le plus courant est la transparence.

Les formats de fichiers courants avec les canaux alpha sont PNG et TGA.

jhocking
la source
2

Dans de nombreux formats d'image, un pixel est défini comme un vecteur à 4 composantes. RVB et alpha. Dans la perspective de l'image entière, vous ne pouvez sélectionner que chaque composant du pixel, ce qui fournit une série de valeurs. Si vous ne souhaitez traiter qu'un seul composant, vous pouvez sélectionner la composante de tous les pixels de l'image, ce que l'on appelle généralement un canal . Une collection d'un composant pour tous les pixels. Ensuite, le canal alpha signifie la collecte du composant alpha. De même, la collection de chaque composant RVB peut être appelée canal rouge, canal vert et canal bleu.

Eonil
la source
2

Un pixel est une collection de composants. Traditionnellement, ces composants sont rouges, verts et bleus, chacun d'eux prenant 8 bits de données.

Comme il est souvent avantageux d’aligner la mémoire de certaines manières, celles-ci sont parfois regroupées dans 32 bits d’espace chacune. Cela laisse 8 bits de données supplémentaires à la fin de chaque pixel. Comme ce n'est ni rouge, ni vert, ni bleu, il a besoin d'un nom - et alpha était un nom relativement dénué de sens.

Maintenant, lorsque vous avez un tableau de pixels disposés en rectangle, vous obtenez ceci:

   RGBARGBARGBARGBA
   RGBARGBARGBARGBA
   RGBARGBARGBARGBA
   RGBARGBARGBARGBA

Parfois, vous ne voulez parler que de l'une des couleurs ci-dessus, dites rouge:

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

cette sous-sélection d'un seul élément de chaque composant pixel est appelée "canal" dans l'image. Comme les pixels ont 4 composants, cette image a 4 canaux.

Il existe d'autres formats d'image où il n'y a pas de canal alpha:

   RGBRGBRGBRGB
   RGBRGBRGBRGB
   RGBRGBRGBRGB
   RGBRGBRGBRGB

et il existe des formats avec un nombre différent de bits par composante de pixel (3,5, 8, 16, 32), et certains ont des bits non uniformes par composante de pixel.

Le canal devient le tableau "virtuel" d'un seul composant pixel. (Je dis virtuel, car il y a une foulée entre chaque élément, alors que les tableaux n'ont traditionnellement pas une telle foulée)

La partie RVB n'est pas fixe non plus - vous pouvez avoir une image en niveaux de gris avec ou sans canal alpha, vous pouvez avoir une image CMJN (Cyan Magenta Yellow blacK, généralement dans un espace colorimétrique soustractif), vous pouvez avoir une image qui a un toute une myriade de canaux de couleurs différentes créés par un raytracer spéculaire ou un instrument scientifique.

Bien que j'ai traité les pixels comme s'ils étaient toujours contigus, il est également possible de diviser les canaux sur plusieurs emplacements, comme ceci:

    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA

ou même

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

ou ont RVB emballé et A stocké dans un tampon séparé.

Ceci est rare dans les données en direct dans les jeux, car les cartes graphiques modernes sont souvent conçues autour de pixels RGBA. Le RVB peut être géré de manière uniforme et, avec A, des calculs rapides adjacents peuvent être effectués pour permettre la composition d'un pixel RGBA au-dessus d'un arrière-plan pré-peint.

Le canal alpha est souvent utilisé pour les informations de transparence. Chose ennuyeuse, la valeur maximale d'alpha est parfois traitée comme transparente, et parfois comme opaque, par différentes bases de code. C'est encore moins courant de nos jours. Le canal alpha a également été utilisé pour l'ordre des tampons z (à quelle distance le pixel est-il de la visionneuse) pour permettre le dessin non ordonné d'une scène, et le mappage traditionnel a été fait en insérant l'image de résolution inférieure 2x 2x (ou 4x moins pixels) dans le canal alpha de l'image à plus haute résolution, récursivement.

Même dans un système qui utilise des pixels RGBA, la signification de ces pixels peut être en désaccord. Est-ce que R mesure la quantité de rouge qu'un humain voit ou combien de photons de rouge doivent être émis? Il s'agit de la différence entre les espaces colorimétriques linéaires et non linéaires, et cela a un impact sur la façon correcte de composer lesdits pixels avec un canal de transparence.

Yakk
la source