Patent ID: 7089482

Claim:
A data reproduction device reproducing data from a recording medium including: a sampling part sampling a reproduced signal in a form of a partial response waveform from the recording medium at a predetermined period; and a decoding part in conformity to Viterbi decoding, receiving the sampled signal, calculating a branch metric value on the basis of an expected value determined by the partial response waveform and the sampled value, calculating a path metric value based on the branch metric value, selecting a path corresponding to a transition status of the data on the basis of comparison of the path metric values, and reproducing the data in accordance with the selected path; the decoding part further includes: a reliability calculation part calculating a reliability of the selected path based on the path metric values being compared in selecting the path; a first candidate data generation part for generating first candidate data based on the selected path using a predetermined rule; an inverted candidate detection part selecting as an inverted candidate the path of which the reliability calculated in said reliability calculation part is less than a predetermined value among the selected paths corresponding to the first candidate data; an inverted-selected path generation part receiving the selected path and the inverted candidate selected by said inverted candidate detection part, selecting and modifying the selected path corresponding to the inverted candidate so as to produce a inverted-selected path that is an inverted version of the selected path, and outputting a number of the inverted-selected paths in parallel, said number corresponding to a number of the inverted candidates selected for the selected path of a predetermined data length; a second candidate data generation part generating second candidate data from the inverted candidate output from said inverted-selected detection part using said predetermined rule and outputting said generated second candidate data in parallel; a error detection part detecting any errors present in the first and the second candidate data in accordance with a predetermined error detecting; and a data selection part selecting between the first and the second candidate data based on the error detecting results from said error detection part.