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