Quote:
Originally posted by Andre Wiethoff
No, in fact usually the drives repeat the last valid sample (otherwise there would be always a click, as there would be a change of sound pressure)...
When valid samples occur afterwards, usually a linear interpolation is done from that sample to the valid sample...
|
To clarify, there are two 'standard' patterns for interpolation:
Linear, and
hold.
For linear, the assumption is that there is one errored sample with both the preceeding and following samples being correct. In this case the errored value is replaced by a linear interpolation, that is, the value of the preceeeding sample added to following sample divided by 2 (and rounded down if memory serves). This gives the characteristic straight line of three samples.
In this example the samples are 12, 34, 45, 08, 57, 63 where the sample of value 08 is bad, all other samples are good. The interpolated output will be 12, 34, 45, 51, 57, 63.
The hold interpolation is where there are 2 or more consecutive errored samples. In this case the last good value is held in subsequent samples up till and including the second last bad sample, the value for the last bad sample is the linear interpolation between the held value and first good value.
In the following example the sample values are 12, 14 ,16,34,76, 01, 20, 22, where the values 34, 76 and 01 are bad samples. In this case the interpolated output would be
12, 14, 16, 16, 16, 18, 20, 22.
Actually the linear interpolation is a just a variation of the hold but it is easier to treat them separately. Phillips tried very hard to keep everything to a linear interpolation (much of the interleaving is arranged to increase the linear interpolation region as much as possible - to 48 frames +2symbols to be precise) as the hold interpolation produces considerable high frequency hash ( a sort of zinging sound). Most good high fidelity players actually reinterpolate hold interpolations using much more complex schemes to reduce the hash. CDROMs appear to stick to the simple hold scheme so they are much noisier on damaged disks.
Muting occurs where the error rate gets so high that interpolation is considered not good enough. Exactly what this threshold is I have no idea but I expect it is up to the manufacturer to decide. Mutes are usually measures in 10ths of a second so they are massive. Also, to stop click caused by dropping the output from whjere it is to zero, the players implement an interpolation shceme. In early Phillips players, the interpolation to a mute was 5 frames or 30 samples fro nt elast good value to zero. Although my Ricoh does interpolate data at the ATAPI interface it does not seem to mute - most strange.
One interesting result is to look at what happens with linear interpolation using non C2 detection. A simple example with a couple of big assumptions. Lets have a rip returning a single isolated bad sample. Assumption 1, lets assume that the drive returns the correct value more often than the incorrect ones. for example, the correct value is say 26, for 8 reads, it returns the following values:
26, 28, 45, 42, 26, 78, 26, 41.
Assumption2 - we have two choices, the drive interpolates bad samples or it returns the bad samples unchanged. For illustration based on the surrounding good samples, the interpolated value would be 32.
So if the drive returns interpolated data to the ATAPI interface, the actual output will be:
26, 32, 32, 32, 26, 32, 26, 32.
Assumption3 - let us use a simple majority voting logic to determine which value is correct. If the drive does not interpolate, the results would be 3 votes for 26 and 1 vote for everything else, thus the winner is 26 - the correct value. If the drive interpolates it will be 3 votes for 26 and 5 votes for 32. 32 wins - the wrong value.
Most interesting
If the drive interpolates, you could use the following, if the drive returns differing values for the same sample, determine if it returns only 2 values, if so determine if one and only one value is a linear interpolation, if it is the other value is correct. In reality it is not that easy, there are lots of scenarios that would have to be covered.
Of course with accurate C2 there is no problem, it can be used to validate each returned sample. I assume this is how Plextools gets its results.
Regards,
Bob