Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




Como convertir YCrCb a RGB


       



#1  Como convertir YCrCb a RGB
Paloky
Ubicación: Mataró, Barcelona
Registrado: 21 Abr 2006
Mensajes: 146
citar
Hola.

Hace varios dias que estoy buscando por webs, la "formula" para poder convertir YCrCb (Que no es lo mismo que YUV por lo que he leido, creo Confused ) en una señal RGB (Ambas en formato Digital de 8 bits).

Creo que he encontrado una página que me da la siguente ecuación:

R = Y + 1.402 (Cr -128)
G = Y - 0.34414 (Cr-128) - 0.71414 (Cr-128)
B = Y + 1.772 (Cb-128)

Esta ecuación es teniendo en cuenta la norma CCIR-656 (El rango en 8 bits va de 0 hasta 255).

Todo esto viene dado, porque tengo un Decoder de Texas Instruments (TVP5150) que a partir de una entrada PAL, me da las señales codificadas de sincronismos y la salida me la da en YCrCb, pero yo quiero convertirla a RGB para poder mandarla a una LCD.

Otra questión que me planteo, es el porqué la trama de YCrCb, es de forma alternada (Cb Y Cr Y Cb Y Cr Y .).

Alguien me puede explicar un poco si voy bien encaminado y si estoy en lo cierto?

Muchas gracias.

Un Saludo.

#2  
tiopepe123
Colaborador
Ubicación: Barcelona (Espanya)
Registrado: 14 May 2006
Mensajes: 2903
citar
Antes de seguir mira si tu lcr permite ingresar señales con sincronismo de 50hz y 15khz,

Si la LCD es de un monitor, si no han cambiado mucho las cosas te sera imposible,
Busca un separador de sincronismos, necesitas sincronismos ttl, hay diseños muy simples con poco mas que una puerta 40106 o 7414 y algun transistor

Con este circuito y invectando una señal svideo en algunos de los colores deberias como minimo ver una señal estable, de un solo color pero estable .


La codificacion pal es algo compleja al tratarse de señales vectoriales, pero si recuerdas pitagoras una señal se puede deducir de las otras y esa es la Y

#3  
Paloky
Ubicación: Mataró, Barcelona
Registrado: 21 Abr 2006
Mensajes: 146
citar
Hola Tiopepe123.

La señal no la enviare directamente al LCD. Previamente, la almacenaré en un mapa de memoria SRAM, para poder tratarla y después la enviaré al LCD con sus correspondientes frecuencias y sincronismos.

El Separador de sincronismos me lo genera el integrado TVP5051 de Texas Instruments.


La "formula" para hacer la conversion de YCrCb a RGB es correcta?

Porque la señal de YCrCb, tiene la trama ( Cr Y Cb Y Cr Y Cb .) Porque la Luminancia (Y) tiene el doble de frecuencia que las de Cromancia roja y azul?


Gracias.

#4  
tiopepe123
Colaborador
Ubicación: Barcelona (Espanya)
Registrado: 14 May 2006
Mensajes: 2903
citar
te recomiendo encarecidamente un libro de lectura, es un metodo un moto lioso
Esto puede darte un poco la idea
http://usuarios.lycos.es/chemahz/VIDEO_ES.pdf

No conozco el TVP5051, el tipico es un lm1881 y sus modernos.

Ojito que este proyecto lo veo bastante complejo.

Nos podrias hacer un resumen de lo que quieres implementar?

#5  
Paloky
Ubicación: Mataró, Barcelona
Registrado: 21 Abr 2006
Mensajes: 146
citar
Hola.

He mirado el Lm1881, pero este integrado, solo me genera las señales de sincronismo. El TVP5150, a parte de separarme los sincronismos, también me da la imagen digitalizada.

Gracias por el Link. Esta muy bien.


La implementación que quiero hacer, son pruebas de Visión Artificial, mediante una FPGA de Altera (Cyclone II). Pero paso a paso. Primero conseguir capturar video i reproducirlo en una pantalla 320x240 RGB en tiempo real. Y luego ja se irá ampliando.

Estoy siguiendo la inspiración de esta página.

http://www.itoosoft.com/motorolos/php/cyclopeus.php


Quiero conseguir algo parecido.

Un Saludo.

#6  
tiopepe123
Colaborador
Ubicación: Barcelona (Espanya)
Registrado: 14 May 2006
Mensajes: 2903
citar
En principio los fabricantes principales son

st.com
http://www.nxp.com

Tambien podrias buscar alguna tele vieja y recuperar una parte de la circuteria, seguramente habra un TDAXXXX

Tambien podrias digitalizar la croma y la luminancia a 8 bits y hacer los calculos con la FPGA no creo que tubieras problemas. Si buscas un poco ya lo encontraras implementado, miralo.
Mira en la casa de altera, ya lei algo sobre el tema del video.

Recuerda que lo importante no es la resolucion en un sistema de deteccion, no vale para nada tener muchos pixel y tardar 2 horas en dispararse.


puedes utilizar un tda8708 y tda8709 para la digitalizacion.

Otros metodos de hacerlo

http://www.circuitcellar.com/avr2006/winners/AT3142.htm
http://www.circuitcellar.com/avr2006/winners/AT3267.htm



Este integrado lo tenian en amidata.es, no se si todabia lo tienen
cxa1229

http://doc.chipfind.ru/sony/cxa1229.htm


A la a trabajae.

#7  
Paloky
Ubicación: Mataró, Barcelona
Registrado: 21 Abr 2006
Mensajes: 146
citar
Hola TioPepe123.

Creo que al fin he encontrado lo que buscaba.

En la pàgina de Xilinx, he encontrado una nota de aplicación donde ja está implementada la funcion en VHDL (y sin limitaciones propietarias como el de Altera) :

http://www.xilinx.com/bvdocs/appnotes/xapp931.pdf


En cuando pueda lo pruebo y te digo te tal funciona.

#8  
ant_rock
Registrado: 20 Feb 2008
Mensajes: 2
citar
Hola Paloky,

Yo también estoy usando un dispositivo FPGA que contiene el video decoder tvp5150 para procesado de video. Resulta que también me descargué la aplicación de Xilinx, que es un covertidor de formato YCrCb a RGB.

Mi curiosidad es saber que tal te ha ido con la implementación de este módulo de Xilinx, yo todavía no lo he integrado en mi proyecto.

Pero se me presenta la duda de que el bloque convertidor en vhdl de Xilinx convierte tramas de YCrCb a RGB, y como bien dices en tu primer "post" el video decoder tvp5150 saca tramas alternativas Cb0 Y0 Cr0 Y1 Cb1 Y2 Cr1 Y3 Cb2 etc... con lo cual tenemos una primera muestra completa [Cb0 Y0 Cr0] luego una de luminancia solo [Y1] luego otra completa ....

¿Cómo has conseguido hacerlo sin perder datos de luminancia?

Muchas gracias

Saludos

#9  
Paloky
Ubicación: Mataró, Barcelona
Registrado: 21 Abr 2006
Mensajes: 146
citar
Pues la verdad, todavía no he podido probar nada.

Últimamente estoy muy liado con el trabajo y no tengo mucho tiempo para hacer mis propios proyectos.

Si consigues hacer algo, te agradecería si me lo pudieras contar que tal ha funcionado.

Saludos.

#10  
ant_rock
Registrado: 20 Feb 2008
Mensajes: 2
citar
Ok si me funcionase pues ya te lo comentaría. Lo poco que me he informado por ahora es que desde el video codec tvp5150 salen los datos en formato ITU-R 656 4:2:2. Como te comenté anteriormente la salida es de la forma Cb0 Y0 Cr0 Y1 Cb1 Y2....

Para poder conectarlo al módulo de Xilinx creo que hay que hacer antes una conversión de ITU-R 4:2:2 a ITU-R 4:4:4 y de aquí conectarlo convertidor YCrCb-->RGB.

En el pdf xapp294 de Xilinx te explica la anterior conversión de fomratos.

Espero que sea de ayuda.

Saludos

 Responder



 Otros temas de interés 
No hay mensajes nuevos Cuenta descendente horas, minutos y segundos.
No hay mensajes nuevos Cuenta revoluciones
No hay mensajes nuevos temporizador de cuenta atras
No hay mensajes nuevos cuenta revoluciones de leds
No hay mensajes nuevos Diseño de cuenta vueltas

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||
Contacto | Acerca de | Ayuda | Normas de la Comunidad | Privacidad | Mapa de los foros
© Foros de Electrónica - Comunidad Internacional de Electrónicos