Concealment strategies

I have a couple of CDS200 protected CDs that I want to backup, such discs are obviously full CUs that I want to conceal on the copy to avoid intentional clics and pops, making use of c2 pointers and maybe linear interpolation, is it the best way to conceal them?

What do standalones do?

I’ve heard of sample repeating, muting and I’m a bit confused.

1000 thanks in advance.

Sorry… I was a bit lazy so maybe problem is not clear.

What I’m searching for are actually real life uncorrectable error concealment techniques (yes, the ones used on consumer audio CD players).

Thanks to spath for unbanning IpseDixit (and for his help with this issue).

Hey bud,

I think that players can use mute, hold or average. Mute would zero out the error which would likely be heard if during audible audio. Hold would just repeat the previous good sample for the duration of the bad samples. Average would need a ‘look ahead buffer’ so that it could average the good samples on each side of the bad samples. Not sure which is the most common though. Good luck finding out.

Thanks Rich, w ell I hope you’re doing… :wink:

I’ve heard about such strategies before, I paid for an AES (Audio Engineering Society) paper, where a chipset from Matsushita (Panasonic, Technics) uses a different concealment technique according to the error pattern. Seems mute and hold are easy to implement, but I’m not so sure about averaging… I know there’s a mean value interpolation, me and Truman know how to apply it to a 3 sample secuence when middle sample is located by a C2 pointer, but not so sure what (and how) to do when more than one consecutive sample is corrupted and I don’t have clues on “look ahead” buffer’s optimal size. What (and how) when there are two error patterns close to each other with sane samples inbetween?

In 2002, I checked the error concealment ability of my drives and CD player. Here is the result : http://perso.numericable.fr/~laguill2/dae/interpolation/interpolation.htm

I saw the CD-ROM drives tested use this method :

Hold the value of the last good sample until the sample prior the last bad one.
Give the last bad sample the average value between the held value and the first good sample after the error.

The CD player (from 1991) applied a similar method, exept that the holding was done until the 9th sample before the next good one. Then, the 8 last samples of the error undergo a linear interpolation between the held value and the next good sample.

In order to get the best from some CDS200 CDs, you need a drive with good error correction ability. In my test (homepage : http://perso.numericable.fr/~laguill2/dae/dae.htm ), it would be the Teac e540, because it corrects up to 4 C2 errors per frame, and it does not flag the whole C1 frame as uncorrectable when it can’t get it right (that what I called “use of EFM”, though I don’t know if this is right). But this drive have another problem, it sometimes slightly offsets several seconds of audio, and, the transition occuring in the middle of the wav file, this is very audible.

However, I’ve noticed recently some CDS200 CDs that are plagued with many errors not being just mastered C2 errors. No way to get the same data twice from them. They produce annoying audible clicks even in my hi-fi player.
Looking closely at what’s happening, I discovered that these clicks are not CU errors. They are missing blocks !

Looking at the waveform, it is interleaved with itself for a short time, the data alterning samples from time t with samples from time t+6, then is goes on properly, but offsetted 6 samples backwards ! One full block of data was omitted.
Reading a second time, the missig block was there, but other blocks were missing at other places. There is something in this system that makes drives miss blocks. They probably have tampered with the synchro headers of the blocks.

The easiest way to deal with this problem is to ask EMI for a correct version of the CD.

Thanks to Hernandez, some infos about the missing frames : http://www.freepatentsonline.com/6839312.html?highlight=6839312

See http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-130.pdf
Section 22, and 19.1 for the definition of S0 and S1