¿Qué significa el término "canal" cuando se usa con respecto a los gráficos de computadora?
16
Estaba estudiando terminología para gráficos por computadora, y surgió esta afirmación que me confundió.
La imagen puede tener canales alfa para transparencia.
Intenté buscar el significado del término "canal alfa", pero la definición que usaba otro concepto llamado "canal" me confundió mucho. No estoy muy seguro de lo que esto significa, ¿podría alguien ser tan amable de explicarme este término?
Los colores digitales pueden estar formados por tres componentes: rojo, verde y azul. Combine estos juntos, y obtendrá el color final, por ejemplo. el amarillo es 100% rojo, 100% verde y 0% azul.
El cuarto componente es, como usted mencionó, la transparencia. Juntos, forman la tupla RGBA(roja, verde, azul, alfa) que representa una imagen.
Ahora, en lugar de píxeles, piénselo de otra manera: ¿qué pasa si divide la imagen en cuatro capas? Podrías separarlos así:
Todos los píxeles rojos en una capa.
Todos los píxeles verdes en una capa.
Todos los píxeles azules en una capa.
Un valor que indica transparencia en una capa
Estas capas se llaman en realidad "canales". Así es como se ven en una imagen de muestra:
En esta imagen, solo puede ver los píxeles rojos en el canal rojo; igualmente para verde y azul. Eso es todo lo que significa: una forma de pensar en las imágenes como "canales" de colores separados que se combinan entre sí.
Gran respuesta, y gracias por la información. Me encanta cómo usaste las imágenes para explicar el concepto.
Stync
1
También es posible que desee mencionar otros sistemas de color, porque el aditivo no es el único utilizado
jcora
44
¿No deberían esas imágenes por canal tener valores de valor cero (negro) a valor completo (por ejemplo, rojo) en lugar de negro-> rojo-> blanco (por ejemplo) como se muestra? (Algo así: f.cl.ly/items/2Q2C1z2s331f1T1U341G/images.png )
Slipp D. Thompson
1
@ SlippD.Thompson tiene razón. En RGB, el blanco se crea haciendo que cada canal de color tenga una intensidad completa, lo que significa que la imagen de cenizas999 está un poco floja con las reglas.
Alex
44
Elegí esta imagen porque es ilustrativa. El OP parece confundido sobre el concepto. Explicar el concepto más simplemente parecía más importante que encontrar una imagen exacta. Técnicamente, deberían ser cuatro capas de escala de grises (que es lo que era mi imagen inicial), pero eso es más confuso.
ashes999
6
El término proviene de la definición de "canal" que significa una porción específica de un espectro de frecuencia. En este caso, los componentes rojo, verde y azul de un color a menudo se denominan "canales" (dado que la luz roja, verde y azul son partes del espectro de luz visible).
Dado que el alfa es otro componente del color en los gráficos de computadora (aunque no está estrictamente relacionado con la luz visible como otros), también se llama un canal.
Los canales alfa fueron inventados por la empresa Industrial Light & Magic de George Lucas (en realidad, Alvy Ray Smith hizo la mayor parte del trabajo mientras trabajaba allí, que anteriormente trabajaba para Xerox PARC, ¡a quien podemos agradecer por casi todo en informática moderna!).
Los canales alfa, además de hacer efectos geniales como ventanas transparentes, gradientes transparentes y sombras realistas, se pueden usar para operaciones de subpíxeles. De hecho, el uso original se debía a que los gráficos de computadora en ese momento apestaban. Para superponer una imagen bien suavizada en un fondo diferente (o el fondo de una película en vivo), terminas con bordes en bloque. Eso no servirá para una película, y tratar de suavizar las imágenes con los fondos lleva demasiado tiempo de CPU. Entonces ... los bordes de la imagen se hacen semitransparentes (el canal alfa). Esto permite que el fondo se muestre a diferentes densidades, mezclando los colores de las dos imágenes para suavizarlo. Esto se usa en todas partes en estos días, por ejemplo, para dibujar iconos con bordes mucho más suaves de lo que normalmente permitiría la resolución, y usted no
Los canales alfa se realizan fácilmente en hardware. Las primeras máquinas de producción de películas tenían un bit "genlock" (que también estaba disponible en Amiga y algunas máquinas Atari), que era básicamente un pin de salida que cambiaba de salida de computadora a salida de video. El pin fue impulsado por un bit de "transparencia" en la salida (generalmente con modos gráficos "hicolor" 5: 5: 5 para RGB y 1 bit para transparencia = 16 bits / píxel), lo que permitió superponer fácilmente el contexto generado por computadora en vivo video sin digitalizar el video. Posteriormente, se modificó para ser una salida analógica con un DAC de 8 bits, por lo que en lugar de cambiar entre la computadora y el video en vivo, lo mezcló, eliminando los desagradables bordes en bloque que usaba la técnica de 1 bit. ¡Anti-aliasing análogo!
Las tarjetas de video modernas pueden almacenar múltiples capas de información en la memoria a la vez y usar la capa alfa para mezclar múltiples capas de transparencia alfa en el hardware. Esto hace que sus "sprites" y otros objetos que necesitan ser suavizados se vean bien. En lugar de mezclar a un color de fondo fijo, el suavizado utiliza el canal alfa para mezclar sobre la marcha. Por supuesto, puedes hacer todo tipo de cosas con el canal alfa, pero espero que esto te ayude a comenzar. Para más historia, prueba wikipedia.
¿podría proporcionar alguna referencia / cita sobre el hecho de que IL&M inventó el AC?
Hay una buena descripción del propio Alvy en su blog, aquí: alvyray.com/awards/AwardsAcademy96.htm . Esto sugeriría que fue inventado por Alvy Ray y Ed Catmull mientras estaban en NYIT. Ambos más tarde fundaron Pixar.
mvl
Me olvido de donde originalmente leí, pero lo menciona Wikipedia
Evan Langlois
3
Sin embargo, ninguno de los otros ejemplos explica por qué es alfa. Es de la expresión en Alpha Compositing :
donde Ca y Cb son los dos valores de color de entrada y Co es el color combinado de salida.
Variar el alfa entre 0 y 1 varía el color entre las imágenes compuestas frontal y posterior.
(El procesamiento de imágenes también tiene "gamma", pero no "beta", que yo sepa)
Todas las imágenes tienen 1 o más "canales" de información. Por ejemplo, el tipo de imagen RGB familiar tiene 3 canales de información: rojo, verde y azul. Es decir, cada píxel en la imagen tiene 3 números asociados (si cada número es de 8 bits, entonces esa es una imagen de 24 bits).
Alpha puede agregar un cuarto canal de información (un cuarto número asociado con cada píxel y una imagen de 32 bits). Este canal adicional se puede usar para una variedad de propósitos, pero el propósito más común es la transparencia.
Los formatos de archivo comunes con canales alfa son PNG y TGA.
En muchos formatos de imagen, un píxel se define como un vector con 4 componentes. RGB y alfa. En la perspectiva de la imagen completa, puede seleccionar solo cada componente del píxel, y esto proporciona una serie de valores. Si desea procesar solo un componente, puede seleccionar el comonente de todos los píxeles de la imagen, y esto generalmente se denomina canal . Una colección de un componente para todos los píxeles. Entonces canal alfa significa colección de componente alfa. Del mismo modo, la colección de cada componente RGB se puede llamar canal rojo, canal verde y canal azul.
Un píxel es una colección de componentes. Tradicionalmente, estos componentes son rojos, verdes y azules, y cada uno de ellos toma 8 bits de datos.
Como a menudo es ventajoso tener la memoria alineada de ciertas maneras, estas a veces se empaquetan en 32 bits de espacio cada una. Esto deja 8 bits de datos adicionales al final de cada píxel. Como no es rojo, ni verde ni azul, necesita un nombre, y alfa era un nombre relativamente sin sentido.
Ahora, cuando tiene una matriz de píxeles dispuestos en un rectángulo, obtiene esto:
esta subselección de solo un elemento de cada componente de píxel se denomina "canal" en la imagen. Como los píxeles tienen 4 componentes, esta imagen tiene 4 canales.
Hay otros formatos de imagen donde no hay canal alfa:
y hay formatos con diferentes números de bits por componente de píxel (3,5,8,16,32), y algunos tienen bits no uniformes por componente de píxel.
El canal se convierte en la matriz "virtual" de un solo componente de píxel. (Digo virtual, porque hay un paso entre cada elemento, mientras que las matrices tradicionalmente no tienen ese paso)
La parte RGB tampoco está fija: puede tener una imagen en escala de grises con o sin un canal alfa, puede tener una imagen CMYK (Cyan Magenta Yellow blacK, generalmente en un espacio de color sustractivo), puede tener una imagen que tenga un Una miríada completa de diferentes canales de color creados por un trazador de rayos especular o un instrumento científico.
Si bien he tratado los píxeles como si siempre fueran contiguos, también es posible dividir los canales en varias ubicaciones, como esta:
o tiene RGB empaquetado y A almacenado en un búfer separado.
Esto es poco común en los datos en vivo en los juegos, porque las tarjetas gráficas modernas a menudo están diseñadas alrededor de píxeles RGBA. RGB se puede manejar de manera uniforme, y con A se pueden hacer cálculos rápidos adyacentes que permiten la composición de un píxel RGBA sobre un fondo prepintado.
El canal alfa a menudo se usa para información de transparencia. Molesto, el valor máximo de alfa a veces se trata como transparente, y a veces como opaco, por diferentes bases de código. Esto nuevamente es menos común hoy en día. El canal alfa también se ha utilizado para ordenar z-buffer (qué tan lejos está el píxel del espectador) para permitir el dibujo desordenado a una escena, y tradicionalmente el mapeo de mip se realizó insertando la imagen de resolución más baja 2x 2x (o 4x menos píxeles) en El canal alfa de la imagen de mayor resolución, recursivamente.
Incluso en un sistema que usa píxeles RGBA, el significado de estos píxeles puede estar en desacuerdo. ¿R mide cuánto rojo ve un humano, o cuántos fotones de rojo debería emitirse? Esta es la diferencia entre espacios de color lineales y no lineales, y afecta la forma correcta de componer dichos píxeles con un canal de transparencia.
El término proviene de la definición de "canal" que significa una porción específica de un espectro de frecuencia. En este caso, los componentes rojo, verde y azul de un color a menudo se denominan "canales" (dado que la luz roja, verde y azul son partes del espectro de luz visible).
Dado que el alfa es otro componente del color en los gráficos de computadora (aunque no está estrictamente relacionado con la luz visible como otros), también se llama un canal.
fuente
Los canales alfa fueron inventados por la empresa Industrial Light & Magic de George Lucas (en realidad, Alvy Ray Smith hizo la mayor parte del trabajo mientras trabajaba allí, que anteriormente trabajaba para Xerox PARC, ¡a quien podemos agradecer por casi todo en informática moderna!).
Los canales alfa, además de hacer efectos geniales como ventanas transparentes, gradientes transparentes y sombras realistas, se pueden usar para operaciones de subpíxeles. De hecho, el uso original se debía a que los gráficos de computadora en ese momento apestaban. Para superponer una imagen bien suavizada en un fondo diferente (o el fondo de una película en vivo), terminas con bordes en bloque. Eso no servirá para una película, y tratar de suavizar las imágenes con los fondos lleva demasiado tiempo de CPU. Entonces ... los bordes de la imagen se hacen semitransparentes (el canal alfa). Esto permite que el fondo se muestre a diferentes densidades, mezclando los colores de las dos imágenes para suavizarlo. Esto se usa en todas partes en estos días, por ejemplo, para dibujar iconos con bordes mucho más suaves de lo que normalmente permitiría la resolución, y usted no
Los canales alfa se realizan fácilmente en hardware. Las primeras máquinas de producción de películas tenían un bit "genlock" (que también estaba disponible en Amiga y algunas máquinas Atari), que era básicamente un pin de salida que cambiaba de salida de computadora a salida de video. El pin fue impulsado por un bit de "transparencia" en la salida (generalmente con modos gráficos "hicolor" 5: 5: 5 para RGB y 1 bit para transparencia = 16 bits / píxel), lo que permitió superponer fácilmente el contexto generado por computadora en vivo video sin digitalizar el video. Posteriormente, se modificó para ser una salida analógica con un DAC de 8 bits, por lo que en lugar de cambiar entre la computadora y el video en vivo, lo mezcló, eliminando los desagradables bordes en bloque que usaba la técnica de 1 bit. ¡Anti-aliasing análogo!
Las tarjetas de video modernas pueden almacenar múltiples capas de información en la memoria a la vez y usar la capa alfa para mezclar múltiples capas de transparencia alfa en el hardware. Esto hace que sus "sprites" y otros objetos que necesitan ser suavizados se vean bien. En lugar de mezclar a un color de fondo fijo, el suavizado utiliza el canal alfa para mezclar sobre la marcha. Por supuesto, puedes hacer todo tipo de cosas con el canal alfa, pero espero que esto te ayude a comenzar. Para más historia, prueba wikipedia.
fuente
Sin embargo, ninguno de los otros ejemplos explica por qué es alfa. Es de la expresión en Alpha Compositing :
donde Ca y Cb son los dos valores de color de entrada y Co es el color combinado de salida.
Variar el alfa entre 0 y 1 varía el color entre las imágenes compuestas frontal y posterior.
(El procesamiento de imágenes también tiene "gamma", pero no "beta", que yo sepa)
fuente
Todas las imágenes tienen 1 o más "canales" de información. Por ejemplo, el tipo de imagen RGB familiar tiene 3 canales de información: rojo, verde y azul. Es decir, cada píxel en la imagen tiene 3 números asociados (si cada número es de 8 bits, entonces esa es una imagen de 24 bits).
Alpha puede agregar un cuarto canal de información (un cuarto número asociado con cada píxel y una imagen de 32 bits). Este canal adicional se puede usar para una variedad de propósitos, pero el propósito más común es la transparencia.
Los formatos de archivo comunes con canales alfa son PNG y TGA.
fuente
En muchos formatos de imagen, un píxel se define como un vector con 4 componentes. RGB y alfa. En la perspectiva de la imagen completa, puede seleccionar solo cada componente del píxel, y esto proporciona una serie de valores. Si desea procesar solo un componente, puede seleccionar el comonente de todos los píxeles de la imagen, y esto generalmente se denomina canal . Una colección de un componente para todos los píxeles. Entonces canal alfa significa colección de componente alfa. Del mismo modo, la colección de cada componente RGB se puede llamar canal rojo, canal verde y canal azul.
fuente
Un píxel es una colección de componentes. Tradicionalmente, estos componentes son rojos, verdes y azules, y cada uno de ellos toma 8 bits de datos.
Como a menudo es ventajoso tener la memoria alineada de ciertas maneras, estas a veces se empaquetan en 32 bits de espacio cada una. Esto deja 8 bits de datos adicionales al final de cada píxel. Como no es rojo, ni verde ni azul, necesita un nombre, y alfa era un nombre relativamente sin sentido.
Ahora, cuando tiene una matriz de píxeles dispuestos en un rectángulo, obtiene esto:
a veces solo quieres hablar sobre uno de los colores anteriores, por ejemplo, rojo:
esta subselección de solo un elemento de cada componente de píxel se denomina "canal" en la imagen. Como los píxeles tienen 4 componentes, esta imagen tiene 4 canales.
Hay otros formatos de imagen donde no hay canal alfa:
y hay formatos con diferentes números de bits por componente de píxel (3,5,8,16,32), y algunos tienen bits no uniformes por componente de píxel.
El canal se convierte en la matriz "virtual" de un solo componente de píxel. (Digo virtual, porque hay un paso entre cada elemento, mientras que las matrices tradicionalmente no tienen ese paso)
La parte RGB tampoco está fija: puede tener una imagen en escala de grises con o sin un canal alfa, puede tener una imagen CMYK (Cyan Magenta Yellow blacK, generalmente en un espacio de color sustractivo), puede tener una imagen que tenga un Una miríada completa de diferentes canales de color creados por un trazador de rayos especular o un instrumento científico.
Si bien he tratado los píxeles como si siempre fueran contiguos, también es posible dividir los canales en varias ubicaciones, como esta:
o incluso
o tiene RGB empaquetado y A almacenado en un búfer separado.
Esto es poco común en los datos en vivo en los juegos, porque las tarjetas gráficas modernas a menudo están diseñadas alrededor de píxeles RGBA. RGB se puede manejar de manera uniforme, y con A se pueden hacer cálculos rápidos adyacentes que permiten la composición de un píxel RGBA sobre un fondo prepintado.
El canal alfa a menudo se usa para información de transparencia. Molesto, el valor máximo de alfa a veces se trata como transparente, y a veces como opaco, por diferentes bases de código. Esto nuevamente es menos común hoy en día. El canal alfa también se ha utilizado para ordenar z-buffer (qué tan lejos está el píxel del espectador) para permitir el dibujo desordenado a una escena, y tradicionalmente el mapeo de mip se realizó insertando la imagen de resolución más baja 2x 2x (o 4x menos píxeles) en El canal alfa de la imagen de mayor resolución, recursivamente.
Incluso en un sistema que usa píxeles RGBA, el significado de estos píxeles puede estar en desacuerdo. ¿R mide cuánto rojo ve un humano, o cuántos fotones de rojo debería emitirse? Esta es la diferencia entre espacios de color lineales y no lineales, y afecta la forma correcta de componer dichos píxeles con un canal de transparencia.
fuente