Forums

Image compression MCU/DSP

Started by amerdsp May 11, 2006
Hello all,
  What would you experts do if you want to perform image compression (I
am thinking jpeg), on a low power board?  The data is captured from an
image sensor and needs to be transmitted elsewhere.  Would you use a
MCU bundled with a DSP or would you use two separate MCU and DSP chips?
 I was thinking about using a PIC with nano watt technology along with
a low power DSP from TI. Or should I use a dsPic? Or anything else?

Thank you for your time and help.

A

-- 

Help fight breast cancer....
http://www.the3day.org/Atlanta06/balam

amerdsp wrote:

> What would you experts do if you want to perform image compression (I > am thinking jpeg), on a low power board? The data is captured from an
If it was really JPEG, I would try to use a DSC ASIC[ASSP]. These are optimized specifically for that task, and also for low power consumption. Any other solution leaves you powering general-purpose data paths that you aren't using. It's a bit application-dependent, though. If power is the most important factor, you need to weigh data tx energy cost vs. compression cost. At some point in the compress vs. raw tx curve you'll hit a break-even point; below that point, it takes so long to compress the data that you're wasting power; above that point, it takes so much energy to transmit the [low-compression] data that you'd be better to compress harder.
amerdsp wrote:
> Hello all, > What would you experts do if you want to perform image compression (I > am thinking jpeg), on a low power board? The data is captured from an > image sensor and needs to be transmitted elsewhere. Would you use a > MCU bundled with a DSP or would you use two separate MCU and DSP chips? > I was thinking about using a PIC with nano watt technology along with > a low power DSP from TI. Or should I use a dsPic? Or anything else? > > Thank you for your time and help. > > A >
Before resorting to a 'PEG compression, you may want to look at some other approaches. If you must resort to fancy compression, there are chips and FPGA codes to do that. If you must stay with processors, someone else should recommend. It sounds like you're at the board design stage. I suggest trying a simple RLE. If you have color, then you will RLE the color and the grayscale separately. You may find a very simple compression that meets your needs. With a slight sacrifice of fidelity, you can make your RLE codes unique - not to be confused with uncompressed data. This can guarantee a minimum of zero compression, as compared to inflation when the RLE codes cannot be made unique.
amerdsp wrote:

> Hello all, > What would you experts do if you want to perform image compression (I > am thinking jpeg), on a low power board? The data is captured from an > image sensor and needs to be transmitted elsewhere. Would you use a > MCU bundled with a DSP or would you use two separate MCU and DSP chips? > I was thinking about using a PIC with nano watt technology along with > a low power DSP from TI. Or should I use a dsPic? Or anything else? > > Thank you for your time and help.
Find out what the $35 digicams do. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
amerdsp wrote:
> What would you experts do if you want to perform image compression (I > am thinking jpeg), on a low power board? The data is captured from an > image sensor and needs to be transmitted elsewhere. Would you use a > MCU bundled with a DSP or would you use two separate MCU and DSP chips? > I was thinking about using a PIC with nano watt technology along with > a low power DSP from TI. Or should I use a dsPic? Or anything else?
Can you characterize the task a little more clearly? How big are the images? What color depth is involved? Does the compression need to be lossless? What kind of throughput (images per time) is needed? -Will Dwinnell http://will.dwinnell.com
The images are 640 by 480 and they are monochrome.  The compression
does not have to be lossless as long as details, such as faces can
still be recognized.  The compressed images will be saved on a flash
card such as SD or CF.  I would like to be able to capture an image
once every 5 secs.  The transmitted images would be a subset of the
acquired ones only because the transmission link is slow.  I think that
the transfer rate between the MCU and the flash memory is fast enough
to acheive this throughput.

The reason I mention a dsPIC is that I am already using a MCU to
control other stuff.  I am not bound to any specific architucture yet.
I am still in the research phase, so any suggestion will be very
helpful.  I  am looking into image compression chips, but so far I have
not been very successful I must admit.

Thank you.

A

--

Help fight breast cancer....
http://www.the3day.org/Atlanta06/balam

"amerdsp" <amerdsp@hotmail.com> wrote:

>Hello all, > What would you experts do if you want to perform image compression (I >am thinking jpeg), on a low power board? The data is captured from an >image sensor and needs to be transmitted elsewhere. Would you use a >MCU bundled with a DSP or would you use two separate MCU and DSP chips? > I was thinking about using a PIC with nano watt technology along with >a low power DSP from TI. Or should I use a dsPic? Or anything else? >
If you want to use an available JPEG compression library, stick to processors with a linear address space (which TI dsps and PIC aren't). You can look into an processor based on the ARM architecture. -- Reply to nico@nctdevpuntnl (punt=.) Bedrijven en winkels vindt U op www.adresboekje.nl
Nico Coesel wrote:
> "amerdsp" <amerdsp@hotmail.com> wrote: > > >Hello all, > > What would you experts do if you want to perform image compression (I > >am thinking jpeg), on a low power board? The data is captured from an > >image sensor and needs to be transmitted elsewhere. Would you use a > >MCU bundled with a DSP or would you use two separate MCU and DSP chips? > > I was thinking about using a PIC with nano watt technology along with > >a low power DSP from TI. Or should I use a dsPic? Or anything else? > > > > If you want to use an available JPEG compression library, stick to > processors with a linear address space (which TI dsps and PIC aren't). > You can look into an processor based on the ARM architecture.
Still better, go for a Blackfin DSP. For instance BF531 is low cost, still very powerful and with very good power management features, besides impressive computational power and microcontroller-like features. JaaC
amerdsp wrote:
> The images are 640 by 480 and they are monochrome. The compression > does not have to be lossless as long as details, such as faces can > still be recognized. The compressed images will be saved on a flash > card such as SD or CF. I would like to be able to capture an image > once every 5 secs. The transmitted images would be a subset of the > acquired ones only because the transmission link is slow. I think that > the transfer rate between the MCU and the flash memory is fast enough > to acheive this throughput. > > The reason I mention a dsPIC is that I am already using a MCU to > control other stuff. I am not bound to any specific architucture yet. > I am still in the research phase, so any suggestion will be very > helpful. I am looking into image compression chips, but so far I have > not been very successful I must admit.
You might consider the method described in the article "Block Truncation Compression", by Anton Kruger, published in the April, 1992 issue of "Dr. Dobb's Journal". See: http://www.ddj.com/184408745?pgno=26 -Will Dwinnell http://will.dwinnell.com
amerdsp wrote:
> The images are 640 by 480 and they are monochrome. The compression
A 16 bit image buffer would be 600K bytes. You need at least one, possibly two image buffers.
> does not have to be lossless as long as details, such as faces can > still be recognized. The compressed images will be saved on a flash > card such as SD or CF. I would like to be able to capture an image > once every 5 secs. The transmitted images would be a subset of the > acquired ones only because the transmission link is slow. I think that > the transfer rate between the MCU and the flash memory is fast enough > to acheive this throughput. > > The reason I mention a dsPIC is that I am already using a MCU to
It will be hard to find a PIC with enough memory.
> control other stuff. I am not bound to any specific architucture yet. > I am still in the research phase, so any suggestion will be very > helpful. I am looking into image compression chips, but so far I have > not been very successful I must admit. > > Thank you. > > A > > -- > > Help fight breast cancer.... > http://www.the3day.org/Atlanta06/balam