Data Compression R&D

I have a working version of an LZW demo program. (The program is slow as I have not implemented a hash table or tree for the dictionary, but that is OK as I am working on that now.) The compressor outputs codes that range from 10 bits to 15 bits (the bit length starts at 10 bits and increases as the program continues to operate and is not fixed). The program also decompresses the compressed files into a file that is identical to the original file that was first compressed.

The demo program was written in Visual Studio 2008 and has an MFC dialog-based front end.

I would like the output codes compressed with huffman encoding, and the subsequent huffman decoding added to the current decompression. This is similar to gzip, which uses Huffman to compress its output codes. The desired result is to get LZW at least close to the effectiveness of GZip.

## Deliverables

There is a user interface label that shows the compression percentage of the current LZW, and this will need to be updated with the compression percentage of the enhanced compression.

There will be a bonus for good additional compression past straight LZW. The intention is to get this close to GZip as LZW in general does not compress nearly as well as GZip.

Bonus Specifications:

Less than 10 percent improvement (average) compression - no bonus

[url removed, login to view] percent improvement (average) compression - $100.00 bonus

[url removed, login to view] percent improvement (average) compression - $250.00 bonus

[url removed, login to view] percent improvement (average) compression - $400.00 bonus

40 or more percent improvement (average) compression - $700.00 bonus

To benchmark the results, use the included files. This archive includes the Visual Studio 2008 project and ten sample files. An average of all ten files will be used to determine the effectiveness of the coding.

The additional compression ratio will be calculated with the following formula:

AdditionalCompressionRatio =

( ( StraightLZWSize - EnhancedLZWSize ) / StraightLZWSize) * 100

Included in the archive is a spreadsheet with target file sizes that meet the criteria. It will be an average of all file sizes. If there are files that are larger than the target file size but the average of all files meets the criteria, the target will have been met.

The additional compression layer should be added to the BitIO::WriteNextCode() and BitIO::ReadNextCode() methods. I can give more details once a bid has been accepted.

Habilidades: Arquitetura de software

Veja mais: tree range, r architecture, range tree, data front, bonus codes, bit tree, bit bits, i need a dictionary now, r-studio, r studio, R program, r d, r & d, gzip, data into r, data encoding, data compression, d tree, compression, coding decoding, data range, hash table dictionary, mfc hash table, tree data, decompression

Acerca do Empregador:
( 149 comentários ) Orlando, United States

ID do Projeto: #3038226

4 freelancers are bidding on average $223 for this job


See private message.

$255 USD in 7 dias
(74 Comentários)

See private message.

$255 USD in 7 dias
(42 Comentários)

See private message.

$127.5 USD in 7 dias
(8 Comentários)

See private message.

$255 USD in 7 dias
(1 Comentário)