Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

backtrellis.c File Reference

Word trellis related operations. More...

#include <julius.h>

Include dependency graph for backtrellis.c:

Go to the source code of this file.

Functions

void bt_init (BACKTRELLIS *bt)
void bt_prepare (BACKTRELLIS *bt)
void bt_store (BACKTRELLIS *bt, TRELLIS_ATOM *tatom)
void bt_relocate_rw (BACKTRELLIS *bt)
void bt_discount_pescore (WCHMM_INFO *wchmm, BACKTRELLIS *bt, HTK_Param *param)
static int compare_wid (TRELLIS_ATOM **a, TRELLIS_ATOM **b)
void bt_sort_rw (BACKTRELLIS *bt)
TRELLIS_ATOMbt_binsearch_atom (BACKTRELLIS *bt, int t, WORD_ID wkey)


Detailed Description

Word trellis related operations.

Author:
Akinobu LEE
Date:
Tue Feb 22 15:40:01 2005
Functions to store the result of the 1st pass as "word trellis", and to access them from the 2nd pass is defined in this file. On the 1st pass of Julius, all the promising words whose word end has been survived at the 1st pass will be stored as "word trellis", which consists of trellis words that contains informations about the surviving words: word boundary, accumulated score and word history.

The trellis word will be stored per frame while recognition on the 1st pass. After the 1st pass ended, the word trellis will be re-formed and indexed by the frames to prepare for the access from the 2nd pass.

In the 2nd pass of reverse stack decoding, this word trellis will be used to constrain the word hypothesis, and also used to estimate the score of unseen area by the obtained backward scores in the 1st pass. Thus the word trellis information is also called as "back trellis" in Julius.

Revision
1.1.1.1

Definition in file backtrellis.c.


Function Documentation

void bt_init BACKTRELLIS bt  ) 
 

Initialize backtrellis that will hold the whole word trellis (called once on startup).

Parameters:
bt [in] pointer to the backtrellis structure to initialize

Definition at line 74 of file backtrellis.c.

Referenced by final_fusion().

void bt_prepare BACKTRELLIS bt  ) 
 

Prepare backtrellis for the next input (called at beginning of each speech segment).

Parameters:
bt [in] pointer to the word trellis structure

Definition at line 96 of file backtrellis.c.

Referenced by get_back_trellis_init().

void bt_store BACKTRELLIS bt,
TRELLIS_ATOM tatom
 

Store a trellis word generated on the 1st pass for the 2nd pass.

This function just store the new atom into backtrellis. They will be re-located per frame after 1st pass for quick access in the 2nd pass.

Parameters:
bt [i/o] backtrellis structure to store the trellis word
tatom [in] the trellis word to be stored

Definition at line 144 of file backtrellis.c.

Referenced by get_back_trellis_end(), and get_back_trellis_proceed().

void bt_relocate_rw BACKTRELLIS bt  ) 
 

Re-locate the stored atom lists per frame (will be called after the 1st pass).

Parameters:
bt [i/o] word trellis structure

Definition at line 170 of file backtrellis.c.

Referenced by finalize_1st_pass().

void bt_discount_pescore WCHMM_INFO wchmm,
BACKTRELLIS bt,
HTK_Param param
 

Discount the output probabilities of the last state from the accumulated score on word edge for all trellis words survived on the 1st pass, for the acoustic re-computation on the 2nd pass. The acousitic likelihood of the word edge state will be re-computed when the next word hypotheses are expanded on the next 2nd pass.

Parameters:
wchmm [in] tree lexicon
bt [in] word trellis structure
param [in] input parameter

Definition at line 315 of file backtrellis.c.

Referenced by main_recognition_loop().

static int compare_wid TRELLIS_ATOM **  a,
TRELLIS_ATOM **  b
[static]
 

qsort callback for bt_sort_rw().

Parameters:
a [in] first element
b [in] second element
Returns:
a value needed to do upward sort.

Definition at line 364 of file backtrellis.c.

Referenced by bt_sort_rw().

void bt_sort_rw BACKTRELLIS bt  ) 
 

Sort the trellis words in the backtrellis by the word IDs per each frame, for rapid access on the 2nd pass. This should be called just after bt_relocate_rw() was called.

Parameters:
bt [i/o] word trellis structure

Definition at line 390 of file backtrellis.c.

Referenced by finalize_1st_pass().

TRELLIS_ATOM* bt_binsearch_atom BACKTRELLIS bt,
int  t,
WORD_ID  wkey
 

Search a word on the specified frame in a word trellis data.

Parameters:
bt [in] word trellis structure
t [in] word end frame on which to search
wkey [in] word ID to search
Returns:
pointer to the found trellis word, or NULL if not found.

Definition at line 428 of file backtrellis.c.

Referenced by next_word(), print_1pass_result(), and start_word().


Generated on Tue Mar 28 16:17:44 2006 for Julius by  doxygen 1.4.2