Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - lossless compression in hardware: what to do in case of uncompressibility?

 
Thread Tools Search this Thread
Old 11-29-2007, 02:42 PM   #1
Default lossless compression in hardware: what to do in case of uncompressibility?


Hi all,

I'm working on a hardware implementation (FPGA) of a lossless compression
algorithm for a real-time application. The data will be fed in to the
system, will then be compressed on-the-fly and then transmitted further.

The average compression ratio is 3:1, so I'm gonna use some FIFOs of a
certain size and start reading data out of the FIFO after a fixed
startup-time. The readout rate will be 1/3 of the input data rate The size
of the FIFOs is determined by the experimental variance of the mean
compression ratio. Nonetheless there are possible circumstances in which no
compression can be achieved. Since the overall system does not support
variable bitrates a faster transmission is no solution here.

So my idea was to put the question to all of you what to do in case of
uncompressibility? Any ideas?

Denkedran Joe




Denkedran Joe
  Reply With Quote
Old 11-29-2007, 02:48 PM   #2
Spehro Pefhany
 
Posts: n/a
Default Re: lossless compression in hardware: what to do in case of uncompressibility?
On Thu, 29 Nov 2007 15:42:45 +0100, "Denkedran Joe"
<> wrote:

>Hi all,
>
>I'm working on a hardware implementation (FPGA) of a lossless compression
>algorithm for a real-time application. The data will be fed in to the
>system, will then be compressed on-the-fly and then transmitted further.
>
>The average compression ratio is 3:1, so I'm gonna use some FIFOs of a
>certain size and start reading data out of the FIFO after a fixed
>startup-time. The readout rate will be 1/3 of the input data rate The size
>of the FIFOs is determined by the experimental variance of the mean
>compression ratio. Nonetheless there are possible circumstances in which no
>compression can be achieved. Since the overall system does not support
>variable bitrates a faster transmission is no solution here.
>
>So my idea was to put the question to all of you what to do in case of
>uncompressibility? Any ideas?
>
>Denkedran Joe


Given the constraints you have put on the problem, you're kinda left
with reducing the incoming data rate or dropping packets.

Best regards,
Spehro Pefhany
--
"it's the network..." "The Journey is the reward"
Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com


Spehro Pefhany
  Reply With Quote
Old 11-29-2007, 03:16 PM   #3
CBFalconer
 
Posts: n/a
Default Re: lossless compression in hardware: what to do in case ofuncompressibility?
Denkedran Joe wrote:
>
> I'm working on a hardware implementation (FPGA) of a lossless
> compression algorithm for a real-time application. The data will
> be fed in to the system, will then be compressed on-the-fly and
> then transmitted further.
>
> The average compression ratio is 3:1, so I'm gonna use some FIFOs
> of a certain size and start reading data out of the FIFO after a
> fixed startup-time. The readout rate will be 1/3 of the input
> data rate The size of the FIFOs is determined by the experimental
> variance of the mean compression ratio. Nonetheless there are
> possible circumstances in which no compression can be achieved.
> Since the overall system does not support variable bitrates a
> faster transmission is no solution here.
>
> So my idea was to put the question to all of you what to do in
> case of uncompressibility? Any ideas?


Bigger buffers. Smarter algos.

--
Chuck F (cbfalconer at maineline dot net)
<http://cbfalconer.home.att.net>
Try the download section.



--
Posted via a free Usenet account from http://www.teranews.com



CBFalconer
  Reply With Quote
Old 11-29-2007, 03:59 PM   #4
Denkedran Joe
 
Posts: n/a
Default Re: lossless compression in hardware: what to do in case of uncompressibility?
"CBFalconer" <> wrote:
>
> Bigger buffers. Smarter algos.
>


Ah okay, now that's why I'm here! Let's discuss some ideas of smarter algos!




Denkedran Joe
  Reply With Quote
Old 11-29-2007, 04:33 PM   #5
MikeShepherd564@btinternet.com
 
Posts: n/a
Default Re: lossless compression in hardware: what to do in case of uncompressibility?
>> Bigger buffers. Smarter algos

>Ah okay, now that's why I'm here! Let's discuss some ideas of smarter algos!


Let's not.

Instead, start here and study for a few weeks, then get back to us:

http://en.wikipedia.org/wiki/Lossless_data_compression


MikeShepherd564@btinternet.com
  Reply With Quote
Old 11-29-2007, 04:57 PM   #6
Phil Carmody
 
Posts: n/a
Default Re: lossless compression in hardware: what to do in case of uncompressibility?
"Denkedran Joe" <> writes:
> Hi all,
>
> I'm working on a hardware implementation (FPGA) of a lossless compression
> algorithm for a real-time application. The data will be fed in to the
> system, will then be compressed on-the-fly and then transmitted further.
>
> The average compression ratio is 3:1, so I'm gonna use some FIFOs of a
> certain size and start reading data out of the FIFO after a fixed
> startup-time. The readout rate will be 1/3 of the input data rate The size
> of the FIFOs is determined by the experimental variance of the mean
> compression ratio. Nonetheless there are possible circumstances in which no
> compression can be achieved. Since the overall system does not support
> variable bitrates a faster transmission is no solution here.
>
> So my idea was to put the question to all of you what to do in case of
> uncompressibility? Any ideas?



You will need to specify your data integrity contraints.
If your real-time constraints are soft, then big buffers
will make the problem less common, but not get rid of it
entirely. If you've got hard real time constraints, then
they won't, as the data will be stale before you've had
a chance to send it. Either way, you must be prepared to
throw some data away under some situations. The question
then becomes chosing what to throw away, and how to make
sure that the recipient can also cope with the lost data.

However, if you know something about your source data that
general purpose algorithms don't know, then perhaps you
can achieve a guaranteed compression ratio from a bespoke
algorithm. What's in your data?

Phil
--
Dear aunt, let's set so double the killer delete select all.
-- Microsoft voice recognition live demonstration


Phil Carmody
  Reply With Quote
Old 11-30-2007, 02:09 AM   #7
Jim Granville
 
Posts: n/a
Default Re: lossless compression in hardware: what to do in case of uncompressibility?
Denkedran Joe wrote:
> Hi all,
>
> I'm working on a hardware implementation (FPGA) of a lossless compression
> algorithm for a real-time application. The data will be fed in to the
> system, will then be compressed on-the-fly and then transmitted further.
>
> The average compression ratio is 3:1, so I'm gonna use some FIFOs of a
> certain size and start reading data out of the FIFO after a fixed
> startup-time. The readout rate will be 1/3 of the input data rate The size
> of the FIFOs is determined by the experimental variance of the mean
> compression ratio. Nonetheless there are possible circumstances in which no
> compression can be achieved. Since the overall system does not support
> variable bitrates a faster transmission is no solution here.
>
> So my idea was to put the question to all of you what to do in case of
> uncompressibility? Any ideas?


If you have cast this in concrete : "The readout rate will be 1/3 of the
input data rate" and you hit any compression case above 33.33%, then
you are dead in the water : something HAS to give - either discard data,
or take longer.
You can tolerate 'errant peaks' in the data compression,
by using larger buffers, but the _average_ must remain under 33.33% over
the buffer size.

-jg



Jim Granville
  Reply With Quote
Old 12-02-2007, 11:59 AM   #8
Hans-Peter Diettrich
 
Posts: n/a
Default Re: lossless compression in hardware: what to do in case of uncompressibility?
cms wrote:

> It isin't right to applicate lossless algorithms to fixed-bandwidth
> systems.


Depends on the algorithm. E.g. RLE will never cause an increase in size,
what's sufficient even for use with fixed-bandwidth channels.

DoDi


Hans-Peter Diettrich
  Reply With Quote
Old 12-02-2007, 12:28 PM   #9
Hans-Bernhard Bröker
 
Posts: n/a
Default Re: lossless compression in hardware: what to do in case of uncompressibility?
Hans-Peter Diettrich wrote:

> Depends on the algorithm. E.g. RLE will never cause an increase in size,


Wrong. It's trivially easy to prove that *no* lossless compression
algorithm can avoid to sometimes cause an increase in size, while still
compressing at least some inputs:

There are 2^N different inputs with N bits, and as long as one of them
is compressed by at least 1 bit, that means you have only 2^N-2 possible
outputs left to represent the remaining 2^N-1 inputs with --- impossible.

[F'up2 comp.compression, which is the only place this could possibly be
on-topic]


Hans-Bernhard Bröker
  Reply With Quote
Old 12-02-2007, 12:31 PM   #10
Pasi Ojala
 
Posts: n/a
Default Re: lossless compression in hardware: what to do in case of uncompressibility?
On 2007-12-02, Hans-Peter Diettrich <> wrote:
> Depends on the algorithm. E.g. RLE will never cause an increase in size


Even RLE can increase the size. Two of the most used methods to
incidate runs are 1) prefix byte, 2) two consequtive bytes are
the same. For both of these methods you can construct (or the
file sometimes happens to be) a file containing 1) the value
of the prefix byte 2) exactly two equal bytes.

Even if you use some other method of indicating the runs, you
can always constuct the pathological file that increases in size
after compression. This fact does not change depending on what
the compression algorithm is.

The best you can do is have one bit to select uncompressed/compressed.

followups set to comp.compression

-Pasi
--
"You're the type of guy who doesn't like to give up control."
-- Wade to Garibaldi in Babylon 5:"The Exercise of Vital Powers"


Pasi Ojala
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Juniper hardware license ipmiracle Hardware 0 01-23-2008 03:08 PM
High Definition and the future of viewing. Allan DVD Video 3 03-09-2005 12:56 AM
Divix hardware, experience...thoughts? Mook23 DVD Video 8 05-30-2004 04:32 AM
digfficult hardware diagnosis Frank A+ Certification 16 05-04-2004 05:41 PM
HD-DVD and DVD's future Phil Riker DVD Video 68 09-28-2003 09:32 PM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46