Hi there! This is my first time posting here. A brief introduction of myself: an EE undergraduate struggling hard to learn about electronics and engineering. It would be grateful if all the experts here can give some advices or directions on the problems I have.
Currently I am working on a memory circuit that saves a field or a frame image from a live NTSC stream and displays back onto a monitor. System flowchart is as below:
Live video --> Anti-aliasing filter --> A/D, 8-bits --> Memory --> D/A, 8-bits --> Reconstruction filters --> Video output on monitor
The memories used are four 2Mb 8-bits FIFO field memory which each can save 1 field of NTSC image. The write and read operations of the memories are controlled by a CPLD programmed in VHDL. In order to maximize the number of saved images and simplify the circuit, I decided to directly digitize the composite NTSC signal. Hence, 4 field images or 2 frame images can be saved at most. A/D, D/A, CPLD and the memories use the same clock, which is 4x the colour subcarrier frequency in NTSC.(14.318MHz)
The major problem now is that the colour in images are screwed up completely. Red appears as bright pink or violet, blue appears green etc. I found that the period of reconstructed NTSC signals is always a tiny bit shorter from the NTSC standard. I couldn't understand if this is the reason for the colour distortion because I thought colour is related to the phase between the video signal to the colour burst, not timing. Can someone please suggest the reason for it?
Another problem is that I just couldn't figure out a method in VHDL to control the timing to write to and read from memories so that a NTSC signal with standard period can be recreated. Please show me some ideas or advices on it..
Sorry for such a lengthy post. I have researched and worked on it by myself for a long time but just can't solve it on my own. I guess I am missing some knowledge...... If there is anything unclear, please bring it up and I will clarify asap.
Thank you very much for your patience!!
Currently I am working on a memory circuit that saves a field or a frame image from a live NTSC stream and displays back onto a monitor. System flowchart is as below:
Live video --> Anti-aliasing filter --> A/D, 8-bits --> Memory --> D/A, 8-bits --> Reconstruction filters --> Video output on monitor
The memories used are four 2Mb 8-bits FIFO field memory which each can save 1 field of NTSC image. The write and read operations of the memories are controlled by a CPLD programmed in VHDL. In order to maximize the number of saved images and simplify the circuit, I decided to directly digitize the composite NTSC signal. Hence, 4 field images or 2 frame images can be saved at most. A/D, D/A, CPLD and the memories use the same clock, which is 4x the colour subcarrier frequency in NTSC.(14.318MHz)
The major problem now is that the colour in images are screwed up completely. Red appears as bright pink or violet, blue appears green etc. I found that the period of reconstructed NTSC signals is always a tiny bit shorter from the NTSC standard. I couldn't understand if this is the reason for the colour distortion because I thought colour is related to the phase between the video signal to the colour burst, not timing. Can someone please suggest the reason for it?
Another problem is that I just couldn't figure out a method in VHDL to control the timing to write to and read from memories so that a NTSC signal with standard period can be recreated. Please show me some ideas or advices on it..
Sorry for such a lengthy post. I have researched and worked on it by myself for a long time but just can't solve it on my own. I guess I am missing some knowledge...... If there is anything unclear, please bring it up and I will clarify asap.
Thank you very much for your patience!!