The act of adding redundancy to a message so that errors in transmission can be detected, and sometimes corrected, from the received message alone. The opposite of error-correcting coding is compression.