Patent ID: 8352265

Claim:
A hardware implemented backend search engine for a speech recognition system comprising: a fetch stage adapted to merge a first plurality of active triphone models and a second plurality of triphone models for words to be activated for a current frame of sampled speech to output a series of triphone models to be processed for the current frame; an updating stage adapted to receive the series of triphone models to be processed for the current frame, update each triphone model of the series of triphone models based on senone scores received from an acoustic scoring stage of the speech recognition system to provide a series of updated triphone models, and output the series of updated triphone models; a transition and prune stage adapted to process the series of updated triphone models; and a language model stage adapted to, for each completed word of one or more completed words detected by the transition and prune stage for the current frame, identify one or more words that are likely to be uttered next based on the completed word as words to be activated in a next frame of sampled speech; wherein the fetch stage, the updating stage, the transition and prune stage, and the language model stage are configured in a pipeline architecture and implemented on a single application specific integrated circuit such that the fetch stage, the updating stage, the transition and prune stage, and the language model stage are enabled to simultaneously process different triphone models; and wherein the first plurality of active triphone models are stored in an active queue arranged by word, and the words to be activated in the current frame are stored in a patch list arranged by word, and the fetch stage is adapted to: retrieve a next active triphone model from the active queue; identify a next word to be activated from the patch list; output the next active triphone model retrieved from the active queue if the next active triphone model retrieved from the active queue represents a triphone of a word that precedes the next word to be activated; and output a new triphone model for a first triphone of the next word to be activated if the next active triphone model retrieved from the active queue represents a triphone of a word that follows the next word to be activated.