Manejo de una pantalla de 24 BPP en modo 5: 6: 5

1

Tengo una pantalla TFT que acepta datos de visualización de 24 bits por píxel (BPP), pero mi mecanismo conector solo admite el modo 5: 6: 5.

¿Cuál es la forma preferida de hacer que la pantalla elimine los datos de píxeles adicionales y utilice los datos 5: 6: 5?

¿Debería simplemente desplegar las líneas de datos no utilizadas?

    
pregunta James

3 respuestas

2

Hay dos enfoques comunes. Un enfoque es conectar todos los bits no utilizados a un valor fijo (normalmente cero). Esto causará una leve pérdida de brillo, pero realmente no vale la pena preocuparse por el 3%. La otra es conectarlos a los bits superiores, en secuencia, de modo que un valor de color de 5 bits se conectaría como [D4 D3 D2 D1 D0 D4 D3 D2]. Esto hará que cada cuarto paso de brillo aumente el brillo de píxeles en 9 en lugar de 8, y utiliza todo el rango dinámico.

Al decidir sobre un método, sin embargo, uno debe considerar qué software va a estar esperando. Prefiero 5: 5: 5 a 5: 6: 5 (usar el bit superior como algo así como una clave de transparencia) porque los valores con R = G = B tendrán todos la misma crominancia y tono. Con una pantalla de 5: 6: 5, el software que busca una escala de grises uniforme puede usar (n, 2n, n) para todos los valores (suponiendo que el blanco sea 31,62,61), o puede agregar 1 a los valores verdes para n > = 16. Si el software simplemente va a copiar el bit superior del valor "verde" al bit inferior, puede lograr mejores resultados con [D5 D4 D3 D2 D1 D0 D4] o [D5 D4 D3 D2 D1 D5 D4 D4] de lo que obtendría con [D5 D4 D3 D2 D1 D0 D5 D4] (que daría la rampa de 63 pasos más uniforme). Si el software simplemente dejará el bit inferior en blanco, sería mejor que lo hiciera con [D5 D4 D3 D2 D1 D5 D4 D3].

    
respondido por el supercat
2

Para un rango de brillo máximo, conecte los lsbits no utilizados al bit más bajo de su fuente. Solo conectando a 0 limitará ligeramente el brillo máximo.

    
respondido por el mikeselectricstuff
1

Una solución muy simple sería conectar sus buses r / g / b a los bits más significativos de los buses de pantalla correspondientes, es decir, la entrada R4 - > pantalla R7, ..., entrada R0 - > muestra R3, y de manera similar para otros subpíxeles. De esta manera, al menos puede conservar la mayor parte del rango dinámico de su pantalla. Los bits restantes (menos significativos) se pueden cablear a 0 o 1 a su gusto. Si son todos 0, perderá un rango dinámico en la parte superior pero manténgalo en la parte inferior (cerca de 0) y viceversa. Esta transformación se puede expresar como

R = R << 3 + (0...7);
G = G << 2 + (0...3);
B = B << 3 + (0...7);

La calidad de imagen no va a ser buena, pero esa es una limitación que no puedes superar (no puedes crear información que no existe).

    
respondido por el Thorn

Lea otras preguntas en las etiquetas