Trellis encoding and Viterbi decoding