To facilitate parallel decoding processing on variable-length coded data.
One code data 100 is divided into two parts and decoded in parallel by two decoders. The first decoder starts decoding from the top of the code data 100. The second decoder starts decoding from a starting point A1 in the middle of the code data 100. If decoding is failed, decoding is started again from other starting points A2, A3, .... Thus, a starting point A5 when the second decoder completes decoding to the end of the code data 100 without fail, is reported to the first decoder as a successful point. The first decoder performs decoding to successful point A5. Decoding results of the first decoder and the second decoder are then combined to obtain a decoding result corresponding to the overall code data.
Jun Ishida