1. A method of improving the efficiency of decoding convolutional encoded data in Viterbi decoders, comprising: setting a transition cost to non-negative values in a range 0 to M, where M is the maximum cost that is obtained in K steps where K is the number of memory bits in the convolutional encoded data; and allocating N bits per cumulative path cost where (2^(K+1)*M)âˆ’1<2^Nâˆ’1.