FPGA: inyectar una superposición en una transmisión HDMI

1

Estoy buscando usar un FPGA en línea con una transmisión HDMI no encriptada para inyectar una superposición en la pantalla. La resolución mínima y la velocidad de fotogramas que me gustaría admitir es de 1080p a 60Hz.

Mi idea para hacer este trabajo sería cargar un marco de 1080p totalmente codificado de la superposición en la memoria con todos los 0, excepto los datos de píxeles que deseo. Suponiendo que mi superposición solo use colores sólidos (es decir, R, G o B), puedo guardar el cuadro comprimido con solo 1 bit de profundidad (aproximadamente 2.5Mb en la memoria por canal). Luego, a medida que los datos de TMDS para cada canal se sincronizan en el FPGA, y asumiendo que puedo detectar el inicio de un cuadro y sincronizar los datos entrantes con la superposición que se está leyendo desde la RAM, debería poder O BIEN las dos secuencias de datos bit a medida que se están sincronizando en el FPGA y genera el resultado en el siguiente ciclo de reloj ...

Con suerte no estoy siendo muy ingenuo con este plan ya que no estoy muy familiarizado con HDMI. ¿Alguien puede decirme si hay fallas con esto?

    
pregunta THEMuffinMan7

2 respuestas

1

Parece una idea razonable. Sin embargo, los datos no entrarán en la serie de bits FPGA, se deserializarán y se descodificarán en paralelo; El tejido FPGA no puede ir lo suficientemente rápido como para lidiar con el bit-serial 1920x1080 HDMI. Tendrá que descodificar la codificación TMDS para poder meterse con los datos de píxeles de todos modos. Y también tendrá que volver a codificar y volver a serializar la señal para enviarla de nuevo a la puerta. La ruta de los datos debe ejecutarse en el orden de un píxel por ciclo de reloj, para que pueda intercambiar los colores trivialmente según sea necesario. Recomendaría utilizar una configuración de color indexada: una matriz 2D de números pequeños, quizás de 3 o 4 bits, que se indexa en una matriz de valores RGB. Uno de los valores podría corresponder a "pasar por" el color original. O puede combinar colores agregando, o incluso usar un bit como bit de "máscara" para seleccionar si desea considerar el color original.

    
respondido por el alex.forencich
0

Debes profundizar en NeTV y NeTV2 enlace

creador: enlace

    
respondido por el Jean-Philippe Encausse

Lea otras preguntas en las etiquetas