org.xiph.speex

Class NbCodec

Implemented Interfaces:
Codebook
Known Direct Subclasses:
NbDecoder, NbEncoder, SbCodec

public class NbCodec
extends java.lang.Object
implements Codebook

Narrowband Codec. This class contains all the basic structures needed by the Narrowband encoder and decoder.
Version:
$Revision: 1.2 $
Author:
Marc Gimpel, Wimba S.A. (mgimpel@horizonwimba.com)

Field Summary

static int[]
NB_FRAME_SIZE
The Narrowband Frame Size gives the size in bits of a Narrowband frame for a given narrowband submode.
static int
NB_SUBMODES
The Narrowband Submodes gives the number of submodes possible for the Narrowband codec.
static int
NB_SUBMODE_BITS
The Narrowband Submodes Bits gives the number bits used to encode the Narrowband Submode
static float
VERY_SMALL
Very small initial value for some of the buffers.
protected float[]
awk1
Gain of LPC filter at theta=pi (fe/2)
protected float[]
awk2
Gain of LPC filter at theta=pi (fe/2)
protected float[]
awk3
Gain of LPC filter at theta=pi (fe/2)
protected int
bufSize
LPC order
protected int
dtx_enabled
protected float[]
excBuf
protected int
excIdx
Excitation buffer
static float[]
exc_gain_quant_scal1
static float[]
exc_gain_quant_scal3
protected Filters
filters
protected int
first
Activated sub-mode
protected int
frameSize
Is this the first frame?
protected float[]
frmBuf
1-element memory for pre-emphasis
protected int
frmIdx
Input buffer (original signal)
protected float
gamma1
Maximum pitch value allowed
protected float
gamma2
Perceptual filter: A(z/gamma1)
protected float[]
innov
Start of excitation frame
protected float[]
interp_qlpc
Interpolated quantized LSPs
protected float[]
interp_qlsp
Quantized LSPs for previous frame
protected float
lag_factor
Perceptual filter: A(z/gamma2)
protected float[]
lpc
Innovation for the frame
protected int
lpcSize
Analysis (LPC) window length
protected float
lpc_floor
Lag windowing Gaussian width
protected Lsp
m_lsp
protected int
max_pitch
Minimum pitch value allowed
protected float[]
mem_sp
Interpolated quantized LPCs
protected int
min_pitch
Buffer size
protected int
nbSubframes
Size of sub-frames
protected float[]
old_qlsp
Quantized LSPs for current frame
protected float[]
pi_gain
Filter memory for synthesis signal
protected float
pre_mem
Pre-emphasis: P(z) = 1 - a*z^-1
protected float
preemph
Noise floor multiplier for A[0] in LPC analysis
protected float[]
qlsp
LPCs for current frame
protected int
subframeSize
Size of frames
protected int
submodeID
Sub-mode data
protected SubMode[]
submodes
protected float
voc_m1
protected float
voc_m2
protected float
voc_mean
protected int
voc_offset
protected int
windowSize
Number of sub-frames

Fields inherited from interface org.xiph.speex.Codebook

NB_CDBK_SIZE, NB_CDBK_SIZE_HIGH1, NB_CDBK_SIZE_HIGH2, NB_CDBK_SIZE_LOW1, NB_CDBK_SIZE_LOW2, cdbk_nb, cdbk_nb_high1, cdbk_nb_high2, cdbk_nb_low1, cdbk_nb_low2, exc_10_16_table, exc_10_32_table, exc_20_32_table, exc_5_256_table, exc_5_64_table, exc_8_128_table, gain_cdbk_lbr, gain_cdbk_nb, h0, h1, hexc_10_32_table, hexc_table, high_lsp_cdbk, high_lsp_cdbk2

Constructor Summary

NbCodec()
Constructor.

Method Summary

private static SubMode[]
buildNbSubModes()
Build narrowband submodes
boolean
getDtx()
Returns whether or not we are using Discontinuous Transmission encoding.
float[]
getExc()
Returns the excitation array.
int
getFrameSize()
Returns the size of a frame (ex: 160 samples for a narrowband frame, 320 for wideband and 640 for ultra-wideband).
float[]
getInnov()
Returns the innovation array.
float[]
getPiGain()
Returns the Pitch Gain array.
protected void
init(int frameSize, int subframeSize, int lpcSize, int bufSize)
Initialisation.
void
nbinit()
Narrowband initialisation.

Field Details

NB_FRAME_SIZE

public static final int[] NB_FRAME_SIZE
The Narrowband Frame Size gives the size in bits of a Narrowband frame for a given narrowband submode.

NB_SUBMODES

public static final int NB_SUBMODES
The Narrowband Submodes gives the number of submodes possible for the Narrowband codec.
Field Value:
16

NB_SUBMODE_BITS

public static final int NB_SUBMODE_BITS
The Narrowband Submodes Bits gives the number bits used to encode the Narrowband Submode
Field Value:
4

VERY_SMALL

public static final float VERY_SMALL
Very small initial value for some of the buffers.
Field Value:
0.0f

awk1

protected float[] awk1
Gain of LPC filter at theta=pi (fe/2)

awk2

protected float[] awk2
Gain of LPC filter at theta=pi (fe/2)

awk3

protected float[] awk3
Gain of LPC filter at theta=pi (fe/2)

bufSize

protected int bufSize
LPC order

dtx_enabled

protected int dtx_enabled

excBuf

protected float[] excBuf

excIdx

protected int excIdx
Excitation buffer

exc_gain_quant_scal1

public static final float[] exc_gain_quant_scal1

exc_gain_quant_scal3

public static final float[] exc_gain_quant_scal3

filters

protected Filters filters

first

protected int first
Activated sub-mode

frameSize

protected int frameSize
Is this the first frame?

frmBuf

protected float[] frmBuf
1-element memory for pre-emphasis

frmIdx

protected int frmIdx
Input buffer (original signal)

gamma1

protected float gamma1
Maximum pitch value allowed

gamma2

protected float gamma2
Perceptual filter: A(z/gamma1)

innov

protected float[] innov
Start of excitation frame

interp_qlpc

protected float[] interp_qlpc
Interpolated quantized LSPs

interp_qlsp

protected float[] interp_qlsp
Quantized LSPs for previous frame

lag_factor

protected float lag_factor
Perceptual filter: A(z/gamma2)

lpc

protected float[] lpc
Innovation for the frame

lpcSize

protected int lpcSize
Analysis (LPC) window length

lpc_floor

protected float lpc_floor
Lag windowing Gaussian width

m_lsp

protected Lsp m_lsp

max_pitch

protected int max_pitch
Minimum pitch value allowed

mem_sp

protected float[] mem_sp
Interpolated quantized LPCs

min_pitch

protected int min_pitch
Buffer size

nbSubframes

protected int nbSubframes
Size of sub-frames

old_qlsp

protected float[] old_qlsp
Quantized LSPs for current frame

pi_gain

protected float[] pi_gain
Filter memory for synthesis signal

pre_mem

protected float pre_mem
Pre-emphasis: P(z) = 1 - a*z^-1

preemph

protected float preemph
Noise floor multiplier for A[0] in LPC analysis

qlsp

protected float[] qlsp
LPCs for current frame

subframeSize

protected int subframeSize
Size of frames

submodeID

protected int submodeID
Sub-mode data

submodes

protected SubMode[] submodes

voc_m1

protected float voc_m1

voc_m2

protected float voc_m2

voc_mean

protected float voc_mean

voc_offset

protected int voc_offset

windowSize

protected int windowSize
Number of sub-frames

Constructor Details

NbCodec

public NbCodec()
Constructor.

Method Details

buildNbSubModes

private static SubMode[] buildNbSubModes()
Build narrowband submodes

getDtx

public boolean getDtx()
Returns whether or not we are using Discontinuous Transmission encoding.
Returns:
whether or not we are using Discontinuous Transmission encoding.

getExc

public float[] getExc()
Returns the excitation array.
Returns:
the excitation array.

getFrameSize

public int getFrameSize()
Returns the size of a frame (ex: 160 samples for a narrowband frame, 320 for wideband and 640 for ultra-wideband).
Returns:
the size of a frame (number of audio samples in a frame).

getInnov

public float[] getInnov()
Returns the innovation array.
Returns:
the innovation array.

getPiGain

public float[] getPiGain()
Returns the Pitch Gain array.
Returns:
the Pitch Gain array.

init

protected void init(int frameSize,
                    int subframeSize,
                    int lpcSize,
                    int bufSize)
Initialisation.
Parameters:
frameSize -
subframeSize -
lpcSize -
bufSize -

nbinit

public void nbinit()
Narrowband initialisation.

Copyright © 1999-2004 Wimba S.A. All Rights Reserved.