A new data compression algorithm for sources with memory based on error correcting codes