Como dice Enan0, si quieres escribir tu propio algoritmo tal vez te resulte de muchísima utilidad bucar en google con estos términos:
- Códigos de Huffman
- LZ77
- LZSS
- LZRW1
- LZ78
- LZW
- LZJH
Ahora, si no tienes mucha noción de esos algoritmos, te recomiendo revisar los links de esta búsqueda realizaba en
google ![Wink](http://www.clubdelphi.com/foros/images/smilies/wink.gif)