Apparatus and methods for analyzing transitions in finite state machines
First Claim
1. Apparatus for finding minimum cumulative distances in a finite state machine, comprising:
- indicator circuit means for indicating positions in an external store of minimum cumulative distance of all originating states, which are states having transitions to a current state whose minimum cumulative distance is to be found, and for indicating the positions in the external store of corresponding transition penalties, corresponding to these transitions,logic circuit means for determining, for each transition to the current state, a value dependent on the minimum cumulative distance for each originating state and the corresponding transition penalty, for determining a minimum said value for the current state and for determining a minimum cumulative distance for the current state from said minimum said value and a state penalty for the current state; and
control circuit means for controlling an operation of the indicator mean to supply minimum cumulative distances and penalties to the logic means, for controlling the logic means, on receipt of a command signal, to determine the minimum cumulative distances of all states.
1 Assignment
0 Petitions
Accused Products
Abstract
In speech recognition words to be recognized may be represented by finite state machines and recognition is based on analyzing transitions through the machines as an utterance occurs. One value which is then required for each state of each machine in a timescale which is compatible with continuous speech recognition is minimum cumulative distance; that is the smallest of values dependent on reaching one of the states from a starting position, considering all possible paths. In the present invention a specially constructed Viterbi engine is provided for calculating cumulative distances at high speed. Latch circuits holding pointers allow a RAM to be read to provide, for a current machine state, both stored cumulative distances of states with transitions to that state and stored penalties corresponding to the transitions. A logic circuit comprising an ALU finds the cumulative distance for each path as far as the current state, selectes the minimum and adds another penalty dependent on the current state. Thus a minimum cumulative distance is provided for storage and for a speech recognition decision making circuit. The process is repeatedly carried out for each state of each machine. The total number of iterations of the engine in reaching each minimum cumulative distance is also held in the RAM and updated by the logic circuit.
36 Citations
22 Claims
-
1. Apparatus for finding minimum cumulative distances in a finite state machine, comprising:
-
indicator circuit means for indicating positions in an external store of minimum cumulative distance of all originating states, which are states having transitions to a current state whose minimum cumulative distance is to be found, and for indicating the positions in the external store of corresponding transition penalties, corresponding to these transitions, logic circuit means for determining, for each transition to the current state, a value dependent on the minimum cumulative distance for each originating state and the corresponding transition penalty, for determining a minimum said value for the current state and for determining a minimum cumulative distance for the current state from said minimum said value and a state penalty for the current state; and control circuit means for controlling an operation of the indicator mean to supply minimum cumulative distances and penalties to the logic means, for controlling the logic means, on receipt of a command signal, to determine the minimum cumulative distances of all states. - View Dependent Claims (2, 3, 4)
-
-
5. Apparatus for finding minimum cumulative distances in a predetermined number of finite state machines, all having the same number of states and the same pattern of transitions, comprising:
-
storage means for storing minimum cumulative distances, and a number of address offsets, one for, and corresponding to, each transition to each state, logic means for determining, for each transition to a current state of a selected finite state machine, a cumulative distance value dependent on an originating state from which said each transitions originates and a stored minimum cumulative distance for the originating state, and for obtaining the stored minimum cumulative distances of the originating states from the address of the stored minimum cumulative distance of the current state by using the address offsets, and control means for causing the logic means to determine said cumulative distance values for each transition to each state of each machine, and selecting a minimum said cumulative distance value for each state and transferring the minimum said cumulative distance values to the storage means as updated values of the stored minimum cumulative distances. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A method of finding minimum cumulative distances in a predetermined number of finite state machines all having the same number of states and the same pattern of transitions, comprising the steps of:
-
storing minimum cumulative distances and a number of address offsets, one for, and corresponding to, each transition to each state, determining of each transition to a current state of a selected finite machine, a cumulative value dependent on an originating state from which that transition originates and a stored minimum cumulative distance for the originating state, the stored minimum cumulative distances of the originating states being obtained from the address of the stored minimum cumulative distance of the current state by using the address offsets, and determining said cumulative distance values for each transition to each state of each machine, selecting a minimum of said cumulative distance value for each state and storing minimum values as updated values of the stored minimum cumulative distances. - View Dependent Claims (12, 13, 14)
-
-
15. Apparatus for use in analysing a plurality of finite state machines where transitions may occur between finite state machines, comprising
storage means for storing representations of a plurality of finite state machines wherein three types of states are stored for each said machine: - normal states, a start state and an end state, the normal states being those states required to represent a said machine, the end state having transitions from all normal states which may transit to other finite state machines, and the start state having transitions to all states which may be reached from other finite state machines, and
for determining for each said machine a score value dependent on the minimum cumulative distance to the end state, and for transferring to the storage means the smallest of the score values as the score value of the start states of selected ones of the finite state machines, the logic means transferring to the storage means relatively high values for the other start states. - View Dependent Claims (17, 18, 19, 20, 21)
- normal states, a start state and an end state, the normal states being those states required to represent a said machine, the end state having transitions from all normal states which may transit to other finite state machines, and the start state having transitions to all states which may be reached from other finite state machines, and
-
16. A method for use in analysing transitions in a plurality of finite state machines where transitions may occur between finite state machines, comprising the steps of
storing representations of a plurality of finite state machines wherein three types of states are stored for each said machine: - normal states, a start state and an end state, the normal states being those states required to represent a said machine, the end state having transitions from all normal states which may transit to another finite state machine and the start state having transitions to all states which may be reached from other finite state machines,
determining, for each said machine, a value representing the minimum cumulative distance to the end state and storing a score value dependent on the smallest of the minimum cumulative distances of the end states as the score values of the start states of selected ones of the finite state machines, relatively high values being stored for the other start states.
- normal states, a start state and an end state, the normal states being those states required to represent a said machine, the end state having transitions from all normal states which may transit to another finite state machine and the start state having transitions to all states which may be reached from other finite state machines,
-
22. Apparatus for finding minimum cumulative distances in a finite state machine, comprising:
-
indicator circuit means for indicating positions in an external store of minimum cumulative distances of all originating states, which are states having transitions to a current state whose minimum cumulative distances is to be found, and for indicating the positions in the external store of corresponding transition penalties, corresponding to these transitions, the indicator means comprising first, second and third storage means for storing a cumulative distance pointer, an offset pointer, and a transition penalty pointer, for indicating locations in the external store of the cumulative distance of the current state, an incremental address of a cumulative distance of a selected originating state and the current, respectively; logic circuit means for determining, for each transition to the current state, a value dependent on the minimum cumulative distance for each originating state and the corresponding transition penalty, for determining a minimum said value for the current state and for determining a minimum cumulative distance for the current state from said minimum said value and a state penalty for the current state; and control circuit means for controlling an operation of the indicator means for supplying minimum cumulative distances and transition penalties to the logic means, for controlling the logic means, on receipt of a command signal, to determine the minimum cumulative distances of all states, and for obtaining a currently required minimum cumulative distances of an originating state from the location in the external store whose address is obtained by using the logic current means to add the offset at the location indicated by the offset pointer to the address of the location indicated by the cumulative distance pointer.
-
Specification