cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
shehryar88
Contributor
Contributor
9,416 Views
Registered: ‎04-18-2010

Development of FPGA based video capture card

Jump to solution

Hi,

    i have to develop a video capture card with a high resolution video through a VGA (input) and take out the video from a USB 2.0 port (output) with at least 30 frames per second. I have to basically interface the two ports on FPGA kit . please give me the starting direction, i am a new user of FPGA, please help

                                                                                                                                                                                                        thanx

0 Kudos
1 Solution

Accepted Solutions
john.h
Explorer
Explorer
11,558 Views
Registered: ‎02-27-2010

By no means can USB 2.0 deliver 480 Mb/s of usable bandwidth.  Half that value is pushing things.

 

You have an advantage not found in typical television: VGA is typically nearly static images.  Simply comparing to the previous frame may be enough to compress significatly.  The question for your specific project - which you didn't answer as to whether this was a "homework assignment" or what - is whether you need to support streaming video as well: if the VGA is used to watch a show on hulu.com, for instance.

 

If I said "you should use MPEG-4" would you do it?  There are different compression algorithms with varying levels of complexity.  Your needs will dictate the best approach.

 

And as I suggested before, few forum users will continue to read this thread if they figure your question was answered already.  Asking the question fresh in a new topic will provide better results.  Specify your needs more completely1024x768 (or variable?) at 30fps minimum, office use or full video support, any other details you can come up with to fully describe your problem.

 

It may be the best advice would be found in a newsgroup related to compression rather than a vendor FPGA forum.

View solution in original post

0 Kudos
7 Replies
john.h
Explorer
Explorer
9,406 Views
Registered: ‎02-27-2010

You need to develop an analog to digital interface for the VGA, probably something capable of varying rates requiring a variable clock as well.

 

You'll probably want an FPGA or CPLD to coordinate everything.

 

You'll need a USB interface, possibly EZ-UZB chip or a USB core in the FPGA with an external PHY.

 

You'll also need a software driver to interface to the USB port you've created.

 

 

These are all pretty basic engineering decisions.  Do you know anything about electronics hardware or software?

0 Kudos
shehryar88
Contributor
Contributor
9,400 Views
Registered: ‎04-18-2010

thanx for replying. 

                    i am a biginner in using FPGA. I am asked to use any lossless or lossy video compression techniques. Why would i require a compression?  Isn't the bandwidth of USB 2.0 enough to handle it.

                    Can anybody help me about the material that i should be studying or refering to ?

                                                                                                                                                           THANX

0 Kudos
john.h
Explorer
Explorer
9,394 Views
Registered: ‎02-27-2010

If you're dealing with high resolution beyond "standard def" it's doubtful that USB can begin to address uncompressed video.

 

USB might be able to handle uncompressed standard def video but the unfortunate lack of efficiency in the USB interface (when compared to Firewire, particularly) leaves the ability to transfer at that rate very suspect.

 

You may want to ask your question about compression in a new topic since questions which were answered tend not to be looked at over and over by other forum members.

 

If you ever want to do more than view video, compression is essential.  A raw standard definition video stream is on the order of 270Mb/s if I recall correctly.  My TiVo will record an hour's worth of standard def video in about a Gigabyte (using MPEG-2, I believe).  It takes about 30 seconds to fill a gigabyte with a 270 Mb/s stream.  Compression is good.  Compression is very good.

 

You may find application notes on video compression on the FPGA sites as well as references within those items to more generic texts.  There are newsgroups which deal with compression as well.  But some good research at a university library would probably deliver some solid benefit.

 

If you're looking at a commercial product, on the other hand, there are compression encoder chips on the market which would do the job without having to reinvent a very effective wheel.

0 Kudos
bassman59
Historian
Historian
9,382 Views
Registered: ‎02-25-2008

shehryar88 wrote:

thanx for replying. 

                    i am a biginner in using FPGA. I am asked to use any lossless or lossy video compression techniques. Why would i require a compression?  Isn't the bandwidth of USB 2.0 enough to handle it.

                    Can anybody help me about the material that i should be studying or refering to ?

                                                                                                                                                           THANX


Is this a homework assignment?

----------------------------Yes, I do this for a living.
0 Kudos
shehryar88
Contributor
Contributor
9,366 Views
Registered: ‎04-18-2010

A VGA signal of 1024*768 pixel resolution in a 24 bit palette should be grabbed with an on board RAM, what compression technique would you recommend so that the USB 2.0 could handle it . i think usb can handle 480Mbps?

                                                                                                                                                                                                                    Thanks.

0 Kudos
john.h
Explorer
Explorer
11,559 Views
Registered: ‎02-27-2010

By no means can USB 2.0 deliver 480 Mb/s of usable bandwidth.  Half that value is pushing things.

 

You have an advantage not found in typical television: VGA is typically nearly static images.  Simply comparing to the previous frame may be enough to compress significatly.  The question for your specific project - which you didn't answer as to whether this was a "homework assignment" or what - is whether you need to support streaming video as well: if the VGA is used to watch a show on hulu.com, for instance.

 

If I said "you should use MPEG-4" would you do it?  There are different compression algorithms with varying levels of complexity.  Your needs will dictate the best approach.

 

And as I suggested before, few forum users will continue to read this thread if they figure your question was answered already.  Asking the question fresh in a new topic will provide better results.  Specify your needs more completely1024x768 (or variable?) at 30fps minimum, office use or full video support, any other details you can come up with to fully describe your problem.

 

It may be the best advice would be found in a newsgroup related to compression rather than a vendor FPGA forum.

View solution in original post

0 Kudos
shehryar88
Contributor
Contributor
9,334 Views
Registered: ‎04-18-2010
thanks "john.h" , it was really helpful to me.
0 Kudos