libsent/src/anlz/paramselect.c

パラメータベクトルの型のチェックと調整 [詳細]

#include <sent/stddefs.h>
#include <sent/htk_param.h>
#include <sent/htk_hmm.h>
paramselect.cのインクルード依存関係図

ソースコードを見る。

関数

static void init_mark (HTK_Param *param)
static void free_mark ()
static void mark_exclude_vector (int loc, int len)
static void exec_exclude_vectors (HTK_Param *new, HTK_Param *src)
 Execute exclusion for a parameter data according to the exclusion marks.
int exec_exclude_one_vector (VECT *vec, int len)
 Execute deletion for one vector according to the exlusion marks.
int guess_basenum (HTK_Param *p, short qualtype)
boolean select_param_vmark (HTK_Param *src, short dst_type_arg)
HTK_Paramnew_select_param_kind (HTK_Param *src, short dst_type_arg)
HTK_Paramnew_param_check_and_adjust (HTK_HMM_INFO *hmminfo, HTK_Param *param, boolean vflag)
 Top function to adjust parameter.

変数

static int * vmark
 Exclusion marks of input vector.
static int vlen
 Length of above.
static int vnewlen
 Adjusted new length.
static short src_type
 Newly set source type.

説明

パラメータベクトルの型のチェックと調整

作者:
Akinobu LEE
日付:
Sun Feb 13 20:46:39 2005

HMMと入力特徴パラメータの型をチェックします.タイプが一致しない場合, 特徴パラメータの一部を削除することで一致するよう調整できるかどうか を試みます.(例:特徴量ファイルが MFCC_E_D_Z (26次元) で与えられた とき,音響モデルが MFCC_E_D_N_Z (25次元) である場合,絶対値パワー項を 差し引くことで調整できます.)

調整アルゴリズムは以下のとおりです.

  1. 入力の各ベクトル要素に対応するマークを 0 に初期化
  2. HMMで要求されている型に対応しないベクトル要素に 1 をマークする
  3. 新たにパラメータ領域を確保し,必要な要素(マークされていない要素) のみをコピーする.
Revision
1.3

paramselect.c で定義されています。


関数

static void init_mark ( HTK_Param param  )  [static]

Allocate new area for exclusion marks.

引数:
param [in] input parameter

paramselect.c65 行で定義されています。

参照元 select_param_vmark().

static void free_mark (  )  [static]

Free the exclusion marks.

paramselect.c80 行で定義されています。

参照元 new_select_param_kind().

static void mark_exclude_vector ( int  loc,
int  len 
) [static]

Put exlusion marks for vector for len elements from loc -th dimension.

引数:
loc [in] beginning dimension to mark
len [in] number of dimension to mark from loc

paramselect.c92 行で定義されています。

参照元 select_param_vmark().

static void exec_exclude_vectors ( HTK_Param new,
HTK_Param src 
) [static]

Execute exclusion for a parameter data according to the exclusion marks.

Execute vector element exclusion by copying vector from src to new according to the current exclusion marks. The parameter vector of new will be newly allocated here.

引数:
new [out] new adjusted parameter
src [in] source parameter

paramselect.c129 行で定義されています。

参照元 new_select_param_kind().

int exec_exclude_one_vector ( VECT vec,
int  len 
)

Execute deletion for one vector according to the exlusion marks.

This can be used to frame-synchronous parameter adjustment.

引数:
vec [I/O] target vector
len [in] length of above
戻り値:
the new length.

paramselect.c168 行で定義されています。

int guess_basenum ( HTK_Param p,
short  qualtype 
)

Guess the length of the base coefficient according to the total vector length and parameter type.

引数:
p [in] parameter data
qualtype [in] parameter type
戻り値:
the guessed size of the base coefficient.

paramselect.c195 行で定義されています。

参照元 guess_abs_e_location(), と select_param_vmark().

boolean select_param_vmark ( HTK_Param src,
short  dst_type_arg 
)

Compare source parameter type and required type in HTK HMM, and set mark.

引数:
src [in] input parameter
dst_type_arg [in] required parameter type
戻り値:
TRUE on success, FALSE on failure.

paramselect.c227 行で定義されています。

参照元 new_select_param_kind().

HTK_Param* new_select_param_kind ( HTK_Param src,
short  dst_type_arg 
)

Extracts needed parameter vector specified in dst_type_arg from src, and returns newly allocated parameter structure.

引数:
src [in] input parameter
dst_type_arg [in] required parameter type
戻り値:
newly allocated adjusted parameter, NULL on failure.

paramselect.c382 行で定義されています。

参照元 new_param_check_and_adjust().

HTK_Param* new_param_check_and_adjust ( HTK_HMM_INFO hmminfo,
HTK_Param param,
boolean  vflag 
)

Top function to adjust parameter.

It compares the types for the given parameter param and HMM definition hmminfo. If type is not the same, adjustment will be tried.

If adjustment is performed, the input param will be freed and the newly allocated adjusted parameter will be returned. Otherwise, the original param will be returned.

引数:
hmminfo [in] HTK HMM definition
param [i/o] input parameter, will be freed if adjustment was performed in this function
vflag [in] if TRUE, output verbose messages
戻り値:
the original param if no adjustment needed, newly allocated param is adjustment was needed and successfully done, NULL on failure (in case parameter type does not match even by the adjustment).

paramselect.c429 行で定義されています。

参照元 main_recognition_loop().


Juliusに対してTue Sep 22 00:15:03 2009に生成されました。  doxygen 1.6.0