6

Así funciona de verdad la tecnología «pixel binning»: esta es la añorada respuesta – a mi me ha parecido muy interesante

– sin palabras, pero muy agradecido –

24-7-2021

¡¡¡ aleluya, osana en el cielo, aleluya !!!

Alguna vez os he dicho que tengo una femtoPeña pero que no me la merezco. Ahora vais tener un ejemplo del por qué digo esas cosas.

Gracias al comentario de Ángel R., que nunca agradeceré suficiente, me parece haber entendido por fin que se esconde detrás del sortilegio del “Pixel Binning”, y para que todos lloremos de pura emoción y podamos dormir tranquilos el resto de nuestras vidas sin el insoportable peso de esta duda trascendental, paso a describir a continuación el secreto del asunto.

Todo ha salido de aquí:

Por lo que he leído creo estar lo bastante seguro, pero puede que lo haya entendido todo al revés y por ello ruego que si alguien sabe más nos ilumine a todos. Yo lo explico con mi mejor voluntad e intención para que todos nos saquemos este insoportable peso de encima.

El intringulis del asunto no es más que un proceso parecido al “demosaico”, que es lo primero que hace cualquier software de revelado RAW.

Demosaico:

En efecto, para simplificar diré que en un sensor de 1.000 pixels con una matriz bayer normal tenemos 500 píxeles verdes, 250 rojos y 250 azules. Sin embargo en la imagen final tenemos 1.000 pixels con información RGB en cada uno de ellos.

¿Qué información de rojo o azul tiene un pixel verde?: ninguna. ¿Qué información de verde tiene un pixel rojo o azul?: ninguna. Entonces, ¿de donde sale la información RGB para cada pixels?

Pues el enanito sabio que habita dentro de las cámaras y también en todos los softwares de revelado lo primero que hace cuando le llega un fichero RAW con información RGGB es lo siguiente.

  • Extiende el fichero RAW encima de la mesa.
  • Coge un pixel verde (por ejemplo) y después empieza a mirarse la información de rojo y de azul que hay por los píxeles rojos y azules adyacentes, empezando por los más cercanos. Después, según su algoritmo de funcionamiento y su mejor saber y entender, asigna (inventándoselo) el valor de rojo y de azul que podría corresponder a la posición de su pixel verde. Eso es simple interpolación, pero interpolación astuta, y de ahí la mayor o menor bondad de interpretación de los reveladores RAW, sobre todo con la endiablada matriz X-Trans de las Fuji FX.
  • Después coge un pixel rojo y hace lo mismo con los píxeles verdes y azules que hay alrededor. Con los píxeles verdes tiene que inventar menos porque hay el doble que de rojos y azules.
  • Después coge un pixel azul y hace lo mismo con los píxeles verdes y rojos que hay alrededor.

Cuando ha acabado, le queda encima de la mesa un fichero con valores RGB para todos los píxeles. Es por eso que un fichero de 1.000 pixels tiene información RGB en esos 1.000 píxeles a pesar de que el sensor solo haya captado 250 rojos, 250 azules y 500 verdes.

Así pues, digamos para simplificar que el 500% de nuestras fotos (píxeles) es inventado, de ahí sale el “moiré” y para evitarlo se inventó el filtro AA.

Pixels Binning:

En un telefonillo “pixel binning” de pongamos 1000 pixels, hay igualmente 250 pixels rojos, 250 azules y 500 verdes. Pero la matriz bayer de captación está agrupada de 4 en 4. Así pues, hay 4 píxels rojos agrupados, 4 píxels azules agrupados, y 4 píxeles verdes agrupados. Cada uno de ellos capta una luminosidad diferente al exponerse, así los valores rojos de los 4 pixels rojos adyacentes no tienen por qué ser iguales.

1.- Cuando la cámara del telefonillo funciona con “pixel binnig” los valores de luminancia (pongamos que roja) de los 4 pixels adyacentes se promedian dando lugar a un solo valor de luminancia roja que se asigna por completo al pixel “gordo” formado por la asociación de los 4. Esta asignación tiene además la ventaja de que el ruido disminuye pues este, por su carácter aleatorio (para simplificar) disminuye al sumarse.

  • (R1o + R2o + R3o + R4o) / 4 = Rf                             Rio = Valor rojo origen; Rf = valor rojo final
  • (Ruido1o + Ruido2o + Ruido3o + Ruido4o) / 4 = Ruidoif < Suma Ruidos origen

Y así con los tres coroles.

2a.- Cuando la cámara del telefonillo funciona sin el modo “pixel binning” debe fabricar un fichero “inventado” de 4 veces más resolución y lo hace por reasignación astuta de pixels. No hay ningún movimiento físico de la matriz bayer, simplemente el enanito sabio que hay dentro recoloca los valores de luminosidad de la siguiente manera.

  • Seguimos con el sensor ejemplo de 1.000 pixels.
  • La única información que de verdad tenemos es la que ha captado el sensor a partir de su matriz bayer nativa agrupada de 4 en 4.
  • Realmente tenemos 250 valores R, 250 valores B, y 500 G pero agrupados de 4 en 4, de forma que si hacemos el “pixel bining” al final tendremos un fichero de 250 pixels de los cuales 62 serán R, 62 serán B y 126 G. Es lo que pasa en los telefonillos

2b- Sin embargo si decidimos utilizar el sensor a máxima resolución, ¿de dónde sale la información? Pues así. (He retocado el esquema del enlace para que lo entendáis mejor).

El secreto mejor guardado por fin desvelado.

  • Partimos de lo único que tenemos: la imagen de la izquierda, y queremos llegar a la imagen de la derecha, que tiene una resolución 4 veces mayor. ¿Cómo se hace? Pues con algo parecido al proceso demosaico, pero esta vez sin inventar nada, simplemente reasignado valores de luminosidad a cada uno de los pixels. Imaginaos al enanito sabio con el plano RGB de puntos gordos extendido sobre la mesa.
  • En esquema podéis ver el caso de los píxeles rojos, pero es lo mismo para los píxeles azules y verdes.
  • Partimos de los 4 valores (que no tienen por qué ser iguales) del pixel gordo rojo: los he marcado como R1o, R2o, R3o y R4o (valor rojoi origen).
  • Cada uno de esos valores se asigna del modo que indica el dibujo central: 3 valores se mueven de sitio y uno se queda igual. De esta forma se crea la matriz final que es la de salida a resolución máxima.
  • Una vez acabada con la matriz roja se hace lo mismo con las matrices azul y verde, y así se obtiene un fichero de la máxima resolución sin haber inventado nada, solo recolocado los valores RGB en otras posiciones adyacentes.
    • ¿Eso dará mayor resolución?, si, porque hay cuatro veces más píxeles.
    • ¿Eso dará mayor precisión?, no, porque los valores asignados no son los valores captadaos en cada una de las posiciones.
    • ¿Pero dará el pego?, seguro que si.

Y ya está. Esa es toda la historia.

A partir de ahí, tanto los telefonillos como los reveladores RAW externos ya puede aplicar su propio proceso demosaico normal para pasar a JPG o TIFF.

Desde luego todos estos prodigios eran impensables solo hace unos años cuando la electrónica no tenía la potencia que tiene ahora.

Ya digo que yo lo he contado con mi mejor voluntad, aunque no descarto que lo haya entendido todo al revés.

Mucha salud para todos y muchas gracias Angel.

Nota tonta: ¿cuel era mi fallo neuronal? Pues pensar que la matriz bayer de un telefonillo era una bayer RGB normal, y no es así, es una Quad bayer con los píxeles agrupados de 4 en 4. Me maldigo a mi mismo por no haberlo entendido antes.

Queridos hermanos, quitémonos las mascarillas y cada uno en su cása unámonos en este canto de gloria y agradecimiento.

A lo bestia:

Marchoso donde los haya:

Más intimista:

Y aquí están todos los episodios anteriores: es la crónica de una frustración por incapacidad mía.

Je suis désolé

22-7-2021

Todo lo que necesitas saber sobre la tecnología pixel binning: ¿al fin la respuesta?

El título me ha emocionado y casi me ha llevado hasta el éxtasis. Por fin me iba a enterar de la respuesta a la angustiosa pregunta que he formulado aquí repetidamente y que nadie aún me ha contestado.

Empecé a leerlo con emoción, seguí leyendo con perplejidad y acabé leyendo con desespero. Nada se decía del aparente milagro alquímico de la transmutación de un pixel de un color en otro. Nadie parece saber nada o nadie que lo sepa quiere compartir su sabiduría. Y mientras, yo me derrito en una angustia insoportable que ni me deja comer ni dormir, bueno, quizás “la calor” contribuya también un poquito a eso.

¿Vosotros podéis vivir con esa duda?, ¿cómo podéis soportarla?

  • “Clamé al cielo, y no me oyó. Mas, si sus puertas me cierra, de mis congojas en la Tierra responda el cielo, no yo.”

En episodios anteriores hacía esta angustiosa pregunta y aún ningún alma caritativa ha venido a aliviar mi sed de conocimiento. Mientras, yo me consumo en una angustia conocedora insoportable y cruel: Guillermo y Cía, socorro.

Que nervios, ¿verdad?

14-7-2021:

Mi angustia conocedora ya no puede más y es por ello que revuelvo a repreguntar:

¿Cómo es posible alterar el color de un pixel en una matriz Bayer?

Socorro. Creo que ya no voy a poder volver a dormir hasta conocer la respuesta.

¿Alguien me puede o nos puede iluminar?

De aquí no me muevo hasta que alguien diga algo.

Todo yo soy duda.

9-6-2021:

Esta pregunta y media quedó sin respuesta y yo sigo carcomido por mi angustia conocedora: Guillermo y Cía, socorro.

Vivo sin vivir en mi y seguiré vieviendo sin vivir en mi hasta hallar la respuesta a tan trascendental, metafísica e impertinente pregunta. Es por ello que la reitero hoy. ¿Hay alguien ahí que tenga una linterna (LED, por supuesto) para iluminarnos a todos?

El 27-5-2021 os preguntaba esto: actualización urgente, importante, trascendental y vital.

La pregunta más grande jamás formulada: todas las conjeturas matemáticas palidecen ante tal prodigio y yo me consumo en mi propia ignorancia – Guillermo y Cía, socorro.

Habiéndome pasado toda la noche en vela dando vueltas en la cama envuelto en sudores fríos intentando encontrar respuesta a la pregunta que ayer mismo me autoformulé, y constatando que mi querida Madre del Amor Hermoso no se me ha aparecido esta vez para aclararme el asunto (como ha pasado otras veces), sigo aterrorizado por una angustia estructural indescriptible que me lleva a pedir auxilio a gritos con la letra más grande que admite mi blog.

¿Cómo se hace en una matriz Bayer que un pixel verde (por ejemplo) transmute a rojo o a azul, o al revés en cualquier combinación posible?

¿Cómo se hace que un conjunto de 9 pixels que en «modo pequeño» son 2R-5G-2B se conviertan en «modo gordo» en uno solo 9R, ó 9G, ó 9B. Hay que variar de posición la matriz Bayer y eso no tengo ni puñetera idea de cómo se puede hacer?

¿Alguien puede iluminar mi ansia conocedora y aliviar mis penas?

Todas las conjeturas matemáticas pendientes palidecen ante tal prodigioso fenómeno.

  • Fijaros en los 9 píxels de cuadrado de la esquina superior izquierda: hay 5 verdes, 2 rojos y dos azules y eso es en el modo de alta resolución.
  • El mismo cuadrado se convierte en 9 píxels todos verdes en el modo de baja resolución. Hay dos píxeles rojos que han mutado a verde y lo mismo con los otros dos azules.

Dado que en una matriz Bayer hay un damero coloreado encima del sensor con cada casilla de color en su sitio, ¿cómo se puede producir esa transmutación?

Es evidente que hay algo que no se, y ese algo está en el meollo de la cuestión y por eso todo yo soy angustia y enloquezco sin enloquecer en mi

Nonapixel en fase de transición

Ayer os conté esto y ya tenía la mosca detrás de la oreja:

Así funciona el sensor Samsung Isocell HM3 de 108 Mpixels, y a mí se me ocurren dos preguntas impertinentes.

Hombre, estas cosas de culturilla nunca están de más, sobre todo si somos misericordiosos y aceptamos con resignación que de tecnología poca y de publirreportaje mucho. Pero aún así, no está mal, y además es cortito.

Por cierto, la pregunta que en su día dejé flotando en el aire sigue flotando en el mismo aire sin que nadie me la haya contestado.

P.- ¿Es lo mismo un pixel gordo que la asociación de varios pixels pequeños para formar uno gordo?

La verdad es que yo no lo sé. Tengo una suposición, pero no me atrevería a poner la mano en el fuego por defenderla, al menos mi mano, la de todos los políticos si, y el resto del cuerpo también.

Otra pregunta, esta más nueva.

P.- ¿Como se hace que un conjunto de 9 pixels que en «modo pequeño» son 2R-5G-2B se conviertan en «modo gordo» en uno solo 9R, ó 9G, ó 9B. Hay que variar de posición la matriz Bayer y eso no tengo ni puñetera idea de cómo se puede hacer?

Al día siguiente también lo cuenta Dpreview y aporta estas peliculitas complementarias.

adolfo

6 comentarios

  1. Creí entender que los datos referentes a los colores de algunos pixeles son trasladados o asumen que corresponden todos a otro color, se perderá cierta información sobre el color a favor de sumar información sobre la cantidad de luz.

    • No creo que sea así Carlos: ¿que información de verde puede tener un pixel que originalmente era rojo?, la verdad es que no lo entiendo.

      • No, quería decir en el caso en que se anula el dato de ese color y su dato de luz recibida se suma al otro

  2. Gracias Adolfo por tu elogios, nada merecidos. Googleando solo encontraba artículos clónicos repitiendo lo mismo (nada) hasta que di con esta página, que aunque escuetamente lo explica y los dibujos son reveladores de cómo es de verdad esta tecnología, tu explicación me parece más completa. Un saludo y aquí estamos para ayudar en lo que se pueda.

  3. El muare no depende del color de los píxeles, es una cuestión de geometría. Los sensores monocromo también generan muare. Un píxel con filtro rojo también recoge información sobre los colores que no son rojos, y no solo de luminancia sino también de temperatura. Un píxel rojo que recibe una proyección verde, aparte de oscurecerse o aclararse con la luminosidad, también lo hace cuando se cuando se acerca o se aleja del color complementario del pixel de la matriz. Imagina que te miras a través de un cristal rojo, solo ves las cosas rojas y el resto desaparece?

Responder a Pitufogrüñon Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.