JPEGs are lossy because of the quantization step. You can do it without
the quantization step and still notice a significant compression. If
you preload your quantization constants and Huffman codes into lookup
tables, you can easily process one pixel per clock cycle in a 1500 gate
FPGA. I wrote a fully piplelined version that queued up the first eight
rows of an incoming image into block ram before starting on the DCTs.
It worked great. Ideally you would do DCTs on blocks larger than 8x8,
but the advantage to 8x8 is that you can easily do 64 8bit operations
in parallel which is nice for the Z-ordering, etc. Bigger squares
require bigger chips and external memory, and as soon as you have to go
to external memory you lose your pipelining.
Hi Pete,
I want the compression to be lossless and not based on perceptional
irrelevancy reductions. By stating 1 kb I meant 1024 bits and that's just
about half the line data. Your recommendation "1d predictor, non-linear
quantizer and entropy coder" sound interesting. COuld you please elaborate
on that? How is it done? Where can I find some exemplary codes? How can it
be achieved with hardware (VHDL sources?)
Hello community,
...
What "standard" compression schemes would you recommend? Are there
potentialities for a non-standard "own solution"?
Thank you for your comments.
Regards, Melanie
Because of the high data rate I cannot spend much time on DFT or DCT
and on data modelling. What I am looking for is a way to compress
the pixel data in spatial not spectral domain because of latency
aspects, processing complexity, etc. Because of the sequential data
transmission line by line a block matching is also not possible in
my opinion. The compression ratio is not so important, factor 2:1
would be sufficient. What really matters is the real time
capability. The algorithm should be pipelineable and fast. The
memory requirements should not exceed 1 kb.
Hello community,
I am thinking about implementing a real-time compression scheme on an FPGA
working at about 500 Mhz. Facing the fact that there is no "universal
compression" algorithm that can compress data regardless of its structure
and statistics I assume compressing grayscale image data. The image data
is delivered line-wise, meaning that one horizontal line is processed,
than the next one, a.s.o.
Because of the high data rate I cannot spend much time on DFT or DCT and
on data modelling. What I am looking for is a way to compress the pixel
data in spatial not spectral domain because of latency aspects, processing
complexity, etc. Because of the sequential data transmission line by line
a block matching is also not possible in my opinion. The compression ratio
is not so important, factor 2:1 would be sufficient. What really matters
is the real time capability. The algorithm should be pipelineable and
fast. The memory requirements should not exceed 1 kb.
What "standard" compression schemes would you recommend? Are there
potentialities for a non-standard "own solution"?
Thank you for your comments.
Regards, Melanie
Hello community,
I am thinking about implementing a real-time compression scheme on an FPGA
working at about 500 Mhz. Facing the fact that there is no "universal
compression" algorithm that can compress data regardless of its structure
and statistics I assume compressing grayscale image data. The image data
is delivered line-wise, meaning that one horizontal line is processed,
than the next one, a.s.o.
Because of the high data rate I cannot spend much time on DFT or DCT and
on data modelling. What I am looking for is a way to compress the pixel
data in spatial not spectral domain because of latency aspects, processing
complexity, etc.
Because of the sequential data transmission line by line a block matching
is also not possible in my opinion. The compression ratio is not so
important, factor 2:1 would be sufficient. What really matters is the real
time capability. The algorithm should be pipelineable and fast. The memory
requirements should not exceed 1 kb.
What "standard" compression schemes would you recommend? Are there
potentialities for a non-standard "own solution"?
Thank you for your comments.
Regards, Melanie
"Melanie Nasic" <quinn_the_esquimo@freenet.de> wrote in message
news:do9206$1m4$1@mamenchi.zrz.TU-Berlin.DE...
Hello community,
I am thinking about implementing a real-time compression scheme on an
FPGA working at about 500 Mhz. Facing the fact that there is no
"universal compression" algorithm that can compress data regardless of
its structure and statistics I assume compressing grayscale image data.
The image data is delivered line-wise, meaning that one horizontal line
is processed, than the next one, a.s.o.
Because of the high data rate I cannot spend much time on DFT or DCT and
on data modelling. What I am looking for is a way to compress the pixel
data in spatial not spectral domain because of latency aspects,
processing complexity, etc.
Are you hoping for lossless, or is lossy OK?
Because of the sequential data transmission line by line a block matching
is also not possible in my opinion. The compression ratio is not so
important, factor 2:1 would be sufficient. What really matters is the
real time capability. The algorithm should be pipelineable and fast. The
memory requirements should not exceed 1 kb.
That's 1024 bits, or bytes?
Is it enough for one line?
You don't say what your resolution and frame rate are.
What "standard" compression schemes would you recommend? Are there
potentialities for a non-standard "own solution"?
If you don't have a line of storage available, that restricts you a lot.
I don't understand this though. If you're using a 500MHz FPGA, it's
presumably recent, and presumably has a decent amount of storage.
How about a 1d predictor, non-linear quantizer and entropy coder?
If you have more memory available, look at JPEG-LS.
It can do lossless, or variable mild degrees of loss.
Thank you for your comments.
Regards, Melanie
Hello community,
I am thinking about implementing a real-time compression scheme on an
FPGA working at about 500 Mhz. Facing the fact that there is no
"universal compression" algorithm that can compress data regardless
of its structure and statistics I assume compressing grayscale image
data. The image data is delivered line-wise, meaning that one
horizontal line is processed, than the next one, a.s.o. Because of
the high data rate I cannot spend much time on DFT or DCT and on data
modelling. What I am looking for is a way to compress the pixel data
in spatial not spectral domain because of latency aspects, processing
complexity, etc. Because of the sequential data transmission line by
line a block matching is also not possible in my opinion. The
compression ratio is not so important, factor 2:1 would be
sufficient. What really matters is the real time capability. The
algorithm should be pipelineable and fast. The memory requirements
should not exceed 1 kb. What "standard" compression schemes would
you recommend? Are there potentialities for a non-standard "own
solution"?
Thank you for your comments.
Regards, Melanie
Hello community,
I am thinking about implementing a real-time compression scheme on an FPGA
working at about 500 Mhz. Facing the fact that there is no "universal
compression" algorithm that can compress data regardless of its structure
and statistics I assume compressing grayscale image data. The image data is
delivered line-wise, meaning that one horizontal line is processed, than
the next one, a.s.o.
Because of the high data rate I cannot spend much time on DFT or DCT and on
data modelling. What I am looking for is a way to compress the pixel data in
spatial not spectral domain because of latency aspects, processing
complexity, etc. Because of the sequential data transmission line by line a
block matching is also not possible in my opinion. The compression ratio is
not so important, factor 2:1 would be sufficient. What really matters is the
real time capability. The algorithm should be pipelineable and fast. The
memory requirements should not exceed 1 kb.
What "standard" compression schemes would you recommend?
Are there potentialities for a non-standard "own solution"?
Users browsing this forum: No registered users and 0 guests