Huffman encoder/Decoder For Text data compression

K

kude

Guest
Huffman encoder/Decoder For Text data compression

Hi All,
I am working on Huffman Encoder/Decoder for text
compression/Decompression.And here are the things not clear for me.
1.How can I give text input (Whole text once) to the FPGA.
2.When I encode the data the output code length is not fixed and how can I

manage this with constant I/O pins of the FPGA.
3.When Encoding the text I have to use heaps,Sort and mearge but this
things
are not synthesizable in FPGA

thanks in advance

---------------------------------------
Posted through http://www.FPGARelated.com
 
On Nov 20, 8:57 am, "kude"
<tadmas09@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
Huffman encoder/Decoder For Text data compression

Hi All,
  I am working on Huffman Encoder/Decoder for text    
  compression/Decompression.And here are the things not clear for me.
1.How can I give text input (Whole text once) to the FPGA.
2.When I encode the data the output code length is not fixed and how can I

  manage this with constant I/O pins of the FPGA.
3.When Encoding the text I have to use heaps,Sort and mearge but this
things  
  are not synthesizable in FPGA

    thanks in advance      

---------------------------------------        
Posted throughhttp://www.FPGARelated.com
There are some publicly available JPEG compression cores if I'm not
mistaken. Part of the core is a Huffman encoder. You might want
to check this out to see how it can be done.

I have worked on a JPEG compression core, but only to optimize it
to meet timing, so I'm not up on all the details. However I remember
that at one point in the interface the data path had to become very
wide to handle the worst case expansion, and then there is a lot
of shifting and packing that grabs the required bits from the wide
path. The latter was a part I worked on extensively, and it
required a lot of pipelining to meet timing.

Regards,
Gabor
 
kude <tadmas09@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
Huffman encoder/Decoder For Text data compression

I am working on Huffman Encoder/Decoder for text
compression/Decompression.And here are the things not clear for me.
1.How can I give text input (Whole text once) to the FPGA.
Usually clocked in a byte at a time, but for speed could be
multiple bytes in parallel at a time.

2.When I encode the data the output code length is not fixed
and how can I manage this with constant I/O pins of the FPGA.
Again, clocked out one byte or some other number of bits, at
a time. Probably an enable output and a done (EOF) output.

3.When Encoding the text I have to use heaps,Sort and mearge
but this things are not synthesizable in FPGA
There are ways to do sorts. Well, there are a few different
ways to do Huffman. One is with a static table based on the
usual probabilities. That is what Group 3 fax uses. I believe
another is to adapt as you go along, maybe recomputing every
so often, and having the decoder do the same. Otherwise, you
have to go through the whole file, compute the table, then
go through again.

-- glen
 

Welcome to EDABoard.com

Sponsor

Back
Top