During decoding and processing of program clock reference (PCR) values in
MPEG-2 transport streams, a first initial difference value is obtained by calculating
a difference between a first detected PCR value and a system time clock (STC) value
generated when the first PCR value is detected. Depending on the update status
of the PCR values, a second initial difference value is obtained by calculating
a difference between a second detected PCR value and a STC value generated when
the second PCR value is detected. Thereafter, a composite difference value is obtained
by further calculating a difference between the first initial difference value
and the second initial difference value. Subsequently, the first and second initial
difference values, and the composite difference values are calculated for a predetermined
number of detected PCR values so that the decoder clock signal is generated and
maintained at approximately the same frequency as an encoder clock signal.