The MPEG Layer 3 Compression Standard
Over the last few years, new data
compression technologies have made it possible to compress digital
audio and video by a factor 10 or more. One of the most popular
compression standards is the MPEG standard, which compresses video
and audio data. MPEG Layer 3 is, also known as MP3, is the MPEG
standard currently used for compressing audio data and is by far the
most popular format for compressed music and other audio files. The
MP3 compression scheme is fairly complex and includes a number of
compression algorithms, but essentially it removes all parts of the
sounds that are less likely to be percepted by human ears. For
example, if there's a loud drum you probably won't hear a person
whispering in the background, and consequently the whispering person
can be removed without much difference in percepted quality. The
result is similar to an oil painting where most of the pencil strokes
are used to paint the foreground objects that are likely to catch
your attention.
MP3 Audio streams and buffering
Like most popular compression
technologies, MP3 is fairly complicated in terms of the number of
calculations needed to turn your MP3 files back into music. Unlike
other many other compression algorithms though, you usually expect to
hear the result as soon as you select a new file. To make this
possible, mp3 decoders uses a technique known as streaming, which
means that the CPU will decode the mp3 file on the fly. Since modern
computers can usually decode mp3 audio streams much faster than you
can listen to them, this is rarely a problem. To ensure that the song
will continue to play even when mp3 software is interrupted for a
brief period time (This happens many times per second in a
multitasking OS like Windows.), the mp3 decoder usually works a
little faster than the playback speed and buffers the audio data that
will be played within the next few seconds. Although this buffer is
long enough to remove most gaps and jumps, it is still a possible in
Windows for some other program to use the CPU for more than a few
seconds. For example, when you start a large and complex program like
Word or plays a game there might not be enough CPU time left for the
MP3 decoder to keep the audio buffer filled, resulting in a buffer
underrun error. This often causes the MP3 player to skip a few
kilobytes of audio data, or to stop playing for a few milliseconds.
The result can be some very annoying gaps and jump or loud clicks in
the music (If you skip a part of a digitally sampled continuous sound
wave, you will get a discrete jump which sounds like a loud, high
frequent clicking noise to human ears)
Avoiding gaps and noises
Most operating systems that
support multitasking, also assigns different priorities to different
tasks, so that you can tell the system which tasks are more
important. Windows is no exception and, even though many users are
not aware of this, you can assign different priorities to different
processes in Windows 98 as well as Windows XP and Windows 2000 if you
have the right tools. WinTasks 4 will not only help you change the
priority of any process, but it will also give you valuable
information on system processes and other processes to help you
decide what to modify without crashing the system. This information
can also be very useful when tracking down a specific problem.
Sometimes you may also have to terminate some unnecessary processes
to free up other resources like memory, but assigning the right
priorities will usually be sufficient. If you are running Windows NT,
2000 or XP, WinTasks will give you detailed logs on the CPU and
memory usage for each process during the last 24 hours. This
information is often critical when you want to optimize your system
to run smoothly for longer periods of time.
Things to consider when you are
having problems playing mp3 files:
1. If the computer has been
running for a very long time, reboot it to make sure the system is
completely stable.
2. Assign a higher priority to
the MP3 player process, and if there are other processes running at a
high priority that requires a lot of CPU time, lower their priorities
to normal. I recommend using WinTasks to help you decide exactly
which processes to modify without causing stability problems. Since
WinTasks assigns user friendly names to most processes, it will also
be a lot easier to actually find the process you are locking for.
3. Terminate all programs that
aren't absolutely necessary. You will be surprised by the number of
processes running in the backgroung on most systems, consuming
valuable resources. Try creating a WinTasks preset so that you won't
have to repeat this step every time you reboot. Or if you have
WinTasks 4 Professional you could use the WinTasks autostart feature
to permanently remove any unwanted processes.
4. Make sure you have the latest
drivers installed for your sound card. Drivers can usually be found
at the manufacturers web site.
5. Defrag your hard drive to
improve access times, or if you are playing MP3s from a CD, make sure
you have the latest drivers and the correct settings for your CD drive.
Of course, don't forget to get a
good, fast MP3 player that is optimized for the latest processors.
Written by Emil Malmberg, Senior
Software Developer for LIUtilities
|