CMU Artificial Intelligence Repository
CELP: FS-1016 Code Excited Linear Prediction coder
areas/speech/systems/celp/
CELP is a lossy compression algorithm used for low bit rate (e.g.,
4800 bps in U.S. Fed-Std-1016) speech coding. CELP stands for "code
excited linear prediction". CELP coding, at 4800 bps, breaks the
performance barrier of most Government standards, providing Consortium
ratings of "very good" intelligibility and "excellent" quality,
comparable to 32,000 bps CVSD.
Like all vector quantization techniques, CELP coding is a
frame-oriented technique that breaks a sampled input signal into
blocks of samples (i.e., vectors) that are processed as one unit.
CELP coding is based on analysis-by-synthesis search procedures,
perceptually weighted vector quantization (VQ), and linear prediction
(LP). A 10th order LP filter is used to model the speech signal's
short-term spectrum, or formant structure. Long-term signal
periodicity, or pitch, is modeled by an adaptive code book VQ. The
residual from the short-term LP and pitch VQ is vector quantized using
a fixed stochastic code book. The optimal scaled excitation vectors
from the adaptive and stochastic code books are selected by minimizing
a time varying, perceptually weighted distortion measure that improves
subjective speech quality by exploiting masking properties of human
hearing.
The CELP coder's computational requirements are dominated by the two
code book searches. The computational complexity and speech quality
of the coder depend upon the search sizes of the code books. Any
subset of either code book can be searched to fit processor
constraints, at the expense of speech quality.
Fed-Std-1016 uses an 8 kHz sample rate and a 30 ms frame size with
four 7.5 ms subframes. CELP analysis consists of three basic
functions: 1) short-term linear prediction, 2) long-term adaptive code
book search, and 3) innovation stochastic code book search. CELP
synthesis consists of the corresponding three synthesis functions
performed in reverse order with the optional addition of a fourth
function, called a postfilter, to enhance the output speech. The
transmitted CELP parameters are the stochastic code book index and
gain, the adaptive code book index and gain, and 10 line spectral
parameters (LSP).
This directory contains the U.S. DoD's Federal-Standard-1016 based
4800 bps code excited linear prediction voice coder version 3.2
(CELP 3.2) Fortran and C simulation source codes. Example input and
processed speech files are included.
[Not really AI, but included for completeness relative to
comp.speech. --mark]
See Also:
areas/speech/systems/lpc/
areas/speech/systems/ldcelp/
Origin:
super.org:/pub/celp_3.2a.tar.Z [192.31.192.1]
Version: 3.2a (3-AUG-93)
Requires: C or Fortran
Ports: Tested on a Sun4 (SunOS 4.1.3)
Copying: Worldwide distribution permitted.
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Author(s): Joe Campbell
or <74040.305@compuserve.com>
Very limited support is available from the authors. Please do not
send questions or suggestions without first reading the documentation
(README files, the Technical Information Bulletin, etc.).
Contact: Joe Campbell
Department of Defense
Craig F. Reese
IDA/Supercomputing Research Center
Keywords:
Authors!Campbell, C!Code, CELP,
Code Excited Linear Prediction, Fortran!Code,
Linear Prediction, Speech Coding, Speech Compression,
Vector Quantization
References:
Technical Information Bulletin (TIB), "Details to Assist in
Implementation of Federal Standard 1016 CELP", is available through
the National Technical Information Service: NTIS, U.S. Department of
Commerce, 5285 Port Royal Road, Springfield, VA 22161, USA, (phone:
703-487-4650/4600).
The following articles describe the Federal-Standard-1016 4.8-kbps CELP
coder (it's unnecessary to read more than one):
Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch,
"The Federal Standard 1016 4800 bps CELP Voice Coder," Digital Signal
Processing, Academic Press, 1991, Vol. 1, No. 3, p. 145-155.
Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch,
"The DoD 4.8 kbps Standard (Proposed Federal Standard 1016),"
in Advances in Speech Coding, ed. Atal, Cuperman and Gersho,
Kluwer Academic Publishers, 1991, Chapter 12, p. 121-133.
Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch, "The
Proposed Federal Standard 1016 4800 bps Voice Coder: CELP," Speech
Technology Magazine, April/May 1990, p. 58-64.
The U.S. DoD's Federal-Standard-1015/NATO-STANAG-4198 based 2400 bps
linear prediction coder (LPC-10) was republished as a Federal
Information Processing Standards Publication 137 (FIPS Pub 137).
It is described in:
Thomas E. Tremain, "The Government Standard Linear Predictive Coding
Algorithm: LPC-10," Speech Technology Magazine, April 1982, p. 40-49.
There is also a section about FS-1015 in the book:
Panos E. Papamichalis, Practical Approaches to Speech Coding,
Prentice-Hall, 1987.
The voicing classifier used in the enhanced LPC-10 (LPC-10e) is
described in:
Campbell, Joseph P., Jr. and T. E. Tremain, "Voiced/Unvoiced
Classification of Speech with Applications to the U.S. Government
LPC-10E Algorithm," Proceedings of the IEEE International Conference
on Acoustics, Speech, and Signal Processing, 1986, p. 473-6.
Copies of the official standard "Federal Standard 1016,
Telecommunications: Analog to Digital Conversion of Radio Voice by
4,800 bit/second Code Excited Linear Prediction (CELP)" are available
for $5.00 each from GSA Federal Supply Service Bureau, Specification
Section, Suite 8100, 470 E. L'Enfant Place, S.W., Washington, DC
20407, 1-202-755-0325.
Last Web update on Mon Feb 13 10:28:22 1995
AI.Repository@cs.cmu.edu