00001
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef __J_SEARCH_H__
00043 #define __J_SEARCH_H__
00044
00055 typedef struct __nextword__ {
00056 WORD_ID id;
00057 LOGPROB lscore;
00058 int next_state;
00059 boolean can_insert_sp;
00060 TRELLIS_ATOM *tre;
00061 } NEXTWORD;
00062
00063 #ifdef VISUALIZE
00064
00072 typedef struct __popnode__ {
00073 TRELLIS_ATOM *tre;
00074 LOGPROB score;
00075 struct __popnode__ *last;
00076 struct __popnode__ *next;
00077 } POPNODE;
00078 #endif
00079
00088 typedef struct __node__ {
00089 struct __node__ *next;
00090 struct __node__ *prev;
00091 boolean endflag;
00092 WORD_ID seq[MAXSEQNUM];
00093 short seqnum;
00094 LOGPROB score;
00095 short bestt;
00096 short estimated_next_t;
00097 LOGPROB *g;
00098 LOGPROB final_g;
00099 int state;
00100 TRELLIS_ATOM *tre;
00101
00102 #ifndef PASS2_STRICT_IWCD
00103
00104
00105 LOGPROB *g_prev;
00106 #endif
00107 HMM_Logical *last_ph;
00108 boolean last_ph_sp_attached;
00109 LOGPROB lscore;
00110 LOGPROB totallscore;
00111 #ifdef CONFIDENCE_MEASURE
00112 #ifdef CM_MULTIPLE_ALPHA
00113 LOGPROB cmscore[MAXSEQNUM][100];
00114 #else
00115 LOGPROB cmscore[MAXSEQNUM];
00116 #endif
00117 #endif
00118 #ifdef VISUALIZE
00119 POPNODE *popnode;
00120 #endif
00121 #ifdef GRAPHOUT_PRECISE_BOUNDARY
00122 short *wordend_frame;
00123 LOGPROB *wordend_gscore;
00124 #endif
00125 WordGraph *prevgraph;
00126 WordGraph *lastcontext;
00127 #ifndef GRAPHOUT_PRECISE_BOUNDARY
00128 LOGPROB tail_g_score;
00129 #endif
00130
00131 struct __recogprocess__ *region;
00132
00133 } NODE;
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167 #endif