メインページ | モジュール | データ構造 | Directories | ファイル一覧 | データフィールド | グローバル | 関連ページ

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_Param * new_select_param_kind (HTK_Param *src, short dst_type_arg)
HTK_Param * new_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.1.1.1

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


関数

static void init_mark (  HTK_Param *  param  )  [static]
 

Allocate new area for exclusion marks.

引数:
param [in] input parameter

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

参照元 select_param_vmark().

static void free_mark (   )  [static]
 

Free the exclusion marks.

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

参照元 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.c の 92 行で定義されています。

参照元 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.c の 129 行で定義されています。

参照元 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.c の 168 行で定義されています。

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.c の 195 行で定義されています。

参照元 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.c の 227 行で定義されています。

参照元 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.c の 382 行で定義されています。

参照元 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.c の 429 行で定義されています。

参照元 main_recognition_loop().


Juliusに対してTue Mar 28 16:22:05 2006に生成されました。  doxygen 1.4.2