¿Los archivos RAW almacenan 3 colores por píxel, o solo uno?

16

Ken Rockwell dice que los fabricantes de cámaras consideran los sensores R / G / B individuales cuando hablan de megapíxeles. Entonces, la imagen a continuación sería una cámara de 6x6 píxeles, no 3x3 como se podría imaginar.

ingrese la descripción de la imagen aquí

Si eso es cierto, un archivo RAW contendría solo una información de color por píxel (ya sea R, G o B) como un número de 10, 12 o 14 bits.

Mi confusión surge cuando leo en algunos lugares cosas como:

  • Los archivos RAW almacenan un promedio de los dos sensores verdes por píxel.
  • Los archivos RAW usan 12 bits por píxel, pero hay 3 colores, por lo que en realidad son 36 bits por píxel.

Lo que obviamente sería falso, si la afirmación de Ken es correcta.

Entonces, ¿cuál es la verdad?

ariel
fuente

Respuestas:

16

Los archivos sin procesar realmente no almacenan ningún color por píxel. Solo almacenan un único valor de brillo por píxel.

Es cierto que con una máscara Bayer sobre cada píxel, la luz se filtra con un filtro Rojo, Verde o Azul Blue sobre cada pozo de píxeles. Pero no hay un límite estricto en el que solo la luz verde llegue a un píxel filtrado verde o solo la luz roja llegue a un píxel filtrado rojo. Hay mucha superposición. Mucha luz roja y algo de luz azul atraviesa el filtro verde. Mucha luz verde e incluso un poco de luz azul pasa a través del filtro rojo, y los píxeles que se filtran con azul registran algo de luz roja y verde.

respuesta de color

Dado que un archivo sin formato es un conjunto de valores de luminancia únicos para cada píxel en el sensor, no hay información de color real por píxel para un archivo sin formato. El color se obtiene al comparar los píxeles adyacentes que se filtran para uno de los tres colores con una máscara Bayer. Pero al igual que poner un filtro rojo frente a la lente cuando se filma una película en blanco y negro no resultó en una foto roja monocromática (o una foto en blanco y negro donde sololos objetos rojos tienen algún brillo), la máscara Bayer frente a píxeles monocromáticos tampoco crea color. Lo que hace es cambiar el valor tonal (qué tan brillante o qué tan oscuro se registra el valor de luminancia de un color particular) de varios colores en diferentes cantidades. Cuando se comparan los valores tonales (intensidades grises) de los píxeles adyacentes filtrados con los tres colores diferentes utilizados en la máscara Bayer, entonces los colores se pueden interpolar a partir de esa información. Este es el proceso al que nos referimos como demosaicing .

Se hacen muchas matemáticas para asignar un valor R, G y B para cada píxel. Hay muchos modelos diferentes para hacer esta interpolación. La cantidad de sesgo que se da al rojo, verde y azul en el proceso de demostración es lo que establece el balance de blanco / color . La corrección gamma y cualquier forma adicional de las curvas de respuesta a la luz es lo que establece el contraste . Pero al final se asigna un valor R, G y B a cada píxel. En su ejemplo de 6x6 píxeles en la pregunta, el resultado de la demostración sería una imagen de 36 píxeles con 36 píxeles, cada uno de los cuales tiene un valor Rojo, Verde y Azul.

Se pierde un poco de resolución en la traducción. Resulta que, en términos de la cantidad de líneas alternas en blanco y negro por pulgada o mm que puede resolver un sensor con una máscara RGGB Bayer y una demostración bien hecha, el límite de resolución absoluta de un sensor Bayer es aproximadamente 1 / √2 en comparación con un sensor monocromático que no tiene máscara Bayer y, por lo tanto, no necesita demostración (pero solo se puede ver en blanco y negro).

Incluso cuando su cámara está configurada para guardar archivos sin procesar, la imagen que ve en la parte posterior de la pantalla LCD de su cámara justo después de tomar la foto no son los datos sin procesar sin procesar. Es una imagen de vista previa generada por la cámara al aplicar la configuración de la cámara a los datos sin procesar que dan como resultado la imagen de vista previa jpeg que ve en la pantalla LCD. Esta imagen de vista previa se agrega al archivo sin procesar junto con los datos del sensor y la información EXIF ​​que contiene la configuración de la cámara en el momento en que se tomó la foto.

La configuración de desarrollo en la cámara para cosas como el balance de blancos, contraste, sombras, reflejos, etc., no afecta los datos reales del sensor que se graban en un archivo sin formato. Más bien, todas esas configuraciones se enumeran en otra parte del archivo sin formato.

Cuando abre un archivo "en bruto" en su computadora, ve una de dos cosas diferentes:

  • La imagen JPEG de vista previa creada por la cámara en el momento en que tomó la foto. La cámara utilizó la configuración vigente cuando tomó la imagen y la agregó a los datos sin procesar en el archivo .cr2. Si está mirando la imagen en la parte posterior de la cámara, es la vista previa de jpeg que está viendo.

  • Una conversión de los datos sin procesar por la aplicación que utilizó para abrir el archivo "sin procesar". Cuando abre un archivo 'sin procesar' de 12 bits o 14 bits en su aplicación de fotografía en la computadora, lo que ve en la pantalla es una representación de 8 bits del archivo sin procesar de demostración que es muy parecido a un JPEG, no el archivo monocromático real de 14 bits filtrado por Bayer. A medida que cambia la configuración y los controles deslizantes, los datos 'en bruto' se reasignan y se vuelven a procesar en 8 bits por canal de color.

Lo que vea dependerá de la configuración que haya seleccionado para la aplicación con la que abra el archivo sin formato.

Si está guardando sus imágenes en formato sin procesar cuando las toma, cuando realice el procesamiento posterior tendrá exactamente la misma información para trabajar, sin importar qué configuración de desarrollo se seleccionó en la cámara en el momento de la toma. Algunas aplicaciones pueden abrir inicialmente el archivo usando la vista previa de jpeg o aplicando la configuración de la cámara activa en el momento en que se tomó la imagen a los datos sin procesar, pero puede cambiar esas configuraciones, sin pérdida de datos destructiva, a cualquier otra cosa quieres en post.

Digital Photo Professional de Canon abrirá un archivo RAW .cr2 en el mismo estilo de imagen que se seleccionó en la cámara cuando se disparó. Todo lo que tiene que hacer para cambiarlo es usar el menú desplegable y seleccionar otro estilo de imagen . Incluso puede crear una "receta" para una imagen y luego aplicarla por lotes a todas las imágenes antes de comenzar a trabajar con ellas. El software de procesamiento en bruto de otros fabricantes es similar y generalmente hay una opción para que la aplicación abra una imagen con la configuración de desarrollo en la cámara aplicada.

Con aplicaciones de procesamiento sin procesar de terceros como Adobe's Lightroom o Camera Raw , Apple's Aperture o Photos , PhaseOne's Capture One Pro , DxO Lab's OpticsPro , etc., hacer que las imágenes se muestren de acuerdo con la configuración de la cámara puede ser un poco más complicado. Los productos de Adobe, por ejemplo, ignoran la mayoría de las secciones de notas del fabricante de los datos EXIF ​​de un archivo sin formato donde muchos fabricantes incluyen al menos parte de la información sobre la configuración de la cámara.

¹ Los colores reales de la máscara Bayer frente a los sensores de la mayoría de las cámaras digitales en color son: azul: una versión ligeramente violeta del azul centrada en 450 nanómetros, verde: una versión ligeramente azulada del verde centrada en unos 540 nanómetros y rojo: Una versión ligeramente naranja de amarillo. Lo que llamamos "rojo" es el color que percibimos para la luz a aproximadamente 640 nanómetros de longitud de onda. Los filtros "rojos" en la mayoría de las matrices de Bayer permiten la mayor cantidad de luz en algún lugar alrededor de 590-600 nanómetros. La superposición entre los conos "verde" y "rojo" en la retina humana está aún más cerca que eso, con el "rojo" centrado en aproximadamente 565 nanómetros, que es lo que percibimos como amarillo-verde.

Michael C
fuente
1
Esto es fundamentalmente incorrecto. Usted dice (o al menos implica muy fuertemente) que esto funciona porque la información de color se filtra a los vecinos. Eso no es necesario. Raw funcionaría bien si los filtros fueran absolutamente perfectos. Los diferentes algoritmos de demosaicing "involucran muchas matemáticas", pero el más simple es promediar los píxeles cercanos y esto funciona sorprendentemente bien. Supongo que se hizo varios millones de veces en una imagen de varios megapíxeles que técnicamente es "mucha" matemática, pero no es matemática complicada, es material de tercer grado.
Lea el perfil el
2
Bayer funciona porque generalmente es una buena suposición de que el píxel en, por ejemplo, una ubicación con filtro azul tiene la misma cantidad de verde que los píxeles verdes al lado (y lo mismo para el rojo). Cuando esta suposición está desactivada, obtienes artefactos, y eso es lo que intentan resolver los algoritmos más complicados. No funcionan suponiendo un conocimiento especial sobre la respuesta de frecuencia de los filtros.
Lea el perfil el
1
Puede que haya estado malinterpretando lo que has estado diciendo todo el tiempo, ya que mencionas esto a menudo. :) Especialmente desde que abres la respuesta con ella, ¿podrías editar para explicar de una manera que lo aclare más? Particularmente, ¿quiere decir que los filtros superpuestos significan que el resultado es fundamentalmente inexacto sin importar qué procesamiento se haga y simplemente vivimos con eso, o que puede ser preciso mediante alguna transformación en la demostración, o que puede hacerse más preciso mediante ¿otro paso que requiere la representación de archivos RAW (pero que no forma parte de la demostración)?
Lea el perfil el
1
Solo quiero decir que demasiadas personas describen la máscara de Bayer incorrectamente como permitir solo la luz verde a través del filtro verde, solo permitir la luz roja a través del filtro rojo y solo permitir la luz azul a través del filtro azul. Ese no es el caso más que decir que el uso de un filtro verde con película en blanco y negro solo permitiría capturar la luz verde en la escena. Usar un filtro verde solo significa que la luz verde se deja pasar a una velocidad de transmisión más alta que la luz roja o azul, pero algunos de los tres pasan. Es solo comparando las diferencias entre la luz ...
Michael C
1
@mattdm promediando los píxeles cercanos produce una foto muy borrosa, y no hay cámara en el mercado que lo haga de esa manera. Los algoritmos de desmoldeo aprovechan la correlación entre los píxeles RGB para mejorar en gran medida la resolución, a costa de los artefactos ocasionales. Y definitivamente hay matemática pesada involucrada.
Mark Ransom
2

Todo es cierto, pero la interpretación puede extenderse.

Ese patrón de color crudo específico se llama patrón de Bayer.

Sí, en bruto es un color por píxel, y ese píxel es (típicamente) 12 bits. Por lo tanto, hay tres colores de píxeles sin procesar, algunos son azules, otros son rojos y 2 veces esos recuentos son verdes.

Luego, el software de procesamiento sin procesar (para hacer RGB JPG, podría estar inmediatamente en la cámara, o podría ser externo mucho más tarde) convierte los datos sin procesar en una imagen RGB para que podamos usarlo. Esto es interpolación, los píxeles vecinos de los otros dos colores se combinan en cada uno de estos píxeles RGB, pero todos se convierten en píxeles RGB. En ese punto, son píxeles RGB de 36 bits, sin embargo, la resolución espacial está ligeramente comprometida, y los diversos datos de píxeles se comparten con los vecinos. Podemos terminar con (por ejemplo) 6000 píxeles RGB de ancho de sensor, pero provenía de 2000 sensores azules y 2000 rojos, etc. (y los datos también se comparten verticalmente, provienen de más de tres píxeles). Esto se llama demosaicing ... que se puede encontrar en línea.

WayneF
fuente
En mi humilde opinión son típicamente 14 bits. Solo las cámaras antiguas (Canon S120, por ejemplo) almacenan 12 bits por píxel
Romeo Ninov
@RomeoNinov, no es tan simple como lo antiguo frente a lo nuevo. Por ejemplo, algunas Nikons le permiten elegir 12 bits o 14 bits, para que pueda compensar la profundidad de la imagen con la velocidad de disparo continuo y el tamaño de la imagen.
Peter Taylor
@PeterTaylor, nunca se sabe esto, soy el tirador de Canon. Pero esto debería ser para mí como una excepción, no como una regla (12 bits). Y hasta donde recuerdo algunas cámaras se almacenan en 16 bits por píxel
Romeo Ninov
Sería un argumento mucho más fuerte si proporcionara alguna evidencia de que la mayoría de las cámaras Canon tienen 14 bits. Aquí está Canon diciendo lo contrario: cpn.canon-europe.com/content/education/infobank/… "La mayoría de las cámaras digitales EOS capturan imágenes en modo de 12 bits"
WayneF
@WayneF Basado en la cámara a la que se hace referencia como la mejor de Canon en ese momento (1D Mark II), ese artículo fue escrito en algún momento entre abril de 2004 (cuando el 1D II reemplazó al 1D) y junio de 2005 (cuando el 1D Mark IIN reemplazó al 1D II) .
Michael C
2

Ken tiene razón en el reclamo que usted cita, más o menos. Es correcto que las cámaras digitales de hoy (con la excepción de aquellas con sensores Foveon de Sigma) funcionen utilizando una matriz Bayer, y la resolución del sensor se cita como el tamaño de la matriz. Su imagen de ejemplo representa un sensor de "36 píxeles". Sin embargo, es importante reconocer que las cámaras convierten esto en una imagen a todo color del tamaño especificado completo en píxeles reales , y que esto no es tan malo como Ken cree que es .

Varias cosas que dice en ese artículo son francamente incorrectas, comenzando con:

A partir de 2006, estos algoritmos inteligentes permiten comenzar con un tercio de los datos y hacer que se vean tan bien como tener la mitad del número de píxeles reclamados.

Esto no tenía sentido en 2006 y hoy no tiene sentido. El proceso funciona en algunos supuestos simples. Aquí se detallan más , pero el básico es que puede predecir qué información "faltante" debería estar mirando los píxeles vecinos de diferentes colores. Esto resulta ser una buena suposición la mayor parte del tiempo, y muy mal otras veces. En los casos en que no hay una transición muy detallada entre los colores, el resultado es tan bueno como si cada sensor registrara todo el color. En casos donde la suposición es incorrecta, es mucho peor. En el mundo real, el primero es realmente muy común y funciona mucho mejor que "la mitad", pero lo importante es que depende del contexto.

RAW no ofrece ventajas aquí, excepto por una apuesta potencial. La interpolación de Bayer tiene lugar en el software que abre los datos en bruto. Los avances futuros en los algoritmos de interpolación de Bayer podrían incorporarse en el futuro software sin formato, si y solo si su fabricante de cámaras continúa admitiendo las cámaras de ayer en el software de mañana. ¡Es probable que su fabricante de cámaras ya no admita su vieja cámara en el software sin formato del mañana!

Tiene razón en que disparar RAW no cambia los fundamentos, pero la idea de que los archivos antiguos dejarán de funcionar es básicamente una tontería . Dado que las cámaras antiguas usan el mismo principio básico y formatos de archivo fundamentalmente similares, no cuesta mucho brindar soporte para modelos antiguos de manera indefinida, y los proveedores tienen muchos incentivos para hacerlo, e incluso si eso sucediera, hay excelentes decodificadores de código abierto.

Y, por supuesto, mantener archivos RAW ofrece otras ventajas no relacionadas con el demosaicing.

Pero también es una tontería decir que la posibilidad de futuras mejoras es la única ventaja. Como dije, hay diferentes suposiciones que se pueden hacer sobre el contenido de su imagen, y diferentes algoritmos (o ajustes a esos algoritmos) se adaptarán mejor a diferentes situaciones del mundo real, por lo que si se encuentra en una situación en la que está recibiendo muaré u otros artefactos, es posible que pueda lidiar con eso. (Aunque, debo agregar que esto está en un nivel muy exigente; rara vez hay una situación en la que mirar esto de cerca valga la pena).

También hay un factor por el que Ken puede ser excusado porque el artículo tiene una década de antigüedad. En 2006, la mayoría de las cámaras estaban en el rango de 5-8 megapíxeles, con modelos DSLR de gama alta que se extendían hasta 12. Ahora, las DSLR típicas de rango bajo / medio y las cámaras sin espejo ofrecen 16 y 24 megapíxeles, y va desde allí. En este punto, discutir sobre detalles de color en el nivel de espionaje de píxeles es realmente académico, porque en el mundo real es muy raro que la iluminación, las lentes, la estabilidad y todo lo demás se alineen tan bien que este es el factor limitante.

En general, gran parte del sitio de Ken Rockwell es así. (Vea esta respuesta para obtener más información ). Esto es lamentable, ya que en realidad tiene muchas cosas interesantes que decir y algunos buenos consejos, pero también hay muchas tonterías, y en lugar de admitirlo o mejorarlo, tiende a duplicarse abajo, y luego afirma que todo el sitio es sátira.

Ah, y un dato curioso adicional: las pantallas LCD traseras de la cámara y los EVF también usan tres subpíxeles de colores para representar un píxel digital, y estas pantallas generalmente se comercializan con el recuento de subpíxeles , efectivamente 3 veces lo que cabría esperar. por la forma en que se da la resolución de la pantalla de la computadora.

Por favor lea el perfil
fuente