Maker Pro
Maker Pro

jpeg compression hardware

R

RezaRob

Jan 1, 1970
0
We may need to compress in the order of 100 jpegs per second. Any
ideas if there is good hardware for this?

Thanks.

Reza.
 
T

Thomas Richter

Jan 1, 1970
0
RezaRob said:
We may need to compress in the order of 100 jpegs per second. Any
ideas if there is good hardware for this?

Of which size? If the image sizes are not too large, it doesn't sound
too unrelaistic that you can do that with off-the-shelve PC hardware.

So long,
Thomas
 
W

Winfield

Jan 1, 1970
0
Thomas said:
Of which size? If the image sizes are not too large, it doesn't sound
too unrelaistic that you can do that with off-the-shelve PC hardware.

Or, if he wants low-cost embedded hardware, an ARM processor
or a DSP chip with appropriate software should do the trick.
 
R

Robert Latest

Jan 1, 1970
0
["Followup-To:" header set to sci.electronics.design.]
RezaRob said:
We may need to compress in the order of 100 jpegs per second. Any
ideas if there is good hardware for this?

There probably is, seeing that MJPEG (Motion-JPEG, not to be confused with
MPEG) is nothing but a stream of individual JPEGS. This is the format that,
for instance, Mini-DV cameras use and probably pro gear as well.

I'd look into the specs of professional digital video cameras and then try
to find out what hardware they use. Or maybe there even are high-end
consumer camcorders that do 100fps, who knows.

robert
 
R

RezaRob

Jan 1, 1970
0
RezaRobwrote:

Of which size? If the image sizes are not too large, it doesn't sound
too unrelaistic that you can do that with off-the-shelve PC hardware.

Say, in the 800x800 range. I don't think the PC hardware can easily
handle it, unless we devote a couple boxes to it.

Reza.
 
M

Meat Plow

Jan 1, 1970
0
We may need to compress in the order of 100 jpegs per second. Any
ideas if there is good hardware for this?

Thanks.

That would be called a Mac.


--
#1 Offishul Ruiner of Usenet, March 2007
#1 Usenet Asshole, March 2007
#1 Bartlo Pset, March 13-24 2007
#10 Most hated Usenetizen of all time
#8 AUK Hate Machine Cog
Pierre Salinger Memorial Hook, Line & Sinker, June 2004
COOSN-266-06-25794
 
J

Jim Leonard

Jan 1, 1970
0
We may need to compress in the order of 100 jpegs per second. Any
ideas if there is good hardware for this?

Zoran (NASDAQ:ZRAN) used to make a chipset that did this; it was used
for many MJPEG boards such as the Iomega BUZ and Pinnacle DC30 and
DC50 about 8 years ago. Unfortunately I can't find information on
their corporate website about it, but it's possible they still sell
and support it.
 
T

Thomas Richter

Jan 1, 1970
0
RezaRob said:
Say, in the 800x800 range. I don't think the PC hardware can easily
handle it, unless we devote a couple boxes to it.

I don't think so.

thor@mersenne:~> time for ((i=0;i<100;i++)); do cjpeg
<~/WWW/imco/Downloads/lena_o.pgm >out.jpg; done

real 0m2.372s
user 0m1.128s
sys 0m0.204s

This is a 512x512 greyscale image, on a off-the-shelve, not new, P4 3.2
Ghz machine using the standard, not-fully-optimized simple IJG code, and
it gets 100 images/sec. Now pick a larger image, color, a more recent
machine and a high-speed code, probably a dual-core CPU from the store
next block and you're there. It's not entirely unrelastic.

For a high-speed jpeg, see for example www.jpg.com.

So long,
Thomas
 
P

Pete Fraser

Jan 1, 1970
0
There probably is, seeing that MJPEG (Motion-JPEG, not to be confused with
MPEG) is nothing but a stream of individual JPEGS.
Correct.

This is the format that,
for instance, Mini-DV cameras use

Wrong.
 
J

Jan Panteltje

Jan 1, 1970
0
I don't think so.

thor@mersenne:~> time for ((i=0;i<100;i++)); do cjpeg
<~/WWW/imco/Downloads/lena_o.pgm >out.jpg; done

real 0m2.372s
user 0m1.128s
sys 0m0.204s

This is a 512x512 greyscale image, on a off-the-shelve, not new, P4 3.2
Ghz machine using the standard, not-fully-optimized simple IJG code, and
it gets 100 images/sec. Now pick a larger image, color, a more recent
machine and a high-speed code, probably a dual-core CPU from the store
next block and you're there. It's not entirely unrelastic.


I get very different results with a real 800x600 X windows grab
import q1.ppm
-rw-r--r-- 1 root root 7928769 2007-06-12 20:14 q1.ppm
import q1.pgm
-rw-r--r-- 1 root root 2675036 2007-06-12 20:16 q1.pgm
((i=0;i<100;i++)); do cjpeg q1.pgm > out.jpg; done
about 40 seconds on 1GHz Duron.


Perhaps he could get some IP for FPGA.
There must be chips for 30fps, most DV cameras must have one.
 
T

Thomas Richter

Jan 1, 1970
0
Jan said:
I get very different results with a real 800x600 X windows grab
import q1.ppm
-rw-r--r-- 1 root root 7928769 2007-06-12 20:14 q1.ppm
import q1.pgm
-rw-r--r-- 1 root root 2675036 2007-06-12 20:16 q1.pgm
((i=0;i<100;i++)); do cjpeg q1.pgm > out.jpg; done
about 40 seconds on 1GHz Duron.

What do you expect from this machine? (-:
Let's get realistic, please. Nothing against this machine, but a
Duron is not a high-end CPU, and 1Ghz is not exactly up-to-date either.


So long,
Thomas
 
R

RezaRob

Jan 1, 1970
0
Zoran (NASDAQ:ZRAN) used to make a chipset that did this; it was used
for many MJPEG boards such as the Iomega BUZ and Pinnacle DC30 and
DC50 about 8 years ago. Unfortunately I can't find information on
their corporate website about it, but it's possible they still sell
and support it.

We seem to be having a lot of problems getting somebody knowledgeable
from them on the phone. I heard from two separate sources that they
didn't really like to talk, except perhaps to large mass markets.

Reza.
 
J

Jan Panteltje

Jan 1, 1970
0
What do you expect from this machine? (-:
Let's get realistic, please. Nothing against this machine, but a
Duron is not a high-end CPU, and 1Ghz is not exactly up-to-date either.


So long,
Thomas

OK buy a PS3 a and code for the helper cores.

Still his example was wrong, I use a full high res 800x600 color,
if it truely was only 3 mS for that, then it would be 100x3 = 300 ms.
That would mean the Px whatever many cores was 120x faster then my Duron.
No way, at the most 12 x (or 20x if dual core).
So I'd like to see his results for a true 800x600 RGB grab with detail
on that machine.
Would surprize me it it was faster then 2 seconds for 100 conversions.
 
P

Pete Fraser

Jan 1, 1970
0
I get very different results with a real 800x600 X windows grab
import q1.ppm
-rw-r--r-- 1 root root 7928769 2007-06-12 20:14 q1.ppm
import q1.pgm
-rw-r--r-- 1 root root 2675036 2007-06-12 20:16 q1.pgm
((i=0;i<100;i++)); do cjpeg q1.pgm > out.jpg; done
about 40 seconds on 1GHz Duron.

800 x 600 color image from a camera.
real 0m6.734s
user 0m5.556s
sys 0m3.516s

2.4 GHz Core 2 Duo

Perhaps he could get some IP for FPGA.
There must be chips for 30fps, most DV cameras must have one.

DV cameras don't use motion JPEG.
They both use a block-based DCT intra-coding scheme, but there are major
differences.

Have you (op) looked at using an FPGA board as a coprocessor (or even
standalone)?
There are many inexpensive boards that could easily do what you need, but
you'd
need to write some VHDL or Verilog code.

There's a lot of code at opencores.org, but I haven't used any of it.
If you consider FPGAs, comp.arch.fpga is a good source of advice.
 
J

John_H

Jan 1, 1970
0
Have you (op) looked at using an FPGA board as a coprocessor (or even
standalone)?
There are many inexpensive boards that could easily do what you need, but
you'd
need to write some VHDL or Verilog code.

There's a lot of code at opencores.org, but I haven't used any of it.
If you consider FPGAs, comp.arch.fpga is a good source of advice.

....and we'll point you to IP sources like those at
http://www.xilinx.com/ipcenter/ (search for JPEG) and you'll find cores that
could be purchased and implemented on development kits. Are you ready to
purchase IP? Are your ins/outs in the PC realm or dedicated hardware?
 
J

Jan Panteltje

Jan 1, 1970
0
800 x 600 color image from a camera.
real 0m6.734s
user 0m5.556s
sys 0m3.516s

2.4 GHz Core 2 Duo

How long does this one take (the one I used?):
ftp://panteltje.com/pub/q1.pgm
I ran it again, but there is still an other H264 encode running I
cannot interrupt now:
for ((i=0;i<100;i++)); do cjpeg /root/q1.pgm >out.jpg; done
27.19s user 1.53s system 96% cpu 29.758 total

Yours is only 4.1 x faster :)
Duron rules :)
 
P

Pete Fraser

Jan 1, 1970
0
How long does this one take (the one I used?):
ftp://panteltje.com/pub/q1.pgm


I'm not sure if I'm interpreting it incorrectly,
but it seems to be a lot of ASCII numbers.

I just read the spec. That's a strange one.
Should I do the timing reading the ASCII?
I'm not even sure if cjpeg can read ASCII images.

Why is it a 16-bit image?
 
P

Pete Fraser

Jan 1, 1970
0
Pete Fraser said:
I'm not sure if I'm interpreting it incorrectly,
but it seems to be a lot of ASCII numbers.

I just read the spec. That's a strange one.
Should I do the timing reading the ASCII?
I'm not even sure if cjpeg can read ASCII images.

Why is it a 16-bit image?

I should have tried it first.

real 0m42.325s
user 0m40.105s
sys 0m4.273s

I assume it spends most of the time dealing with a
strange 16-bit ASCII input file.
 
R

Robert Latest

Jan 1, 1970
0
Pete said:

Oh! Maybe they don't call it MJPEG, but isn't the compression scheme that DV
uses some sort of JPEG, or is it a completely different form of compression?

Thanks for clarification,
robert
 
Top