Patent ID: 7549113

Claim:
A turbo decoder for dividing turbo encoded code data into first to N-th (N is an integer being two or more) sub-code blocks and for performing decoding processing on the sub-code blocks in parallel with each other, said turbo decoder comprising: an a priori initialization processing unit that outputs initial values to be used for calculating path metric values in forward and backward directions in each of said sub-code blocks, wherein said a priori initialization processing unit comprises, a first initialization processing stage in which, in each of the first to the N-th sub-code blocks, path metric values in the forward and the backward directions each are calculated using a preset initial value, and second to a K-th (K is an integer being two or more) initialization processing stages in which, in each of said subcode blocks excluding the first subcode block in each of the second to K-th initialization processing stages, a path metric value in the forward direction is calculated by using a final calculated value of the path metric value in the forward direction in a preceding subcode block in a preceding initialization processing stage as an initial value and, in each of said subcode blocks excluding the N-th subcode block, a path metric value in the backward direction is calculated by using a final calculated value of the path metric value in the backward direction in a following subcode block in the preceding initialization processing stage as an initial value; N decoding units each corresponding to a respective one of said N subcode blocks, said N decoding units each performing simultaneously the decoding processing on the corresponding sub-code blocks based on a corresponding input from said a priori initialization processing unit, the corresponding input comprising final calculated values of the path metric values in the forward and backward directions in the corresponding sub-code block in the K-th initialization processing stage; and a decoder output section connected to said decoding units that outputs a decoded result usable in one of a communication system and an information processing system.