Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Video Encoding - Hardware vs Software

Status
Not open for further replies.

monkeysolder

Electrical
Dec 19, 2005
77
I don't have enough practical experience with video compression to answer this question so I'll ask you guys. I'm trying to spec out a video capture system running on a Pentium 738 (Pentium M 1.4GHz, Low Voltage) embedded computer system. It has "framegrabber" cards integrated that use the Conexant BT878 Fusion video capture chip. Each PC104+ card using this chip is able to accept 3 video inputs (6 total inputs) and present the data to memory/processor, but I would like to write the video to a hard drive. I believe this will require some sort of compression (correct me if I am wrong). I am unsure if this chip has a built in hardware encoder for MPEG, but it does not appear so. My question is this: If I want to write all 6 channels of video to a hard drive, do I need encoding and will I be able to do this seemingly large amount of software compression on this type of computer system?

The spec sheet for the PC104+ board with the video capture chip is at:
Thanks,
 
Replies continue below

Recommended for you

It depends on what YOU want. Raw captured video is very disk hungry. What level of compression do YOU need? What level of quality do YOU need?

TTFN



 
Good points. I would like to software compress 6 channels of full D1 resolution video to MPEG2. From what I have read, this will not be possible without some heavy computing power that a Pentium M based computer will not be able to provide. If there are any less processor-intensive commonly available compression schemes (MJPEG?), I would appreciate any info anyone could give into that. I should have mentioned earlier that I'm looking more for a sanity check on software compression rather than a specific solution.

The other option, as you pointed out, is to write raw video files to disk. I am looking for hours of video, so I do not think this will be an option.

Thanks again for the help.
 
Simple method. 1PC per channel.

The heavy computing is certainly required! It is so heavy, it is best left to dedicated signal processors not general purpose CPUs hence, it is really done on the video cards these days.

You might be able to utilize multiple video cards in one computer perhaps up to maybe.. 4? depending on the video compression chips and the level of compression desired.

No matter which way you go YOU WILL be going onto HDDs!

Keith Cress
Flamin Systems, Inc.-
 
The card (with one chip) and the BT878 chip appear to accept only one channel of video at a time. Am I missing something?

D1 is just 720x480, or 'DVD quality' (right?). There are consumer video grabbers that can supposedly match DVD quality. And many of them do the MPEG2 compression in hardware if for no other reason than to reduce the bit rate in the USB cable.

But even so, I doubt (a guess) that a Pentium M 1.4GHz system could handle six at once (running under a typical OS).

Something else to watch for: not all MPEG2 compressors are equal, in compression ratio or visible artifacts.

 
You could get away with software compression on a single channel with a 1.4GHz P-M, but no way on 6 D1-res channels. If you can deal with the size, consider something along the lines of QCIF...


Dan - Owner
Footwell%20Animation%20Tiny.gif
 
If you're really interested in rolling your own, the Analog Devices Blackfin processor has a software IP available for JPEG2000 encoding. The processor is relatively cheap and you could contemplate getting 6 of them, one for each channel.

JPEG2000 has better compression than MPEG4, and does not use key frames, so is more resistant to transmission dropouts.

TTFN



 
A friend of mine does hardware chip development for the Osprey family of video encoder/decoder cards.

Based on what I have learned from him and experience with one of these cards, the solutions here at are probably a good match to what you need.

These cards are architected so that multiple cards can be installed in one PCI bus system to build up the parallel processing channels you need.. All the video encoding/decoding is done with specialized hardware on each card.

Check out the Osprey cards at the above link...
 
A few years back I implemented a JPEG2000 video codec (which is part of the MPEG-4 spec, BTW)on a Texas Instruments 'C64xx series processor (as well as a ChipWrights SIMD parallel processor). At 640x480, I was lucky to get 5-10 frames per second, and the codebase was arguably the fastest on the market at the time. JPEG2000 has better compression for the same level of quality, but you pay for that in seriously increased compute power requirements. In this case, it sounds like compute power is at a premium, so sticking with normal MPEG is the way to go.

I've never worked with the Blackfin, but ADI has never been much of a speed demon when it comes to DSPs... first is TI for fastest compute, then Motorola, then ADI (reverse the order for ease of programming). Full D1 is 720x576, so I wouldn't count on the Blackfin getting you 30fps at that res with any appreciable quality.


Dan - Owner
Footwell%20Animation%20Tiny.gif
 
Seems to me that the dedicated processors that are just mpeg engines, with the 128bit word lengths, etc, are the only 'logical' solution to me.

That, or some 400pin FPGA with an IP compression algorithm in it.

Keith Cress
Flamin Systems, Inc.-
 
Wow. Thank you all for the good information. I will have to look around and see if there is the possibility of us building a custom board. Otherwise it looks like some customer education will be in order. Thanks again!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor