Pulse Code Modulation (PCM) is a digital representation of an analog signal.
The signal is sampled at a sampling frequency fs. This means the value of the signal, a sample, is captured at uniform distances T (= 1/fs). Every sample is quantized to a series of symbols in a code in which there are a discrete number of possible symbol values. Where the number of possible values is two, the code is said to be a binary code.
Differential (or Delta) Pulse Code Modulation (DPCM) encodes the PCM values as differences between the current and the previous value. For audio this type of encoding reduces the number of bits required per sample compared to PCM by about 25%. A variant of DPCM, Adaptive DPCM (ADPCM) varies the size of the quantization step, to allow futher reduction of the required bandwidth for a given signal-to-noise ratio.
Pulse code modulation can be either Return to Zero (RZ) or Non Return to Zero (NRZ). For a NRZ system to be synchronized using in-band information, there must not be long sequences of identical symbols, such as ones or zeroes. For binary PCM systems, the density of 1-symbols is called 'ones-density'.
Ones-density is often controlled using precoding techniques where the PCM code is expanded into a slightly longer code with a guaranteed bound on ones-density before modulation into the channel. In other cases, extra 'framing' bits are added into the stream which guarantee at least occasional symbol transitions.
Another technique used to control ones-density is the use of a 'scrambler' polynomial on the raw data which will tend to turn the raw data stream into a stream that looks pseudo-random, but where the raw stream can be recovered exactly by reversing the effect of the polynomial. In this case, long runs of zeroes or ones are still possible on the output, but are considered unlikely enough to be within normal engineering tolerance.
In other cases, the long term DC value of the modulated signal is important, as building up a DC offset will tend to bias detector circuits out of their operating range. In this case special measures are taken to keep a count of the cumulative DC offset, and to modify the codes if necessary to make the DC offset always tend back to zero.