| |
Error handling:
Prevention, Correction, and Concealment
As I've said earlier, the pits and lands in the CD track are incredibly
tiny -- only 0.5 microns wide, which is approximately the wavelength of
the pickup laser itself! Because they're so small and are passing by the
reading laser so quickly, it's easy for the pickup system to misread a
bit or two every once in a while, even under the best of conditions. Add
to the environment a bunch of fingerprints, a few dust-bunnies, and the
inevitable scratch here and there, and you've obliterated whole chunks
of data! It's easy to see that in the real world -- where audio engineers
routinely eat pizza over consoles, leave coffee rings on track sheets,
and leave CDs gathering moss on their hopelessly cluttered desks -- an
optical medium like compact disc would be useless without a way to gracefully
recover from errors caused by conditions like this. Audio CDs use a combination
of clever techniques to handle errors -- from little ones to really big
ones.
Parity checking
Parity bits are added to each frame, both prior to and after the
data is interleaved (more on interleaving in a minute). By checking the
parity bits, and comparing them to what the laser saw (or, at least thought
it saw), a CD player can tell if any bits were misread, which ones they
were, and what the correct value should have been.
Parity checking is good for catching small errors, but doesn't help if
there is a surface defect which covers enough of an area to wipe out the
parity bits themselves. Large errors which cause whole bunches of data
to go missing are called burst errors. That's where interleaving
takes over!
Interleaving
Imagine if you will a written page of, say, 40 lines. Let's also say that
someone took a bottle of White-Out and, dabbing letter by letter, obliterated
4 lines in the middle of the page. You now have a printed page of words,
only with a huge chunk missing.
As a reader, how likely are you to be able to reconstruct that missing
information in your brain? The fact is that your chances aren't very good.
Now, maybe that missing chunk of information isn't very important in the
context of what's being said. On the other hand, it could be crucial!
You might be able to gather the gist of the story without those lines;
and then again, you could be hopelessly lost. Whatever the case, the fact
remains that there's no way to reconstruct those missing lines word for
word.
Now take the same situation -- but first scramble the letters on
the page before dotting White-Out on the middle four lines, and then de-scramble
them afterward back to readable form. Note that the same amount of information
was obliterated. However, what's happened now is that the missing letters,
instead of being one contiguous chunk, are now scattered all over the
page. What you've got is the equivalent of a puzzle, like on the game
show Wheel of Fortune! Using contextual information and your knowledge
of the language, your chances of being able to fill in the missing information
are greatly improved. (And who knows... you might even win a trip to Cancun!
Um, okay, probably not.)
This is a simplified explanation of how interleaving works on a compact
disc. The information doesn't get written to the data track in the order
it appears, but instead the recorder first scrambles and shifts the original
data around so that it doesn't appear in sequential order on the CD. It
does this using an interleaving algorithm that the player understands,
so that the player can read the data one disc revolution at a time and
"de-interleave" the data on the fly during playback. If there
is a smudge of mozzarella on the CD (hey, you know who you are) that renders
a contiguous series of bits unreadable, those missing bits will be "scattered"
after the de-interleaving process. The player can then use algorithms
to help it figure out what the missing bits should have been.
Interleaving allows even larger errors to be corrected than with parity
alone. In fact, using parity checking and interleaving together, a good
player can correct a burst error of up to 4,000 bits or so. That's approximately
one inch of the spiral data track.
Quite often, a burst error (or a series of them) occurs which is even
too large for parity checking or interleaving to take care of. Interpolation
to the rescue!
Interpolation
Interpolation is exactly what it sounds like. When there's a lot
of data gone bye-bye, the player will figure out an "average"
based on some good bits that come before and after the bad bits, and then
substitute the average where the missing data should have appeared. Because
musical waveforms are pretty much continuous over the short run, the player
can usually do a good job of "connecting the dots" as it were.
Depending on how accurate the interpolation is, the result can be anything
from a totally transparent continuation in the audio signal to a slightly
audible glitch.
Interpolation isn't truly an error-correction technique, but is more accurately
an error "concealment" technique. Interpolation can conceal
errors of about 13,500 contiguous bits, which is about 3 milliseconds
or so of audio.
Muting
CIRC encoding is an incredibly effective process, reducing the error rate
on an audio CD to about 1 uncorrectable bit in 1,000,000,000. Add interpolation
to that, and what you have is a very robust medium indeed!
Despite all of this, however, there can be burst errors too large for
even CIRC and interpolation to fix. When all else fails and a player encounters
an error it can't handle, it will simply mute the output for a
fraction of a second. To avoid a pop or glitch, the player actually does
an extremely fast "fade-out-fade-in" to cover things up.
It's interesting to note that, despite the complex error-correction methods
used by audio CDs, error-correction on CD-ROMs (data or "Yellow Book"
CDs) is even more complex! This is because while an unrecoverable
error on a audio CD might at worst result in an annoying skip during playback,
a similar error on a CD-ROM might corrupt a crucial data file, which could
easily render an entire software package useless. Of course, the more
robust error-correction technology required by CD-ROM takes a lot more
room to encode as well. So, if you've ever wondered why a recordable CD
can hold 74 minutes of digital audio (which is over 783 megabytes in size)
but only 650 megabytes of CD-ROM data, now you know why.
Go
to Page 5; Back to TOP
|