¿Cómo se procesa el video digital? [cerrado]

-2

No estoy seguro si estoy usando las palabras correctas, pero me gustaría aprender cómo funciona el video digital. Tengo un libro que explica cómo funciona VGA y cómo implementarlo en FPGA. Me gustaría saber qué tipo de datos envía la computadora y cómo el monitor la comprende y muestra una resolución de 1080p / 720p. ¿Hay un libro explicando eso?

    
pregunta user2826094

1 respuesta

5

Si está interesado en cómo se envía el video digital, hay una serie de estándares actuales que son relevantes. Como menciona VGA, vale la pena centrarse en la señalización digital diseñada para funcionar entre el dispositivo y la pantalla, en lugar de los estándares de transmisión.

Ahora mismo hay tres estándares para dispositivos de consumo y cada uno tiene un excelente artículo de Wikipedia: DVI , HDMI y DisplayPort .

Estas normas definen la conexión eléctrica, el conector físico y la codificación de los datos enviados & recibido. Tanto HDMI como DisplayPort le permiten enviar más que solo información de video, por ejemplo, audio o datos de red.

En comparación con HDMI, el estándar DisplayPort es sin licencia, lo que puede hacer que sea interesante si estuviera implementando un nuevo dispositivo. Sin embargo, ahora tiene poca cuota de mercado.

En el nivel eléctrico, tanto DVI-D como HDMI usan TMDS "enlaces", utilizando pares de señales diferenciales para enviar los datos. DisplayPort usa LVDS y llama a cada par un "carril".

Para codificar los tres protocolos, use una forma de codificación 8b / 10b para eliminar el sesgo de DC.

Similar a cualquier otra implementación de video (incluyendo VGA), su dispositivo de envío necesitará algún tipo de búfer de pantalla que contenga los datos de píxeles que desea enviar. Para VGA, escanea toda la pantalla en el período de tiempo correcto ("frecuencia de actualización") y los convierte en niveles de señal analógicos. Para cualquier información de video digital, simplemente codifica los datos y luego los envía al controlador diferencial.

Su libro VGA discutirá la horizontal & líneas de sincronización vertical, el porche delantero y trasero, etc. Para el video digital, se reemplazan por una línea de reloj con marco (la sincronización horizontal y vertical) incrustada como símbolos digitales dentro de los datos. HDMI tiene un poco más de sobrecarga en comparación con DVI-D porque cierta información de señalización, como "hay audio en esta secuencia", también se codifica en los datos.

Los tres estándares digitales descritos aquí también admiten la señalización que proporciona a la pantalla información sobre la resolución y las capacidades del remitente. EDID es el estándar que controla esto y utiliza I²C Si bien VGA admite I²C para HDMI, creo que es obligatorio, lo que complica cualquier implementación.

Es concebible implementar un remitente de video digital completo en un FPGA moderno siempre que se cumplan las siguientes restricciones:

  • el dispositivo tiene suficiente RAM para almacenar un búfer de pantalla
  • la velocidad del reloj es lo suficientemente alta para hacer frente a la velocidad de actualización / señalización requerida
  • hay controladores diferenciales disponibles para usted en la parte

También puede usar una parte dedicada como Analog Devices ADV7511 que maneja todo esto si alimenta los datos de video.

Hay varios proyectos en línea que implementan DVI-D o HDMI en un FPGA. Es probable que estos sean un buen lugar para comenzar, pero ninguno de los que he encontrado es particularmente completo y, para un dispositivo de consumo, obviamente deberá pagar la tarifa de regalías HDMI.

Algunas lecturas útiles:

respondido por el David

Lea otras preguntas en las etiquetas