Seriously, encoders take on many forms. Can be as simple as Morse code all the way up to Walsh code. Each encoding scheme requires its own hardware setup. Your question is to vague to really give a good answer.
Google Codec. That includes a encoder and a decoder using compression. Is that what you want?
Look up Markov, this requires a good bit of math. Shannon coding or Viterbi coding is also pretty good.