org.xiph.speex
Class SbEncoder

java.lang.Object
  extended byorg.xiph.speex.NbCodec
      extended byorg.xiph.speex.SbCodec
          extended byorg.xiph.speex.SbEncoder
All Implemented Interfaces:
Codebook, Encoder

public class SbEncoder
extends SbCodec
implements Encoder

Wideband Speex Encoder

Version:
$Revision: 1.6 $
Author:
Marc Gimpel, Wimba S.A. (marc@wimba.com)

Field Summary
protected  float abr_count
           
protected  float abr_drift
          Relative quality that will be needed by VBR
protected  float abr_drift2
           
protected  int abr_enabled
          1 for enabling VAD, 0 otherwise
private  float[] autocorr
          Reflection coefficients
private  float[] buf
           
private  float[] bw_lpc1
          Interpolated LPCs
private  float[] bw_lpc2
          LPCs after bandwidth expansion by gamma1 for perceptual weighting
protected  int complexity
           
private  float[] h0_mem
           
private  float[] interp_lpc
          Interpolated LSPs
private  float[] interp_lsp
          LSPs for previous frame
private  float[] lagWindow
           
protected  Encoder lowenc
          The encoder for the lower half of the Spectrum.
private  float[] lsp
          auto-correlation
private  float[] mem_sp2
          LPCs after bandwidth expansion by gamma2 for perceptual weighting
private  float[] mem_sw
           
protected  int nb_modes
           
static int[] NB_QUALITY_MAP
          The Narrowband Quality map indicates which narrowband submode to use for the given wideband/ultra-wideband quality setting
private  float[] old_lsp
          LSPs for current frame
private  float[] rc
           
protected  float relative_quality
          Quality setting for VBR encoding
private  float[] res
          Weighted signal buffer
protected  int sampling_rate
           
protected  int submodeSelect
           
private  float[] swBuf
           
private  float[] target
           
private  boolean uwb
           
static int[] UWB_QUALITY_MAP
          The Ultra-wideband Quality map indicates which sideband submode to use for the given ultra-wideband quality setting
protected  int vad_enabled
          1 for enabling VBR, 0 otherwise
protected  int vbr_enabled
          Complexity setting (0-10 from least complex to most complex)
protected  float vbr_quality
          ABR setting (in bps), 0 if off
static int[] WB_QUALITY_MAP
          The Wideband Quality map indicates which sideband submode to use for the given wideband/ultra-wideband quality setting
private  float[] window
           
private  float[] x1d
           
 
Fields inherited from class org.xiph.speex.SbCodec
foldingGain, fullFrameSize, g0_mem, g1_mem, high, QMF_ORDER, SB_FRAME_SIZE, SB_SUBMODE_BITS, SB_SUBMODES, x0d, y0, y1
 
Fields inherited from class org.xiph.speex.NbCodec
awk1, awk2, awk3, bufSize, dtx_enabled, exc_gain_quant_scal1, exc_gain_quant_scal3, excBuf, excIdx, filters, first, frameSize, frmBuf, frmIdx, gamma1, gamma2, innov, interp_qlpc, interp_qlsp, lag_factor, lpc, lpc_floor, lpcSize, m_lsp, max_pitch, mem_sp, min_pitch, NB_FRAME_SIZE, NB_SUBMODE_BITS, NB_SUBMODES, nbSubframes, old_qlsp, pi_gain, pre_mem, preemph, qlsp, subframeSize, submodeID, submodes, VERY_SMALL, voc_m1, voc_m2, voc_mean, voc_offset, windowSize
 
Fields inherited from interface org.xiph.speex.Codebook
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, NB_CDBK_SIZE, NB_CDBK_SIZE_HIGH1, NB_CDBK_SIZE_HIGH2, NB_CDBK_SIZE_LOW1, NB_CDBK_SIZE_LOW2
 
Constructor Summary
SbEncoder()
           
 
Method Summary
 int encode(Bits bits, float[] in)
          Encode the given input signal.
 int getAbr()
          Returns the Average Bit Rate used (0 if ABR is not turned on).
 int getBitRate()
          Returns the bitrate.
 int getComplexity()
          Returns the algorthmic complexity.
 int getEncodedFrameSize()
          Returns the size in bits of an audio frame encoded with the current mode.
 int getMode()
          Returns the encoding submode currently in use.
 float getRelativeQuality()
          Returns the relative quality.
 int getSamplingRate()
          Returns the sampling rate.
 boolean getVad()
          Returns whether or not we are using Voice Activity Detection encoding.
 boolean getVbr()
          Returns whether or not we are using Variable Bit Rate encoding.
 float getVbrQuality()
          Returns the Varible Bit Rate Quality.
 void init(int frameSize, int subframeSize, int lpcSize, int bufSize, float foldingGain)
          Initialisation
 void setAbr(int abr)
          Sets the Average Bit Rate.
 void setBitRate(int bitrate)
          Sets the bitrate.
 void setComplexity(int complexity)
          Sets the algorthmic complexity.
 void setDtx(boolean dtx)
          Sets whether or not to use Discontinuous Transmission encoding.
 void setMode(int mode)
          Sets the encoding submode.
 void setQuality(int quality)
          Sets the Quality.
 void setSamplingRate(int rate)
          Sets the sampling rate.
 void setVad(boolean vad)
          Sets whether or not to use Voice Activity Detection encoding.
 void setVbr(boolean vbr)
          Sets whether or not to use Variable Bit Rate encoding.
 void setVbrQuality(float quality)
          Sets the Varible Bit Rate Quality.
 void uwbinit()
          Ultra-wideband initialisation
 void wbinit()
          Wideband initialisation
 
Methods inherited from class org.xiph.speex.SbCodec
buildUwbSubModes, buildWbSubModes, getDtx, getExc, getFrameSize, getInnov
 
Methods inherited from class org.xiph.speex.NbCodec
getPiGain, init, nbinit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.xiph.speex.Encoder
getDtx, getExc, getFrameSize, getInnov, getPiGain
 

Field Detail

NB_QUALITY_MAP

public static final int[] NB_QUALITY_MAP
The Narrowband Quality map indicates which narrowband submode to use for the given wideband/ultra-wideband quality setting


WB_QUALITY_MAP

public static final int[] WB_QUALITY_MAP
The Wideband Quality map indicates which sideband submode to use for the given wideband/ultra-wideband quality setting


UWB_QUALITY_MAP

public static final int[] UWB_QUALITY_MAP
The Ultra-wideband Quality map indicates which sideband submode to use for the given ultra-wideband quality setting


lowenc

protected Encoder lowenc
The encoder for the lower half of the Spectrum.


x1d

private float[] x1d

h0_mem

private float[] h0_mem

buf

private float[] buf

swBuf

private float[] swBuf

res

private float[] res
Weighted signal buffer


target

private float[] target

window

private float[] window

lagWindow

private float[] lagWindow

rc

private float[] rc

autocorr

private float[] autocorr
Reflection coefficients


lsp

private float[] lsp
auto-correlation


old_lsp

private float[] old_lsp
LSPs for current frame


interp_lsp

private float[] interp_lsp
LSPs for previous frame


interp_lpc

private float[] interp_lpc
Interpolated LSPs


bw_lpc1

private float[] bw_lpc1
Interpolated LPCs


bw_lpc2

private float[] bw_lpc2
LPCs after bandwidth expansion by gamma1 for perceptual weighting


mem_sp2

private float[] mem_sp2
LPCs after bandwidth expansion by gamma2 for perceptual weighting


mem_sw

private float[] mem_sw

nb_modes

protected int nb_modes

uwb

private boolean uwb

complexity

protected int complexity

vbr_enabled

protected int vbr_enabled
Complexity setting (0-10 from least complex to most complex)


vad_enabled

protected int vad_enabled
1 for enabling VBR, 0 otherwise


abr_enabled

protected int abr_enabled
1 for enabling VAD, 0 otherwise


vbr_quality

protected float vbr_quality
ABR setting (in bps), 0 if off


relative_quality

protected float relative_quality
Quality setting for VBR encoding


abr_drift

protected float abr_drift
Relative quality that will be needed by VBR


abr_drift2

protected float abr_drift2

abr_count

protected float abr_count

sampling_rate

protected int sampling_rate

submodeSelect

protected int submodeSelect
Constructor Detail

SbEncoder

public SbEncoder()
Method Detail

wbinit

public void wbinit()
Wideband initialisation

Overrides:
wbinit in class SbCodec

uwbinit

public void uwbinit()
Ultra-wideband initialisation

Overrides:
uwbinit in class SbCodec

init

public void init(int frameSize,
                 int subframeSize,
                 int lpcSize,
                 int bufSize,
                 float foldingGain)
Initialisation

Overrides:
init in class SbCodec
Parameters:
frameSize -
subframeSize -
lpcSize -
bufSize -
foldingGain -

encode

public int encode(Bits bits,
                  float[] in)
Encode the given input signal.

Specified by:
encode in interface Encoder
Parameters:
bits - - Speex bits buffer.
in - - the raw mono audio frame to encode.
Returns:
1 if successful.

getEncodedFrameSize

public int getEncodedFrameSize()
Returns the size in bits of an audio frame encoded with the current mode.

Specified by:
getEncodedFrameSize in interface Encoder
Returns:
the size in bits of an audio frame encoded with the current mode.

setQuality

public void setQuality(int quality)
Sets the Quality.

Specified by:
setQuality in interface Encoder
Parameters:
quality -

setVbrQuality

public void setVbrQuality(float quality)
Sets the Varible Bit Rate Quality.

Specified by:
setVbrQuality in interface Encoder
Parameters:
quality -

setVbr

public void setVbr(boolean vbr)
Sets whether or not to use Variable Bit Rate encoding.

Specified by:
setVbr in interface Encoder
Parameters:
vbr -

setAbr

public void setAbr(int abr)
Sets the Average Bit Rate.

Specified by:
setAbr in interface Encoder
Parameters:
abr -

getBitRate

public int getBitRate()
Returns the bitrate.

Specified by:
getBitRate in interface Encoder
Returns:
the bitrate.

setSamplingRate

public void setSamplingRate(int rate)
Sets the sampling rate.

Specified by:
setSamplingRate in interface Encoder
Parameters:
rate -

setMode

public void setMode(int mode)
Sets the encoding submode.

Specified by:
setMode in interface Encoder
Parameters:
mode -

getMode

public int getMode()
Returns the encoding submode currently in use.

Specified by:
getMode in interface Encoder
Returns:
the encoding submode currently in use.

setBitRate

public void setBitRate(int bitrate)
Sets the bitrate.

Specified by:
setBitRate in interface Encoder
Parameters:
bitrate -

getVbr

public boolean getVbr()
Returns whether or not we are using Variable Bit Rate encoding.

Specified by:
getVbr in interface Encoder
Returns:
whether or not we are using Variable Bit Rate encoding.

setVad

public void setVad(boolean vad)
Sets whether or not to use Voice Activity Detection encoding.

Specified by:
setVad in interface Encoder
Parameters:
vad -

getVad

public boolean getVad()
Returns whether or not we are using Voice Activity Detection encoding.

Specified by:
getVad in interface Encoder
Returns:
whether or not we are using Voice Activity Detection encoding.

setDtx

public void setDtx(boolean dtx)
Sets whether or not to use Discontinuous Transmission encoding.

Specified by:
setDtx in interface Encoder
Parameters:
dtx -

getAbr

public int getAbr()
Returns the Average Bit Rate used (0 if ABR is not turned on).

Specified by:
getAbr in interface Encoder
Returns:
the Average Bit Rate used (0 if ABR is not turned on).

getVbrQuality

public float getVbrQuality()
Returns the Varible Bit Rate Quality.

Specified by:
getVbrQuality in interface Encoder
Returns:
the Varible Bit Rate Quality.

setComplexity

public void setComplexity(int complexity)
Sets the algorthmic complexity.

Specified by:
setComplexity in interface Encoder
Parameters:
complexity -

getComplexity

public int getComplexity()
Returns the algorthmic complexity.

Specified by:
getComplexity in interface Encoder
Returns:
the algorthmic complexity.

getSamplingRate

public int getSamplingRate()
Returns the sampling rate.

Specified by:
getSamplingRate in interface Encoder
Returns:
the sampling rate.

getRelativeQuality

public float getRelativeQuality()
Returns the relative quality.

Specified by:
getRelativeQuality in interface Encoder
Returns:
the relative quality.


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