PCM

From MultimediaWiki
Revision as of 23:53, 3 February 2006 by Multimedia Mike (talk | contribs) (PCM Parameters)
Jump to navigation Jump to search

PCM stands for pulse code modulation. In the context of audio coding PCM encodes an audio waveform in the time domain as a series of amplitudes.

PCM Parameters

PCM audio is coded using a combination of various parameters.

Resolution/Sample Size

This parameter specifies the amount of data used to represent each discrete amplitude sample. The most common values are 8 bits (1 byte), which gives a range of 256 amplitude steps, or 16 bits (2 bytes), which gives a range of 65536 amplitude steps. Other sizes, such as 12, 20, and 24 bits, are occasionally seen. Some king-sized formats even opt for 32 and 64 bits per sample.

Byte Order

When more than one byte is used to represent a PCM sample, the byte order (big endian vs. little endian) must be known. Due to the widespread use of little-endian Intel CPUs, little-endian PCM tends to be the most common byte orientation.

Sign

It is not enough to know that a PCM sample is, for example, 8 bits wide. Whether the sample is signed or unsigned is needed to understand the range. If the sample is unsigned, the sample range is 0..255 with a centerpoint of 128. If the sample is signed, the sample range is -128..127 with a centerpoint of 0. If a PCM type is signed, the sign encoding is almost always 2's complement. In very rare cases, signed PCM audio is represented as a series of sign/magnitude coded numbers.

Channels And Interleaving

Frequency And Sample Rate

Integer And Floating Point

PCM Types

Linear PCM

Logarithmic PCM

Platform-Specific PCM Identifiers And Characteristics

DOS/Windows

Microsoft WAV/AVI/ASF Identifiers

Apple Macintosh

Apple QuickTime Identifiers

Redbook CD Audio

Sega CD

Identifying PCM Data