Field:
The present invention is related to speech recognition, and specifically to speech recognition in association with a mobile communications facility or a device which provides a service to a user such as a music playing device or a navigation system.
Description of the Related Art:
Speech recognition, also known as automatic speech recognition, is the process of converting a speech signal to a sequence of words by means of an algorithm implemented as a computer program. Speech recognition applications that have emerged in recent years include voice dialing (e.g., call home), call routing (e.g., I would like to make a collect call), simple data entry (e.g., entering a credit card number), and preparation of structured documents (e.g., a radiology report). Current systems are either not for mobile communication devices or utilize constraints, such as requiring a specified grammar, to provide real-time speech recognition.
The current invention provides a facility for unconstrained, mobile or device-based, real-time speech recognition. The current invention allows an individual with a mobile communications facility to use speech recognition to enter text, such as into a communications application, such as an SMS message, instant messenger, e-mail, or any other application, such as applications for getting directions, entering a query word string into a search engine, commands into a navigation or map program, and a wide range of other text entry applications. In addition, the current invention allows users to interact with a wide range of devices, such music players or navigation systems, to perform a variety of tasks (e.g. choosing a song, entering a destination, and the like). These devices may be specialized devices for performing such a function, or may be general purpose computing, entertainment, or information devices that interact with the user to perform some function for the user.
In embodiments the present invention may provide for the entering of text into a software application resident on a mobile communication facility, where recorded speech may be presented by the user using the mobile communications facility's resident capture facility. Transmission of the recording may be provided through a wireless communication facility to a speech recognition facility, and may be accompanied by information related to the software application. Results may be generated utilizing the speech recognition facility that may be independent of structured grammar, and may be based at least in part on the information relating to the software application and the recording. The results may then be transmitted to the mobile communications facility, where they may be loaded into the software application. In embodiments, the user may be allowed to alter the results that are received from the speech recognition facility. In addition, the speech recognition facility may be adapted based on usage.
In embodiments, the information relating to the software application may include at least one of an identity of the application, an identity of a text box within the application, contextual information within the application, an identity of the mobile communication facility, an identity of the user, and the like.
In embodiments, the step of generating the results may be based at least in part on the information relating to the software application involved in selecting at least one of a plurality of recognition models based on the information relating to the software application and the recording, where the recognition models may include at least one of an acoustic model, a pronunciation, a vocabulary, a language model, and the like, and at least one of a plurality of language models, wherein the at least one of the plurality of language models may be selected based on the information relating to the software application and the recording. In embodiments, the plurality of language models may be run at the same time or in multiple passes in the speech recognition facility. The selection of language models for subsequent passes may be based on the results obtained in previous passes. The output of multiple passes may be combined into a single result by choosing the highest scoring result, the results of multiple passes, and the like, where the merging of results may be at the word, phrase, or the like level.
In embodiments, adapting the speech recognition facility may be based on usage that includes at least one of adapting an acoustic model, adapting a pronunciation, adapting a vocabulary, adapting a language model, and the like. Adapting the speech recognition facility may include adapting recognition models based on usage data, where the process may be an automated process, the models may make use of the recording, the models may make use of words that are recognized, the models may make use of the information relating to the software application about action taken by the user, the models may be specific to the user or groups of users, the models may be specific to text fields with in the software application or groups of text fields within the software applications, and the like.
In embodiments, the step of allowing the user to alter the results may include the user editing a text result using at least one of a keypad or a screen-based text correction mechanism, selecting from among a plurality of alternate choices of words contained in the results, selecting from among a plurality of alternate actions related to the results, selecting among a plurality of alternate choices of phrases contained in the results, selecting words or phrases to alter by speaking or typing, positioning a cursor and inserting text at the cursor position by speaking or typing, and the like. In addition, the speech recognition facility may include a plurality of recognition models that may be adapted based on usage, including utilizing results altered by the user, adapting language models based on usage from results altered by the user, and the like.
In embodiments, the present invention may provide this functionality across application on a mobile communication facility. So, it may be present in more than one software application running on the mobile communication facility. In addition, the speech recognition functionality may be used to not only provide text to applications but may be used to decide on an appropriate action for a user's query and take that action either by performing the action directly, or by invoking an application on the mobile communication facility and providing that application with information related to what the user spoke so that the invoked application may perform the action taking into account the spoken information provided by the user.
In embodiments, the speech recognition facility may also tag the output according to type or meaning of words or word strings and pass this tagging information to the application. Additionally, the speech recognition facility may make use of human transcription input to provide real-term input to the overall system for improved performance. This augmentation by humans may be done in a way which is largely transparent to the end-user.
In embodiments, the present invention may provide all of this functionality to a wide range of devices including special purpose devices such as music players, personal navigation systems, set-top boxes, digital video recorders, in-car devices, and the like. It may also be used in more general purpose computing, entertainment, information, and communication devices.
The system components including the speech recognition facility, user database, content database, and the like may be distributed across a network or in some implementations may be resident on the device itself, or may be a combination of resident and distributed components. Based on the configuration, the system components may be loosely coupled through well-defined communication protocols and APIs or may be tightly tied to the applications or services on the device.
A method and system of entering text into a music system is provided. The method and system may include recording speech presented by a user using a resident capture facility, providing the recording to a speech recognition facility, generating results utilizing the speech recognition facility using an unstructured language model based at least in part on the information relating to the recording, and using the results in the music system.
In embodiments, using user feedback may adapt the unstructured language model.
In embodiments, the speech recognition facility may be remotely located from the music system. The music system may provide information relating to the music application to the speech recognition facility and the generating results is based at least in part on this information.
The information relating to the music application may include at least one of an identity of the application, an identity of a text box within the application, contextual information within the application, an identity of the music system, and an identity of the user. The contextual information may include at least one of the usage history of the music application, information from a user's favorites list or playlists, information about music currently stored on the music system, and information currently displayed in the music application.
In embodiments, the step of generating the results based at least in part on the information relating to the music application involves selecting at least one of a plurality of recognition models based on the information relating to the music application and the recording. The speech recognition facility may select at least one language model based at least in part on the information relating to music system. The at least one selected language model may be at least one of a general language model for artists, a general language models for song titles, and a general language model for music types. The at least one selected language model may be based on an estimate of the type of music the user is interested in.
A method and system of entering text into music system is provided. The method and system may include recording speech presented by a user using a resident capture facility, providing the recording to a speech recognition facility, generating results utilizing the speech recognition facility using an unstructured language model based at least in part on the information relating to the recording, using the results in the music system and adapting the speech recognition facility based on usage.
In embodiments, the speech recognition facility may be remotely located from the music system. In embodiments, adapting the speech recognition facility may be based on usage includes at least one of adapting an acoustic model, adapting a set of pronunciations, adapting a vocabulary, and adapting a language model. Adapting the speech recognition facility may include adapting recognition models based on usage data. Adapting recognition models may make use of the information from the music system about actions taken by the user. Adapting recognition models may be specific to the music system. Adapting recognition models may be specific to text fields within the music application running on the music system or groups of text fields within the music application.
In embodiments, the music system may provide information relating to the music application running on the music system to the speech recognition facility and the generating results is based at least in part on this information. The information may relate to the music application includes at least one of an identity of the application, an identity of a text box within the application, contextual information within the application, an identity of the music system, and an identity of the user.
In embodiments, the step of generating the results based at least in part on the information relating to the music application involves selecting at least one of a plurality of recognition models based on the information relating to the music application and the recording.
A method and system of entering text into a music system is provided. The method and system may include recording speech presented by a user using a resident capture facility, providing the recording to a speech recognition facility, generating results utilizing the speech recognition facility using an unstructured language model based at least in part on the information relating to the recording, allowing the user to alter the results and using the results in the music system.
In embodiments, the speech recognition facility may be remotely located from the music system. The music system may provide information relating to the music application running on the music system to the speech recognition facility and the generating results is based at least in part on music related information.
In embodiments, the step of allowing the user to alter the results may include the user editing a text result using at least one of a set of button or other controls, and a screen-based text correction mechanism on the music system.
In embodiments, the step of allowing the user to alter the results may include the user selecting from among a plurality of alternate choices of words contained in the results from the speech recognition facility.
In embodiments, the step of allowing the user to alter the results includes the user selecting from among a plurality of alternate actions related to the results from the speech recognition facility.
In embodiments, the step of allowing the user to alter the results may include the user selecting words or phrases to alter by speaking or typing.
In embodiments, the step of allowing the user to alter the results includes the user selecting words or phrases to alter by speaking or typing.
These and other systems, methods, objects, features, and advantages of the present invention will be apparent to those skilled in the art from the following detailed description of the preferred embodiment and the drawings. All documents mentioned herein are hereby incorporated in their entirety by reference.
The invention and the following detailed description of certain embodiments thereof may be understood by reference to the following figures:
The current invention may provide an unconstrained, real-time, mobile environment speech processing facility 100, as shown in
In an embodiment of the invention, the user's 130 mobile communications facility 120 may be a mobile phone, programmable through a standard programming language, such as Java, C, Brew, C++, and any other current or future programming language suitable for mobile device applications, software, or functionality. The mobile environment speech processing facility 100 may include a mobile communications facility 120 that is preloaded with one or more applications 112. Whether an application 112 is preloaded or not, the user 130 may download an application 112 to the mobile communications facility 120. The application 112 may be a navigation application, a music player, a music download service, a messaging application such as SMS or email, a video player or search application, a local search application, a mobile search application, a general internet browser, or the like. There may also be multiple applications 112 loaded on the mobile communications facility 120 at the same time. The user 130 may activate the mobile environment speech processing facility's 100 user interface software by starting a program included in the mobile environment speech processing facility 120 or activate it by performing a user 130 action, such as pushing a button or a touch screen to collect audio into a domain application. The audio signal may then be recorded and routed over a network to servers 110 of the mobile environment speech processing facility 100. Text, which may represent the user's 130 spoken words, may be output from the servers 110 and routed back to the user's 130 mobile communications facility 120, such as for display. In embodiments, the user 130 may receive feedback from the mobile environment speech processing facility 100 on the quality of the audio signal, for example, whether the audio signal has the right amplitude; whether the audio signal's amplitude is clipped, such as clipped at the beginning or at the end; whether the signal was too noisy; or the like.
The user 130 may correct the returned text with the mobile phone's keypad or touch screen navigation buttons. This process may occur in real-time, creating an environment where a mix of speaking and typing is enabled in combination with other elements on the display. The corrected text may be routed back to the servers 110, where an Automated Speech Recognition (ASR) Server infrastructure 102 may use the corrections to help model how a user 130 typically speaks, what words are used, how the user 130 tends to use words, in what contexts the user 130 speaks, and the like. The user 130 may speak or type into text boxes, with keystrokes routed back to the ASR server infrastructure 102.
In addition, the hosted servers 110 may be run as an application service provider (ASP). This may allow the benefit of running data from multiple applications 112 and users 130, combining them to make more effective recognition models. This may allow usage based adaptation of speech recognition to the user 130, to the scenario, and to the application 112.
One of the applications 112 may be a navigation application which provides the user 130 one or more of maps, directions, business searches, and the like. The navigation application may make use of a GPS unit in the mobile communications facility 120 or other means to determine the current location of the mobile communications facility 120. The location information may be used both by the mobile environment speech processing facility 100 to predict what users may speak, and may be used to provide better location searches, maps, or directions to the user. The navigation application may use the mobile environment speech processing facility 100 to allow users 130 to enter addresses, business names, search queries and the like by speaking.
Another application 112 may be a messaging application which allows the user 130 to send and receive messages as text via Email, SMS, IM, or the like to and from other people. The messaging application may use the mobile environment speech processing facility 100 to allow users 130 to speak messages which are then turned into text to be sent via the existing text channel.
Another application 112 may be a music application which allows the user 130 to play music, search for locally stored content, search for and download and purchase content from network-side resources and the like. The music application may use the mobile environment speech processing facility 100 to allow users 130 to speak song title, artist names, music categories, and the like which may be used to search for music content locally or in the network, or may allow users 130 to speak commands to control the functionality of the music application.
Another application 112 may be a content search application which allows the user 130 to search for music, video, games, and the like. The content search application may use the mobile environment speech processing facility 100 to allow users 130 to speak song or artist names, music categories, video titles, game titles, and the like which may be used to search for content locally or in the network
Another application 112 may be a local search application which allows the user 130 to search for business, addresses, and the like. The local search application may make use of a GPS unit in the mobile communications facility 120 or other means to determine the current location of the mobile communications facility 120. The current location information may be used both by the mobile environment speech processing facility 100 to predict what users may speak, and may be used to provide better location searches, maps, or directions to the user. The local search application may use the mobile environment speech processing facility 100 to allow users 130 to enter addresses, business names, search queries and the like by speaking.
Another application 112 may be a general search application which allows the user 130 to search for information and content from sources such as the World Wide Web. The general search application may use the mobile environment speech processing facility 100 to allow users 130 to speak arbitrary search queries.
Another application 112 may be a browser application which allows the user 130 to display and interact with arbitrary content from sources such as the World Wide Web. This browser application may have the full or a subset of the functionality of a web browser found on a desktop or laptop computer or may be optimized for a mobile environment. The browser application may use the mobile environment speech processing facility 100 to allow users 130 to enter web addresses, control the browser, select hyperlinks, or fill in text boxes on web pages by speaking.
In an embodiment, the speech recognition facility 142 may be built into a device such as a music device 140 or a navigation system 150. In this case, the speech recognition facility allows users to enter information such as a song or artist name or a navigation destination into the device.
The ASR client 118 may pass audio, or compressed audio, to the ASR router 202. The audio may be sent after all audio is collected or streamed while the audio is still being collected. The audio may include additional information about the state of the ASR client 118 and application 112 in which this client is embedded. This additional information, plus the client ID and phone ID, comprises at least a portion of the client state information. This additional information may include an identifier for the application; an identifier for the particular text field of the application; an identifier for content being viewed in the current application, the URL of the current web page being viewed in a browser for example; or words which are already entered into a current text field. There may be information about what words are before and after the current cursor location, or alternatively, a list of words along with information about the current cursor location. This additional information may also include other information available in the application 112 or mobile communication facility 120 which may be helpful in predicting what users 130 may speak into the application 112 such as the current location of the phone, information about content such as music or videos stored on the phone, history of usage of the application, time of day, and the like.
The ASR client 118 may wait for results to come back from the ASR router 202. Results may be returned as word strings representing the system's hypothesis about the words, which were spoken. The result may include alternate choices of what may have been spoken, such as choices for each word, choices for strings of multiple words, or the like. The ASR client 118 may present words to the user 130, that appear at the current cursor position in the text box, or shown to the user 130 as alternate choices by navigating with the keys on the mobile communications facility 120. The ASR client 118 may allow the user 130 to correct text by using a combination of selecting alternate recognition hypotheses, navigating to words, seeing list of alternatives, navigating to desired choice, selecting desired choice, deleting individual characters, using some delete key on the keypad or touch screen; deleting entire words one at a time; inserting new characters by typing on the keypad; inserting new words by speaking; replacing highlighted words by speaking; or the like. The list of alternatives may be alternate words or strings of word, or may make use of application constraints to provide a list of alternate application-oriented items such as songs, videos, search topics or the like. The ASR client 118 may also give a user 130 a means to indicate that the user 130 would like the application to take some action based on the input text; sending the current state of the input text (accepted text) back to the ASR router 202 when the user 130 selects the application action based on the input text; logging various information about user 130 activity by keeping track of user 130 actions, such as timing and content of keypad or touch screen actions, or corrections, and periodically sending it to the ASR router 202; or the like.
The ASR router 202 may provide a connection between the ASR client 118 and the ASR server 204. The ASR router 202 may wait for connection requests from ASR clients 118. Once a connection request is made, the ASR router 202 may decide which ASR server 204 to use for the session from the ASR client 118. This decision may be based on the current load on each ASR server 204; the best predicted load on each ASR server 204; client state information; information about the state of each ASR server 204, which may include current recognition models 218 loaded on the ASR engine 208 or status of other connections to each ASR server 204; information about the best mapping of client state information to server state information; routing data which comes from the ASR client 118 to the ASR server 204; or the like. The ASR router 202 may also route data, which may come from the ASR server 204, back to the ASR client 118.
The ASR server 204 may wait for connection requests from the ASR router 202. Once a connection request is made, the ASR server 204 may decide which recognition models 218 to use given the client state information coming from the ASR router 202. The ASR server 204 may perform any tasks needed to get the ASR engine 208 ready for recognition requests from the ASR router 202. This may include pre-loading recognition models 218 into memory or doing specific processing needed to get the ASR engine 208 or recognition models 218 ready to perform recognition given the client state information. When a recognition request comes from the ASR router 202, the ASR server 204 may perform recognition on the incoming audio and return the results to the ASR router 202. This may include decompressing the compressed audio information, sending audio to the ASR engine 208, getting results back from the ASR engine 208, optionally applying a process to alter the words based on the text and on the Client State Information (changing “five dollars” to $5 for example), sending resulting recognized text to the ASR router 202, and the like. The process to alter the words based on the text and on the Client State Information may depend on the application 112, for example applying address-specific changes (changing “seventeen dunster street” to “17 dunster st.”) in a location-based application 112 such as navigation or local search, applying internet-specific changes (changing “yahoo dot com” to “yahoo.com”) in a search application 112, and the like.
The ASR router 202 may be a standard internet protocol or http protocol router, and the decisions about which ASR server to use may be influenced by standard rules for determining best servers based on load balancing rules and on content of headers or other information in the data or metadata passed between the ASR client 118 and ASR server 204.
In the case where the speech recognition facility is built-into a device, each of these components may be simplified or non-existent.
The ASR server 204 may log information to the usage data 212 storage. This logged information may include audio coming from the ASR router 202, client state information, recognized text, accepted text, timing information, user 130 actions, and the like. The ASR server 204 may also include a mechanism to examine the audio data and decide if the current recognition models 218 are not appropriate given the characteristics of the audio data and the client state information. In this case the ASR server 204 may load new or additional recognition models 218, do specific processing needed to get ASR engine 208 or recognition models 218 ready to perform recognition given the client state information and characteristics of the audio data, rerun the recognition based on these new models, send back information to the ASR router 202 based on the acoustic characteristics causing the ASR to send the audio to a different ASR server 204, and the like.
The ASR engine 208 may utilize a set of recognition models 218 to process the input audio stream, where there may be a number of parameters controlling the behavior of the ASR engine 208. These may include parameters controlling internal processing components of the ASR engine 208, parameters controlling the amount of processing that the processing components will use, parameters controlling normalizations of the input audio stream, parameters controlling normalizations of the recognition models 218, and the like. The ASR engine 208 may output words representing a hypothesis of what the user 130 said and additional data representing alternate choices for what the user 130 may have said. This may include alternate choices for the entire section of audio; alternate choices for subsections of this audio, where subsections may be phrases (strings of one or more words) or words; scores related to the likelihood that the choice matches words spoken by the user 130; or the like. Additional information supplied by the ASR engine 208 may relate to the performance of the ASR engine 208. The core speech recognition engine 208 may include automated speech recognition (ASR), and may utilize a plurality of models 218, such as acoustic models 220, pronunciations 222, vocabularies 224, language models 228, and the like, in the analysis and translation of user 130 inputs. Personal language models 228 may be biased for first, last name in an address book, user's 130 location, phone number, past usage data, or the like. As a result of this dynamic development of user 130 speech profiles, the user 130 may be free from constraints on how to speak; there may be no grammatical constraints placed on the mobile user 130, such as having to say something in a fixed domain. The user 130 may be able to say anything into the user's 130 mobile communications facility 120, allowing the user 130 to utilize text messaging, searching, entering an address, or the like, and ‘speaking into’ the text field, rather than having to type everything.
The recognition models 218 may control the behavior of the ASR engine 208. These models may contain acoustic models 220, which may control how the ASR engine 208 maps the subsections of the audio signal to the likelihood that the audio signal corresponds to each possible sound making up words in the target language. These acoustic models 220 may be statistical models, Hidden Markov models, may be trained on transcribed speech coming from previous use of the system (training data), multiple acoustic models with each trained on portions of the training data, models specific to specific users 130 or groups of users 130, or the like. These acoustic models may also have parameters controlling the detailed behavior of the models. The recognition models 218 may include acoustic mappings, which represent possible acoustic transformation effects, may include multiple acoustic mappings representing different possible acoustic transformations, and these mappings may apply to the feature space of the ASR engine 208. The recognition models 218 may include representations of the pronunciations 222 of words in the target language. These pronunciations 222 may be manually created by humans, derived through a mechanism which converts spelling of words to likely pronunciations, derived based on spoken samples of the word, and may include multiple possible pronunciations for each word in the vocabulary 224, multiple sets of pronunciations for the collection of words in the vocabulary 224, and the like. The recognition models 218 may include language models 228, which represent the likelihood of various word sequences that may be spoken by the user 130. These language models 228 may be statistical language models, n-gram statistical language models, conditional statistical language models which take into account the client state information, may be created by combining the effects of multiple individual language models, and the like. The recognition models 218 may include multiple language models 228 which may be used in a variety of combinations by the ASR engine 208. The multiple language models 228 may include language models 228 meant to represent the likely utterances of a particular user 130 or group of users 130. The language models 228 may be specific to the application 112 or type of application 112.
In embodiments, methods and systems disclosed herein may function independent of the structured grammar required in most conventional speech recognition systems. As used herein, references to “unstructured grammar” and “unstructured language models” should be understood to encompass language models and speech recognition systems that allow speech recognition systems to recognize a wide variety of input from users by avoiding rigid constraints or rules on what words can follow other words. One implementation of an unstructured language model is to use statistical language models, as described throughout this disclosure, which allow a speech recognition system to recognize any possible sequence of a known list of vocabulary items with the ability to assign a probability to any possible word sequence. One implementation of statistical language models is to use n-gram models, which model probabilities of sequences of n words. These n-gram probabilities are estimated based on observations of the word sequences in a set of training or adaptation data. Such a statistical language model typically has estimation strategies for approximating the probabilities of unseen n-gram word sequences, typically based on probabilities of shorter sequences of words (so, a 3-gram model would make use of 2-gram and 1-gram models to estimate probabilities of 3-gram word sequences which were not well represented in the training data). References throughout to unstructured grammars, unstructured language models, and operation independent of a structured grammar or language model encompass all such language models, including such statistical language models.
The multiple language models 228 may include language models 228 designed to model words, phrases, and sentences used by people speaking destinations for a navigation or local search application 112 or the like. These multiple language models 228 may include language models 228 about locations, language models 228 about business names, language models 228 about business categories, language models 228 about points of interest, language models 228 about addresses, and the like. Each of these types of language models 228 may be general models which provide broad coverage for each of the particular type of ways of entering a destination or may be specific models which are meant to model the particular businesses, business categories, points of interest, or addresses which appear only within a particular geographic region.
The multiple language models 228 may include language models 228 designed to model words, phrases, and sentences used by people speaking into messaging applications 112. These language models 228 may include language models 228 specific to addresses, headers, and content fields of a messaging application 112. These multiple language models 228 may be specific to particular types of messages or messaging application 112 types.
The multiple language models 228 may include language models 228 designed to model words, phrases, and sentences used by people speaking search terms for content such as music, videos, games, and the like. These multiple language models 228 may include language models 228 representing artist names, song names, movie titles, TV show, popular artists, and the like. These multiple language models 228 may be specific to various types of content such as music or video category or may cover multiple categories.
The multiple language models 228 may include language models 228 designed to model words, phrases, and sentences used by people speaking general search terms into a search application. The multiple language models 228 may include language models 228 for particular types of search including content search, local search, business search, people search, and the like.
The multiple language models 228 may include language models 228 designed to model words, phrases, and sentences used by people speaking text into a general internet browser. These multiple language models 228 may include language models 228 for particular types of web pages or text entry fields such as search, form filling, dates, times, and the like.
Usage data 212 may be a stored set of usage data 212 from the users 130 of the service that includes stored digitized audio that may be compressed audio; client state information from each audio segment; accepted text from the ASR client 118; logs of user 130 behavior, such as key-presses; and the like. Usage data 212 may also be the result of human transcription 210 of stored audio, such as words that were spoken by user 130, additional information such as noise markers, and information about the speaker such as gender or degree of accent, or the like.
Human transcription 210 may be software and processes for a human to listen to audio stored in usage data 212, and annotate data with words which were spoken, additional information such as noise markers, truncated words, information about the speaker such as gender or degree of accent, or the like. A transcriber may be presented with hypothesized text from the system or presented with accepted text from the system. The human transcription 210 may also include a mechanism to target transcriptions to a particular subset of usage data 212. This mechanism may be based on confidence scores of the hypothesized transcriptions from the ASR server 204.
The adaptation process 214 may adapt recognition models 218 based on usage data 212. Another criterion for adaptation 214 may be to reduce the number of errors that the ASR engine 208 would have made on the usage data 212, such as by rerunning the audio through the ASR engine 208 to see if there is a better match of the recognized words to what the user 130 actually said. The adaptation 214 techniques may attempt to estimate what the user 130 actually said from the annotations of the human transcription 210, from the accepted text, from other information derived from the usage data 212, or the like. The adaptation 214 techniques may also make use of client state information 514 to produce recognition models 218 that are personalized to an individual user 130 or group of users 130. For a given user 130 or group of users 130, these personalized recognition models 218 may be created from usage data 212 for that user 130 or group, as well as data from users 130 outside of the group such as through collaborative-filtering techniques to determine usage patterns from a large group of users 130. The adaptation process 214 may also make use of application information to adapt recognition models 218 for specific domain applications 112 or text fields within domain applications 112. The adaptation process 214 may make use of information in the usage data 212 to adapt multiple language models 228 based on information in the annotations of the human transcription 210, from the accepted text, from other information derived from the usage data 212, or the like. The adaptation process 214 may make use of external information sources 124 to adapt the recognition models 218. These external information sources 124 may contain recordings of speech, may contain information about the pronunciations of words, may contain examples of words that users 130 may speak into particular applications, may contain examples of phrases and sentences which users 130 may speak into particular applications, and may contain structured information about underlying entities or concepts that users 130 may speak about. The external information sources 124 may include databases of location entities including city and state names, geographic area names, zip codes, business names, business categories, points of interest, street names, street number ranges on streets, and other information related to locations and destinations. These databases of location entities may include links between the various entities such as which businesses and streets appear in which geographic locations and the like. The external information 124 may include sources of popular entertainment content such as music, videos, games, and the like. The external information 124 may include information about popular search terms, recent news headlines, or other sources of information which may help predict what users may speak into a particular application 112. The external information sources 124 may be specific to a particular application 112, group of applications 112, user 130, or group of users 130. The external information sources 124 may include pronunciations of words that users may use. The external information 124 may include recordings of people speaking a variety of possible words, phrases, or sentences. The adaptation process 214 may include the ability to convert structured information about underlying entities or concepts into words, phrases, or sentences which users 130 may speak in order to refer to those entities or concepts. The adaptation process 214 may include the ability to adapt each of the multiple language models 228 based on relevant subsets of the external information sources 124 and usage data 212. This adaptation 214 of language models 228 on subsets of external information source 124 and usage data 212 may include adapting geographic location-specific language models 228 based on location entities and usage data 212 from only that geographic location, adapting application-specific language models based on the particular application 112 type, adaptation 124 based on related data or usages, or may include adapting 124 language models 228 specific to particular users 130 or groups of users 130 on usage data 212 from just that user 130 or group of users 130.
The user database 104 may be updated by a web registration 108 process, by new information coming from the ASR router 202, by new information coming from the ASR server 204, by tracking application usage statistics, or the like. Within the user database 104 there may be two separate databases, the ASR database and the user database 104. The ASR database may contain a plurality of tables, such as asr_servers; asr_routers; asr_am (AM, profile name & min server count); asr_monitor (debugging), and the like. The user 130 database 104 may also contain a plurality of tables, such as a clients table including client ID, user 130 ID, primary user 130 ID, phone number, carrier, phone make, phone model, and the like; a users 130 table including user 130 ID, developer permissions, registration time, last activity time, activity count recent AM ID, recent LM ID, session count, last session timestamp, AM ID (default AM for user 130 used from priming), and the like; a user 130 preferences table including user 130 ID, sort, results, radius, saved searches, recent searches, home address, city, state (for geocoding), last address, city, state (for geocoding), recent locations, city to state map (used to automatically disambiguate one-to-many city/state relationship) and the like; user 130 private table including user 130 ID, first and last name, email, password, gender, type of user 130 (e.g. data collection, developer, VIP, etc), age and the like; user 130 parameters table including user 130 ID, recognition server URL, proxy server URL, start page URL, logging server URL, logging level, isLogging, isDeveloper, or the like; clients updates table used to send update notices to clients, including client ID, last known version, available version, minimum available version, time last updated, time last reminded, count since update available, count since last reminded, reminders sent, reminder count threshold, reminder time threshold, update URL, update version, update message, and the like; or other similar tables, such as application usage data 212 not related to ASR.
The browser proxy 304 may act as an enhanced HTML browser that issues http requests for pages, http requests for links, interprets HTML pages, or the like. The browser proxy 304 may convert user 130 interface elements into a form required for the browser rendering facility 302. The browser proxy 304 may also handle TTS requests from the browser rendering facility 302; such as sending text to the TTS server 308; receiving audio from the TTS server 308 that may be in compressed format; sending audio to the browser rendering facility 302 that may also be in compressed format; and the like.
Other blocks of the browser-based application infrastructure 300 may include a TTS server 308, TTS engine 310, SAMP 312, user 130 database 104 (previously described), the World Wide Web 330, and the like. The TTS server 308 may accept TTS requests, send requests to the TTS engine 310, receive audio from the TTS engine 310, send audio to the browser proxy 304, and the like. The TTS engine 310 may accept TTS requests, generate audio corresponding to words in the text of the request, send audio to the TTS server 308, and the like. The SAMP 312 may handle application requests from the browser proxy 304, behave similar to a web application 330, include a text-box router 314, include domain applications 318, include a scrapper 320, and the like. The text-box router 314 may accept text as input, similar to a search engine's search box, semantically parsing input text using geocoding, key word and phrase detection, pattern matching, and the like. The text-box router 314 may also route parse requests accordingly to appropriate domain applications 318 or the World Wide Web 330. Domain applications 318 may refer to a number of different domain applications 318 that may interact with content on the World Wide Web 330 to provide application-specific functionality to the browser proxy. And finally, the scrapper 320 may act as a generic interface to obtain information from the World Wide Web 330 (e.g., web services, SOAP, RSS, HTML, scrapping, and the like) and formatting it for the small mobile screen.
The process to combine recognition output may make use of multiple recognition hypotheses from multiple recognition passes. These multiple hypotheses may be represented as multiple complete sentences or phrases, or may be represented as a directed graph allowing multiple choices for each word. The recognition hypotheses may include scores representing likelihood or confidence of words, phrases, or sentences. The recognition hypotheses may also include timing information about when words and phrases start and stop. The process to combine recognition output may choose entire sentences or phrases from the sets of hypotheses or may construct new sentences or phrases by combining words or fragments of sentences or phrases from multiple hypotheses. The choice of output may depend on the likelihood or confidence scores and may take into account the time boundaries of the words and phrases.
This top-level control may also be applied to other types of devices such as music players, navigation systems, or other special or general-purpose devices. In this case, the top-level control allows users to invoke functionality or applications across the device using speech input.
This top-level control may make use of adaptation to improve the speech recognition results. This adaptation may make use of history of usage by the particular user to improve the performance of the recognition models. The adaptation of the recognition models may include adapting acoustic models, adapting pronunciations, adapting vocabularies, and adapting language models. The adaptation may also make use of history of usage across many users. The adaptation may make use of any correction or changes made by the user. The adaptation may also make use of human transcriptions created after the usage of the system.
This top level control may make use of adaptation to improve the performance of the word and phrase-level tagging. This adaptation may make use of history of usage by the particular user to improve the performance of the models used by the tagging. The adaptation may also make use of history of usage by other users to improve the performance of the models used by the tagging. The adaptation may make use of change or corrections made by the user. The adaptation may also make use of human transcription of appropriate tags created after the usage of the system,
This top level control may make use of adaptation to improve the performance selection of the action. This adaptation may make use of history of usage by the particular user to improve the performance of the models and rules used by this action selection. The adaptation may also make use of history of usage by other users to improve the performance of the models and rules used by the action selection. The adaptation may make use of change or corrections made by the user. The adaptation may also make use of human transcription of appropriate actions after the usage of the system. It should be understood that these and other forms of adaptation may be used in the various embodiments disclosed throughout this disclosure where the potential for adaptation is noted.
Although there are mobile phones with full alphanumeric keyboards, most mass-market devices are restricted to the standard telephone keypad 802, such as shown in
Text may be entered in the current cursor position in multi-tap mode, as shown in
Referring to
Referring to
Referring again briefly to
Referring to
Referring again to
As shown in
As shown in
As shown in
As shown in
As shown in
As shown in
As shown in
Router control packets may be sent between the ASR client 118, ASR router 202, and ASR servers 204, to help control the ASR router 202 during runtime. One of a plurality of router control packets may be a get router status packet. The packet format for the get router status packet may have a specific format, such as Packet type=ROUTER_CONTROL, with Data=GetRouterStatus\0. The communication path may be one or more of the following: (1) entity sends this packet to the ASR router 202 and (2) ASR router 202 may respond with a status packet.
Another of a plurality of router control packets may be a busy out ASR server packet. The packet format for the busy out ASR server packet may have a specific format, such as Packet type=ROUTER_CONTROL, with Data=BusyOutASRServer: <ASR Server ID>\0. Upon receiving the busy out ASR server packet, the ASR router 202 may continue to finish up the existing sessions between the ASR router 202 and the ASR server 204 identified by the <ASR Server ID>, and the ASR router 202 may not start a new session with the said ASR server 204. Once all existing sessions are finished, the ASR router 202 may remove the said ASR server 204 from its ActiveServer array. The communication path may be (1) entity sends this packet to the ASR router 202 and (2) ASR router 202 responds with ACK packet with the following format: Packet type=TEXT, and Data=ACK\0.
Another of a plurality of router control packets may be an immediately remove ASR server packet. The packet format for the immediately remove ASR server packet may have a specific format, such as Packet type=ROUTER_CONTROL, with Data=RemoveASRServer: <ASR Server ID>\0. Upon receiving the immediately remove ASR server packet, the ASR router 202 may immediately disconnect all current sessions between the ASR router 202 and the ASR server 204 identified by the <ASR Server ID>, and the ASR router 202 may also immediately remove the said ASR server 204 from its Active Server array. The communication path may be (1) entity sends this packet to the ASR router 202 and (2) ASR router 202 responds with ACK packet with the following format: Packet type=TEXT, and Data=ACK\0.
Another of a plurality of router control packets may be an add of an ASR server 204 to the router packet. When an ASR server 204 is initially started, it may send the router(s) this packet. The ASR router 202 in turn may add this ASR server 204 to its Active Server array after establishing this ASR server 204 is indeed functional. The packet format for the add an ASR server 204 to the ASR router 202 may have a specific format, such as Packet type=ROUTER_CONTROL, with Data=AddASRServer: ID=<server id> IP=<server ip address> PORT=<server port> AM=<server AM integer> LM=<server LM integer> NAME=<server name string> PROTOCOL=<server protocol float>. The communication path may be (1) entity sends this packet to the ASR router 202 and (2) ASR router 202 responds with ACK packet with the following format: Packet type=TEXT, and Data=ACK\0.
Another of a plurality of router control packets may be an alter router logging format packet. This function may cause the ASR router 202 to read a logging.properties file, and update its logging format during runtime. This may be useful for debugging purposes. The location of the logging.properties file may be specified when the ASR router 202 is started. The packet format for the alter router logging format may have a specific format, such as Packet type=ROUTER_CONTROL, with Data=ReadLogConfigurationFile. The communications path may be (1) entity sends this packet to the ASR router 202 and (2) ASR router 202 responds with ACK packet with the following format: Packet type=TEXT, and Data=ACK\0.
Another of a plurality of router control packets may be a get ASR server status packet. The ASR server 204 may self report the status of the current ASR server 204 with this packet. The packet format for the get ASR server 204 status may have a specific format, such as Packet type=ROUTER_CONTROL, with data=RequestStatus\0. The communications path may be (1) entity sends this packet to the ASRServer 204 and (2) ASR Server 204 responds with a status packet with the following format: Packet type=TEXT; Data=ASRServerStatus: Status=<1 for ok or 0 for error> AM=<AM id> LM=<LM id> NumSessions=<number of active sessions> NumUtts=<number of queued utterances> TimeSinceLastRec=<seconds since last recognizer activity>\n Session: client=<client id> speaker=<speaker id> sessioncount=<sessioncount>\n<other Session: line if other sessions exist>\n \0. This router control packet may be used by the ASR router 202 when establishing whether or not an ASR server 204 is indeed functional.
There may be a plurality of message packets associated with communications between the ASR client 118, ASR router 202, and ASR servers 204, such as error, warning, and status. The error message packet may be associated with an irrecoverable error, the warning message packet may be associated with a recoverable error, and a status message packet may be informational. All three types of messages may contain strings of the format: “<messageType><message>message</message><cause>cause</cause><code>code</code></messageType>”.
Wherein “messageType” is one of either “status,” “warning,” or “error”; “message” is intended to be displayed to the user; “cause” is intended for debugging; and “code” is intended to trigger additional actions by the receiver of the message.
The error packet may be sent when a non-recoverable error occurs and is detected. After an error packet has been sent, the connection may be terminated in 5 seconds by the originator if not already closed by the receiver. The packet format for error may have a specific format, such as Packet type=MESSAGE; and Data=“<error><message>error message</message><cause>error cause</cause><code>error code</code></error>”. The communication path from ASR client 118 (the originator) to ASR server 204 (the receiver) may be (1) ASR client 118 sends error packet to ASR server 204, (2) ASR server 204 should close connection immediately and handle error, and (3) ASR client 118 will close connection in 5 seconds if connection is still live. There are a number of potential causes for the transmission of an error packet, such as the ASR has received beginning of stream (BOS), but has not received end of stream (EOS) or any waveform packets for 20 seconds; a client has received corrupted data; the ASR server 204 has received corrupted data; and the like. Examples of corrupted data may be invalid packet type, checksum mismatch, packet length greater than maximum packet size, and the like.
The warning packet may be sent when a recoverable error occurs and is detected. After a warning packet has been sent, the current request being handled may be halted. The packet format for warning may have a specific format, such as Packet type=MESSAGE; Data=“<warning><message>warning message</message><cause>warning cause</cause><code>warning code</code></warning>”. The communications path from ASR client 118 to ASR server 204 may be (1) ASR client 118 sends warning packet to ASR server 204 and (2) ASR server 204 should immediately handle the warning. The communications path from ASR server 204 to ASR client 118 may be (1) ASR server 204 sends error packet to ASR client 118 and (2) ASR client 118 should immediately handle warning. There are a number of potential causes for the transmission of a warning packet; such as there are no available ASR servers 204 to handle the request ModelID because the ASR servers 204 are busy.
The status packets may be informational. They may be sent asynchronously and do not disturb any processing requests. The packet format for status may have a specific format, such as Packet type=MESSAGE; Data=“<status><message>status message</message><cause>status cause</cause><code>status code</code></status>”. The communications path from ASR client 118 to ASR server 204 may be (1) ASR client 118 sends status packet to ASR server 204 and (2) ASR server 204 should handle status. The communication path from ASR server 204 to ASR client 118 may be (1) ASR server 204 sends status packet to ASR client 118 and (2) ASR client 118 should handle status. There are a number of potential causes for the transmission of a status packet, such as an ASR server 204 detects a model ID change for a waveform, server timeout, server error, and the like.
The elements depicted in flow charts and block diagrams throughout the figures imply logical boundaries between the elements. However, according to software or hardware engineering practices, the depicted elements and the functions thereof may be implemented as parts of a monolithic software structure, as standalone software modules, or as modules that employ external routines, code, services, and so forth, or any combination of these, and all such implementations are within the scope of the present disclosure. Thus, while the foregoing drawings and description set forth functional aspects of the disclosed systems, no particular arrangement of software for implementing these functional aspects should be inferred from these descriptions unless explicitly stated or otherwise clear from the context.
Similarly, it will be appreciated that the various steps identified and described above may be varied, and that the order of steps may be adapted to particular applications of the techniques disclosed herein. All such variations and modifications are intended to fall within the scope of this disclosure. As such, the depiction and/or description of an order for various steps should not be understood to require a particular order of execution for those steps, unless required by a particular application, or explicitly stated or otherwise clear from the context.
The methods or processes described above, and steps thereof, may be realized in hardware, software, or any combination of these suitable for a particular application. The hardware may include a general-purpose computer and/or dedicated computing device. The processes may be realized in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable device, along with internal and/or external memory. The processes may also, or instead, be embodied in an application specific integrated circuit, a programmable gate array, programmable array logic, or any other device or combination of devices that may be configured to process electronic signals. It will further be appreciated that one or more of the processes may be realized as computer executable code created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software.
Thus, in one aspect, each method described above and combinations thereof may be embodied in computer executable code that, when executing on one or more computing devices, performs the steps thereof. In another aspect, the methods may be embodied in systems that perform the steps thereof, and may be distributed across devices in a number of ways, or all of the functionality may be integrated into a dedicated, standalone device or other hardware. In another aspect, means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.
While the invention has been disclosed in connection with the preferred embodiments shown and described in detail, various modifications and improvements thereon will become readily apparent to those skilled in the art. Accordingly, the spirit and scope of the present invention is not to be limited by the foregoing examples, but is to be understood in the broadest sense allowable by law.
All documents referenced herein are hereby incorporated by reference.
This application claims the benefit of the following provisional applications, each of which is hereby incorporated by reference in its entirety: U.S. Provisional App. Ser. No. 60976050 filed Sep. 28, 2007; U.S. Provisional App. Ser. No. 60977143 filed Oct. 3, 2007; and U.S. Provisional App. Ser. No. 61034794 filed Mar. 7, 2008. This application is a continuation-in-part of the following U.S. patent applications, each of which is incorporated by reference in its entirety: U.S. patent application Ser. No. 11/865,692 filed Oct. 1, 2007; U.S. patent application Ser. No. 11/865,694 filed Oct. 1, 2007; U.S. patent application Ser. No. 11/865,697 filed Oct. 1, 2007; U.S. patent application Ser. No. 11/866,675 filed Oct. 3, 2007; U.S. patent application Ser. No. 11/866,704 filed Oct. 3, 2007; U.S. patent application Ser. No. 11/866,725 filed Oct. 3, 2007; U.S. patent application Ser. No. 11/866,755 filed Oct. 3, 2007; U.S. patent application Ser. No. 11/866,777 filed Oct. 3, 2007; U.S. patent application Ser. No. 11/866,804 filed Oct. 3, 2007; U.S. patent application Ser. No. 11/866,818 filed Oct. 3, 2007; and U.S. patent application Ser. No. 12/044,573 filed Mar. 7, 2008 which claims the benefit of U.S. Provisional App. Ser. No. 60893600 filed Mar. 7, 2007. This application is a continuation of U.S. patent application Ser. No. 12/123,952 filed May 20, 2008. This application claims priority to international patent application Ser. No. PCTUS2008056242 filed Mar. 7, 2008.
Number | Name | Date | Kind |
---|---|---|---|
5613036 | Strong | Mar 1997 | A |
5632002 | Hashimoto et al. | May 1997 | A |
5717828 | Rothenberg | Feb 1998 | A |
5748191 | Rozak et al. | May 1998 | A |
5749072 | Mazurkiewicz | May 1998 | A |
5806034 | Naylor et al. | Sep 1998 | A |
5890122 | Van et al. | Mar 1999 | A |
5949886 | Nevins et al. | Aug 1999 | A |
6081779 | Besling et al. | Jun 2000 | A |
6101467 | Bartosik | Aug 2000 | A |
6154722 | Bellegarda | Nov 2000 | A |
6192339 | Cox | Feb 2001 | B1 |
6374226 | Hunt et al. | Apr 2002 | B1 |
6418410 | Nassiff et al. | Jul 2002 | B1 |
6453281 | Walters et al. | Sep 2002 | B1 |
6487534 | Thelen et al. | Nov 2002 | B1 |
6513010 | Lewin | Jan 2003 | B1 |
6532446 | King | Mar 2003 | B1 |
6704707 | Anderson et al. | Mar 2004 | B2 |
6718308 | Nolting | Apr 2004 | B1 |
6757655 | Besling et al. | Jun 2004 | B1 |
6757718 | Halverson et al. | Jun 2004 | B1 |
6766294 | Macginite et al. | Jul 2004 | B2 |
6766295 | Murveit et al. | Jul 2004 | B1 |
6785647 | Hutchison | Aug 2004 | B2 |
6785654 | Cyr et al. | Aug 2004 | B2 |
6792291 | Topol et al. | Sep 2004 | B1 |
6807574 | Partovi et al. | Oct 2004 | B1 |
6823307 | Steinbiss et al. | Nov 2004 | B1 |
6832196 | Reich | Dec 2004 | B2 |
6839667 | Reich | Jan 2005 | B2 |
6839670 | Stammler et al. | Jan 2005 | B1 |
6856957 | Dumoulin | Feb 2005 | B1 |
6868385 | Gerson | Mar 2005 | B1 |
6910003 | Arnold et al. | Jun 2005 | B1 |
6934684 | Alpdemir et al. | Aug 2005 | B2 |
6941264 | Konopka et al. | Sep 2005 | B2 |
6999930 | Roberts | Feb 2006 | B1 |
7003463 | Maes et al. | Feb 2006 | B1 |
7003464 | Ferrans et al. | Feb 2006 | B2 |
7013265 | Huang et al. | Mar 2006 | B2 |
7013275 | Arnold et al. | Mar 2006 | B2 |
7016827 | Ramaswamy | Mar 2006 | B1 |
7027975 | Pazandak et al. | Apr 2006 | B1 |
7035804 | Saindon et al. | Apr 2006 | B2 |
7062444 | He et al. | Jun 2006 | B2 |
7085723 | Ross et al. | Aug 2006 | B2 |
7120582 | Young et al. | Oct 2006 | B1 |
7139715 | Dragosh et al. | Nov 2006 | B2 |
7174297 | Guerra et al. | Feb 2007 | B2 |
7203651 | Baruch et al. | Apr 2007 | B2 |
7203721 | Ben-Efraim et al. | Apr 2007 | B1 |
7209880 | Gajic et al. | Apr 2007 | B1 |
7225130 | Roth et al. | May 2007 | B2 |
7228275 | Endo et al. | Jun 2007 | B1 |
7236931 | He et al. | Jun 2007 | B2 |
7277853 | Bou-Ghazale et al. | Oct 2007 | B1 |
7283850 | Granovetter et al. | Oct 2007 | B2 |
7302383 | Valles | Nov 2007 | B2 |
7302390 | Yang et al. | Nov 2007 | B2 |
7302394 | Baray et al. | Nov 2007 | B1 |
7308404 | Venkataraman et al. | Dec 2007 | B2 |
7313526 | Roth et al. | Dec 2007 | B2 |
7328155 | Endo et al. | Feb 2008 | B2 |
7340395 | Gurram et al. | Mar 2008 | B2 |
7376586 | Partovi et al. | May 2008 | B1 |
7409349 | Wang et al. | Aug 2008 | B2 |
7437291 | Stewart et al. | Oct 2008 | B1 |
7451085 | Rose et al. | Nov 2008 | B2 |
7478038 | Chelba et al. | Jan 2009 | B2 |
7487440 | Gergic et al. | Feb 2009 | B2 |
7509588 | Van Os | Mar 2009 | B2 |
7555431 | Bennett | Jun 2009 | B2 |
7558731 | Hodjat et al. | Jul 2009 | B1 |
7574672 | Jobs | Aug 2009 | B2 |
7584102 | Hwang et al. | Sep 2009 | B2 |
7603276 | Yoshizawa | Oct 2009 | B2 |
7624018 | Chambers et al. | Nov 2009 | B2 |
7647225 | Bennett et al. | Jan 2010 | B2 |
7657828 | Lucas et al. | Feb 2010 | B2 |
7672543 | Hull et al. | Mar 2010 | B2 |
7676367 | Roth et al. | Mar 2010 | B2 |
7678984 | Lamere | Mar 2010 | B1 |
7689416 | Poirier | Mar 2010 | B1 |
7689420 | Pack et al. | Mar 2010 | B2 |
7716051 | Dow et al. | May 2010 | B2 |
7725307 | Bennett | May 2010 | B2 |
7725320 | Bennett | May 2010 | B2 |
7729904 | Bennett | Jun 2010 | B2 |
7752043 | Watson | Jul 2010 | B2 |
7752152 | Paek et al. | Jul 2010 | B2 |
7756708 | Cohen et al. | Jul 2010 | B2 |
7774202 | Spengler et al. | Aug 2010 | B2 |
7831429 | O'Hagan | Nov 2010 | B2 |
7839532 | Brawn et al. | Nov 2010 | B2 |
7921011 | Hernandez Abrego et al. | Apr 2011 | B2 |
7956846 | Ording et al. | Jun 2011 | B2 |
7979277 | Larri et al. | Jul 2011 | B2 |
7983912 | Hirakawa et al. | Jul 2011 | B2 |
8032373 | Dunsmuir | Oct 2011 | B2 |
8056070 | Goller et al. | Nov 2011 | B2 |
8086604 | Arrouye et al. | Dec 2011 | B2 |
8175867 | Bou-Ghazale et al. | May 2012 | B2 |
8311835 | Lecoeuche | Nov 2012 | B2 |
8332218 | Cross, Jr. et al. | Dec 2012 | B2 |
8838457 | Cerra et al. | Sep 2014 | B2 |
8880405 | Cerra et al. | Nov 2014 | B2 |
8886540 | Cerra et al. | Nov 2014 | B2 |
8886545 | Meisel et al. | Nov 2014 | B2 |
8949130 | Phillips | Feb 2015 | B2 |
8949266 | Phillips et al. | Feb 2015 | B2 |
20010047258 | Rodrigo | Nov 2001 | A1 |
20020010582 | Firman | Jan 2002 | A1 |
20020055844 | L'Esperance et al. | May 2002 | A1 |
20020072896 | Roberge et al. | Jun 2002 | A1 |
20020087315 | Lee et al. | Jul 2002 | A1 |
20020091515 | Garudadri | Jul 2002 | A1 |
20020091527 | Shiau | Jul 2002 | A1 |
20020097692 | Ruotoistenmaki | Jul 2002 | A1 |
20020099542 | Mitchell et al. | Jul 2002 | A1 |
20020161579 | Saindon et al. | Oct 2002 | A1 |
20020193986 | Schirris | Dec 2002 | A1 |
20020194000 | Bennett et al. | Dec 2002 | A1 |
20030023440 | Chu | Jan 2003 | A1 |
20030033288 | Shanahan et al. | Feb 2003 | A1 |
20030036903 | Konopka et al. | Feb 2003 | A1 |
20030050783 | Yoshizawa | Mar 2003 | A1 |
20030061200 | Hubert et al. | Mar 2003 | A1 |
20030074183 | Eisele et al. | Apr 2003 | A1 |
20030101054 | Davis et al. | May 2003 | A1 |
20030115289 | Chinn et al. | Jun 2003 | A1 |
20030125955 | Arnold et al. | Jul 2003 | A1 |
20030167167 | Gong | Sep 2003 | A1 |
20030182131 | Arnold et al. | Sep 2003 | A1 |
20030236672 | Aaron et al. | Dec 2003 | A1 |
20040025669 | Hughes | Feb 2004 | A1 |
20040054539 | Simpson | Mar 2004 | A1 |
20040078191 | Tian et al. | Apr 2004 | A1 |
20040078202 | Kamiya | Apr 2004 | A1 |
20040083092 | Valles | Apr 2004 | A1 |
20040083109 | Halonen | Apr 2004 | A1 |
20040117188 | Kiecza et al. | Jun 2004 | A1 |
20040117189 | Bennett | Jun 2004 | A1 |
20040128137 | Bush et al. | Jul 2004 | A1 |
20040138890 | Ferrans et al. | Jul 2004 | A1 |
20040148170 | Acero et al. | Jul 2004 | A1 |
20040176958 | Salmenkaita | Sep 2004 | A1 |
20040192384 | Anastasakos et al. | Sep 2004 | A1 |
20040215449 | Roy | Oct 2004 | A1 |
20040230637 | Lecoueche et al. | Nov 2004 | A1 |
20040236580 | Bennett | Nov 2004 | A1 |
20040243307 | Geelen | Dec 2004 | A1 |
20040260438 | Chernetsky et al. | Dec 2004 | A1 |
20040260543 | Horowitz et al. | Dec 2004 | A1 |
20040267518 | Kashima et al. | Dec 2004 | A1 |
20050004798 | Kaminuma et al. | Jan 2005 | A1 |
20050043947 | Roth et al. | Feb 2005 | A1 |
20050043949 | Roth et al. | Feb 2005 | A1 |
20050055210 | Venkataraman | Mar 2005 | A1 |
20050065779 | Odinak | Mar 2005 | A1 |
20050091037 | Haluptzok et al. | Apr 2005 | A1 |
20050114122 | Uhrbach et al. | May 2005 | A1 |
20050137878 | Roth et al. | Jun 2005 | A1 |
20050149327 | Roth et al. | Jul 2005 | A1 |
20050154692 | Jacobsen | Jul 2005 | A1 |
20050159949 | Yu et al. | Jul 2005 | A1 |
20050159950 | Roth et al. | Jul 2005 | A1 |
20050201540 | Rampey et al. | Sep 2005 | A1 |
20050203740 | Chambers et al. | Sep 2005 | A1 |
20050203751 | Stevens et al. | Sep 2005 | A1 |
20050234723 | Arnold | Oct 2005 | A1 |
20050283364 | Longe | Dec 2005 | A1 |
20050288005 | Roth et al. | Dec 2005 | A1 |
20060009965 | Gao et al. | Jan 2006 | A1 |
20060009974 | Junqua et al. | Jan 2006 | A1 |
20060009980 | Burke et al. | Jan 2006 | A1 |
20060026140 | King et al. | Feb 2006 | A1 |
20060058996 | Barker | Mar 2006 | A1 |
20060080103 | Van Breemen | Apr 2006 | A1 |
20060080105 | Lee et al. | Apr 2006 | A1 |
20060085186 | Ma et al. | Apr 2006 | A1 |
20060089798 | Kaufman et al. | Apr 2006 | A1 |
20060095266 | McA'Nulty et al. | May 2006 | A1 |
20060136221 | James et al. | Jun 2006 | A1 |
20060149551 | Ganong, III et al. | Jul 2006 | A1 |
20060167686 | Kahn | Jul 2006 | A1 |
20060173683 | Roth et al. | Aug 2006 | A1 |
20060173684 | Fischer et al. | Aug 2006 | A1 |
20060182346 | Yoda et al. | Aug 2006 | A1 |
20060195323 | Monne et al. | Aug 2006 | A1 |
20060200449 | Pauws | Sep 2006 | A1 |
20060212451 | Serdy, Jr. et al. | Sep 2006 | A1 |
20060235684 | Chang | Oct 2006 | A1 |
20060247915 | Bradford et al. | Nov 2006 | A1 |
20060271364 | Mirkovic et al. | Nov 2006 | A1 |
20060293889 | Kiss et al. | Dec 2006 | A1 |
20060293893 | Horvitz | Dec 2006 | A1 |
20070005363 | Cucerzan et al. | Jan 2007 | A1 |
20070033037 | Mowatt et al. | Feb 2007 | A1 |
20070033055 | Tanaka | Feb 2007 | A1 |
20070038436 | Cristo et al. | Feb 2007 | A1 |
20070038461 | Abbott et al. | Feb 2007 | A1 |
20070046982 | Hull et al. | Mar 2007 | A1 |
20070047818 | Hull | Mar 2007 | A1 |
20070049682 | Walsh | Mar 2007 | A1 |
20070050360 | Hull et al. | Mar 2007 | A1 |
20070053360 | Hino et al. | Mar 2007 | A1 |
20070053380 | Graham | Mar 2007 | A1 |
20070059195 | Patterson | Mar 2007 | A1 |
20070061147 | Monne et al. | Mar 2007 | A1 |
20070061148 | Cross, Jr. et al. | Mar 2007 | A1 |
20070078822 | Cucerzan | Apr 2007 | A1 |
20070088556 | Andrew | Apr 2007 | A1 |
20070100624 | Weng | May 2007 | A1 |
20070100635 | Mahajan et al. | May 2007 | A1 |
20070150278 | Bates et al. | Jun 2007 | A1 |
20070162282 | Odinak | Jul 2007 | A1 |
20070174058 | Burns et al. | Jul 2007 | A1 |
20070198273 | Hennecke | Aug 2007 | A1 |
20070208567 | Amento et al. | Sep 2007 | A1 |
20070219974 | Chickering et al. | Sep 2007 | A1 |
20070222734 | Tran | Sep 2007 | A1 |
20070233488 | Carus et al. | Oct 2007 | A1 |
20070237334 | Willins et al. | Oct 2007 | A1 |
20070239637 | Paek et al. | Oct 2007 | A1 |
20070276651 | Bliss et al. | Nov 2007 | A1 |
20070277196 | Steengaard | Nov 2007 | A1 |
20080005284 | Ungar et al. | Jan 2008 | A1 |
20080037727 | Sivertsen et al. | Feb 2008 | A1 |
20080040099 | Wu et al. | Feb 2008 | A1 |
20080046244 | Ohno | Feb 2008 | A1 |
20080077386 | Gao et al. | Mar 2008 | A1 |
20080082329 | Watson | Apr 2008 | A1 |
20080091406 | Baldwin et al. | Apr 2008 | A1 |
20080091435 | Strope et al. | Apr 2008 | A1 |
20080091443 | Strope et al. | Apr 2008 | A1 |
20080091721 | Harboe | Apr 2008 | A1 |
20080114604 | Wei et al. | May 2008 | A1 |
20080120112 | Jordan et al. | May 2008 | A1 |
20080120665 | Relyea et al. | May 2008 | A1 |
20080126075 | Thorn | May 2008 | A1 |
20080130699 | Ma et al. | Jun 2008 | A1 |
20080133228 | Rao | Jun 2008 | A1 |
20080154600 | Tian et al. | Jun 2008 | A1 |
20080154611 | Evermann et al. | Jun 2008 | A1 |
20080159948 | Sesing et al. | Jul 2008 | A1 |
20080162136 | Agapi et al. | Jul 2008 | A1 |
20080183462 | Ma et al. | Jul 2008 | A1 |
20080221879 | Cerra et al. | Sep 2008 | A1 |
20080221880 | Cerra et al. | Sep 2008 | A1 |
20080221884 | Cerra et al. | Sep 2008 | A1 |
20080221889 | Cerra et al. | Sep 2008 | A1 |
20080221897 | Cerra et al. | Sep 2008 | A1 |
20080221898 | Cerra et al. | Sep 2008 | A1 |
20080221899 | Cerra et al. | Sep 2008 | A1 |
20080221900 | Cerra et al. | Sep 2008 | A1 |
20080221901 | Cerra et al. | Sep 2008 | A1 |
20080221902 | Cerra et al. | Sep 2008 | A1 |
20080262848 | Shienbrood et al. | Oct 2008 | A1 |
20080276168 | Mansfield | Nov 2008 | A1 |
20080288252 | Cerra et al. | Nov 2008 | A1 |
20080312934 | Cerra et al. | Dec 2008 | A1 |
20090006100 | Badger et al. | Jan 2009 | A1 |
20090030684 | Cerra et al. | Jan 2009 | A1 |
20090030685 | Cerra | Jan 2009 | A1 |
20090030687 | Cerra et al. | Jan 2009 | A1 |
20090030688 | Cerra et al. | Jan 2009 | A1 |
20090030691 | Cerra et al. | Jan 2009 | A1 |
20090030696 | Cerra et al. | Jan 2009 | A1 |
20090030697 | Cerra | Jan 2009 | A1 |
20090030698 | Cerra et al. | Jan 2009 | A1 |
20090319267 | Kurki-Suonio | Dec 2009 | A1 |
20100106497 | Phillips | Apr 2010 | A1 |
20100139002 | Walker et al. | Jun 2010 | A1 |
20100185448 | Meisel | Jul 2010 | A1 |
20100250243 | Schalk et al. | Sep 2010 | A1 |
20110054894 | Phillips et al. | Mar 2011 | A1 |
20110054895 | Phillips et al. | Mar 2011 | A1 |
20110054896 | Phillips et al. | Mar 2011 | A1 |
20110054897 | Phillips et al. | Mar 2011 | A1 |
20110054898 | Phillips et al. | Mar 2011 | A1 |
20110054899 | Phillips et al. | Mar 2011 | A1 |
20110054900 | Phillips et al. | Mar 2011 | A1 |
20110055256 | Phillips et al. | Mar 2011 | A1 |
20110060587 | Phillips et al. | Mar 2011 | A1 |
20110066634 | Phillips et al. | Mar 2011 | A1 |
Number | Date | Country |
---|---|---|
1104155 | May 2001 | EP |
WO-2003054859 | Jul 2003 | WO |
WO-2008109835 | Sep 2008 | WO |
Entry |
---|
Bronsted, Mobile Information Access with Spoken Query Answering, 2005, Esbjerg Aalborg University, Denmark, All pages. |
U.S. Appl. No. 12/184,342, Non-Final Office Action dated Jul. 29, 2010 , 42 pgs. |
“U.S. Appl. No. 12/184,359, Non-Final Office Action dated Jul. 22, 2010”, , 1/49. |
“U.S. Appl. No. 12/184,286, Non-Final Office Action dated Jul. 20, 2010”, , 37. |
“U.S. Appl. No. 12/184,282, Non-Final Office Action dated Jul. 2, 2010”, , 44. |
Brendsted, et al., ““Distributed Speech Recognition forOOInformation Retrieval on Mobile Devices””, Sep. 2006. |
Brendsted, et al., ““Mobile Information Access with Spoken Query Answering””, 2005. |
ISA, , “International Search Report”, For US Patent Application No. PCT/US2008/056242, dated Mar. 7, 2008 Mar. 7, 2008. |
Mirkovic, et al., ““Practical Plug-and-Play Dialogue Management””, 2005. |
Paek, et al., “Improving command and control speech recognitionDDon mobile devices: using predictive user models for language modeling”, Jan. 18, 2007. |
Rayner, et al., ““Plug and Play Speech Understanding””, 2001. |
Xu, et al., ““A Configurable Distributed Speech Recognition System””, Sep. 2005. |
“U.S. Appl. No. 11/866,818, Non-Final Office Action dated Jun. 9, 2011”, , 22. |
“U.S. Appl. No. 12/044,573, Non-Final Office Action dated Jul. 7, 2011”, , 38. |
“U.S. Appl. No. 12/184,375, Final Office Action dated Jul. 5, 2011”, , 22. |
“U.S. Appl. No. 12/184,465, Notice of Allowance dated Jun. 27, 2011”, , 26. |
“U.S. Appl. No. 11/865,692, Non-Final Office Action dated Dec. 23, 2010”, , 19. |
“U.S. Appl. No. 11/865,694, Non-Final Office Action dated Feb. 2, 2011”, , 14. |
“U.S. Appl. No. 11/866,704, Non-Final Office Action dated Feb. 11, 2011”, , 24. |
“U.S. Appl. No. 11/866,725, Non-Final Office Action dated Feb. 14, 2011”. |
“U.S. Appl. No. 11/866,755, Non-Final Office Action dated Mar. 8, 2011”, , 25. |
“U.S. Appl. No. 11/866,777, Non-Final Office Action dated Mar. 8, 2011”, , 25. |
“U.S. Appl. No. 11/866,804, Non-Final Office Action dated Mar. 7, 2011”, , 25. |
“U.S. Appl. No. 12/184,375, Non-Final Office Action dated Jan. 26, 2011”, , 28. |
“U.S. Appl. No. 12/184,465”, Non-Final Office Action dated Jan. 26, 2011, 32. |
“U.S. Appl. No. 12/184,512, Non-Final Office Action dated Jan. 26, 2011”, , 16. |
“U.S. Appl. No. 12/603,446, Non-Final Office Action dated Feb. 23, 2011”, , 25. |
“U.S. Appl. No. 12/184,282, Final Office Action dated Dec. 15, 2010”, , 152. |
“U.S. Appl. No. 12/184,286, Final Office Action dated Mar. 9, 2011”, , 44. |
“U.S. Appl. No. 12/184,359, Final Office Action dated Mar. 4, 2011”, , 51. |
“ETSI ES 202 212 V1.1.2 (Nov. 2005)”, Nov. 2005 , all. |
Brondsted, et al., “Mobile Information Access with Spoken Query Answering”, 2005 , pp. 4. |
Brondsted, “Mobile Information Access with Spoken Query Answering”, 2005 , 1-4. |
“U.S. Appl. No. 11/865,697, Non-Final Office Action dated Mar. 17, 2011”, , 14. |
“U.S. Appl. No. 11/866,675, Non-Final Office Action dated May 10, 2011”, , 19. |
“U.S. Appl. No. 12/184,342, Final Office Action dated Apr. 5, 2011”, , 49. |
Sorin, et al., “The ETSI Extended Distributed Speech Recognition (DSR) Standards: Client Side Processing and Tonal Language Recognition Evaluation”, 2004 , 129-132. |
Ramabadran, et al., “The ETSI Extended Distributed Speech Recognition (DSR) Standards: Server-Side Speech Reconstruction”, 2004 , 53-56. |
“Application Serial No. 111866,675, Final Office Action dated Oct. 4, 2011”, , 23. |
“Application Serial No. 111866,725, Final Office Action dated Oct. 4, 2011”, , 26. |
“Application Serial No. 111866,755, Final Office Action dated Oct. 4, 2011”, , 25. |
“U.S. Appl. No. 12/123,952, Non-Final Office Action dated Sep. 8, 2011”, , 20. |
“U.S. Appl. No. 12/184,282, Non Final Office Action dated Aug. 24, 2011”, , 81. |
“U.S. Appl. No. 12/184,465, Non-Final Office Action dated Oct. 21, 2011”, , 27. |
“U.S. Appl. No. 12/603,446, Non-Final Office Action dated Oct. 19, 2011”, , 23. |
“U.S. Appl. No. 11/865,692, Final Office Action dated Sep. 30, 2011”, , 20. |
“U.S. Appl. No. 11/865,694, Final Office Action dated Sep. 30, 2011”, , 18. |
“U.S. Appl. No. 11/865,697, Final Office Action dated Oct. 4, 2011”, , 16. |
“U.S. Appl. No. 11/866,777, Final Office Action dated Sep. 30, 2011”, , 25. |
“U.S. Appl. No. 11/866,804, Final Office Action dated Sep. 30, 2011”, , 25. |
“U.S. Appl. No. 11/866,704, Final Office Action dated Oct. 4, 2011”, , 26. |
“U.S. Appl. No. 12/184,512, Non-Final Office Action dated Aug. 26, 2011”, , 24. |
“European Search Report, Appl No. 08731692.3”, dated Jun. 20, 2011 , all. |
“U.S. Appl. No. 12/184,375, Non-Final Office Action dated Dec. 2, 2011”, , 15. |
“U.S. Appl. No. 11/866,818, Final Office Action dated Feb. 17, 2012”, , 24. |
“U.S. Appl. No. 12/603,446, Final Office Action dated Jul. 13, 2012”, 26 pgs. |
“U.S. Appl. No. 12/184,375, Final Office Action dated Jun. 27, 2012”, 22 pages. |
“U.S. Appl. No. 11/866,777, Non-Final Office Action dated Jun. 14, 2012”, 27 pages. |
“U.S. Appl. No. 12/184,465, Final Office Action dated Jun. 27, 2012”, 33 pages. |
“U.S. Appl. No. 12/184,512, Final Office Action dated May 2, 2012”, 25 pages. |
“U.S. Appl. No. 12/870,257, Non-Final Office Action dated May 1, 2012”, 24 pgs. |
“U.S. Appl. No. 12/184,282, Final Office Action dated Apr. 25, 2012”, 23 pages. |
“U.S. Appl. No. 12/044,573, Final Office Action dated Apr. 19, 2012”, 28 pages. |
“U.S. Appl. No. 12/870,221, Non-Final Office Action dated Mar. 12, 2012”, 24 pages. |
“U.S. Appl. No. 12/123,952, Final Office Action dated May 14, 2012”, 23 Pgs. |
Notice of Allowance received in U.S. Appl. No. 12/603,446 dated Jul. 30, 2014. |
Office Action received in European application 08731692.3 dated May 21, 2014. |
Final Office Action received in U.S. Appl. No. 11/866,777 dated Feb. 1, 2013. |
Final Office Action received in U.S. Appl. No. 12/184,286 dated Oct. 21, 2013. |
Final Office Action received in U.S. Appl. No. 12/184,342 dated Oct. 23, 2013. |
Final Office Action received in U.S. Appl. No. 12/184,490 dated May 2, 2012. |
Final Office Action received in U.S. Appl. No. 12/603,446 dated Apr. 24, 2013. |
Final Office Action received in U.S. Appl. No. 12/691,504 dated Apr. 30, 2013. |
Final Office Action received in U.S. Appl. No. 12/870,221 dated Oct. 25, 2012. |
Final Office Action received in U.S. Appl. No. 12/870,221 dated Apr. 30, 2014. |
Final Office Action received in U.S. Appl. No. 12/870,257 dated Jan. 16, 2013. |
Final Office Action received in U.S. Appl. No. 12/870,368 dated Nov. 21, 2013. |
Galindo et al., “Control Architecture for Human-Robot Integration: Application to a Robotic Wheelchair,” IEEE Transactions on Systems, Man, and Cybernetics—Part B: Cybernetics, vol. 36, No. 5 (Oct. 2006). |
Harper et al., “Integrating Language Models with Speech Recognition,” Purdue University, http://www.umiacs.umd.edu/˜mharper/papers/aaai94.pdf, 9 pages, (retrieved on Mar. 26, 2014). |
Li, Jin-Yu, et al., “A Complexity Reduction of ETSI Advanced Front-End for DSR,” ICASSP 2004, IEEE, pp. I-61-4 vol. 1 (May 17-21, 2004). |
Non-Final Office Action received in U.S. Appl. No. 11/865,692 dated Oct. 3, 2013. |
Non-Final Office Action received in U.S. Appl. No. 11/865,694 dated Oct. 8, 2013. |
Non-Final Office Action received in U.S. Appl. No. 11/865,694 dated Jun. 5, 2014. |
Non-Final Office Action received in U.S. Appl. No. 11/865,697 dated Oct. 3, 2013. |
Non-Final Office Action received in U.S. Appl. No. 11/866,675 dated Feb. 26, 2014. |
Non-Final Office Action received in U.S. Appl. No. 11/866,704 dated Aug. 30, 2013. |
Non-Final Office Action received in U.S. Appl. No. 11/866,725 dated Sep. 10, 2013. |
Non-Final Office Action received in U.S. Appl. No. 11/866,755 dated Oct. 10, 2013. |
Non-Final Office Action received in U.S. Appl. No. 11/866,804 dated Nov. 8, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/044,573 dated Dec. 5, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/184,375 dated Oct. 28, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/184,490 dated Jan. 27, 2011. |
Non-Final Office Action received in U.S. Appl. No. 12/184,490 dated Aug. 25, 2011. |
Non-Final Office Action received in U.S. Appl. No. 12/603,446 dated Oct. 16, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/603,446 dated Dec. 6, 2012. |
Non-Final Office Action received in U.S. Appl. No. 12/691,504 dated Oct. 3, 2012. |
Non-Final Office Action received in U.S. Appl. No. 12/870,008 dated Jan. 31, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/870,025 dated Jan. 23, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/870,071 dated Jan. 18, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/870,112 dated Feb. 13, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/870,138 dated Nov. 19, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/870,138 dated Mar. 13, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/870,368 dated Feb. 12, 2013. |
Non-Final Office Action received in U.S. Appl. No. 12/870,411 dated Dec. 6, 2012. |
Non-Final Office Action received in U.S. Appl. No. 12/870,453 dated Dec. 7, 2012. |
Notice of Allowance received in U.S. Appl. No. 11/865,692 dated Jun. 18, 2014. |
Notice of Allowance received in U.S. Appl. No. 12/184,342 dated May 7, 2014. |
Notice of Allowance received in U.S. Appl. No. 12/184,375 dated Apr. 30, 2014. |
Notice of Allowance received in U.S. Appl. No. 12/603,446 dated May 2, 2014. |
Notice of Allowance received in U.S. Appl. No. 12/691,504 dated Jul. 24, 2014. |
Notice of Allowance received in U.S. Appl. No. 12/870,257 dated Sep. 13, 2013. |
Notice of Allowance received in U.S. Appl. No. 11/865,692 dated Aug. 15, 2014. |
Notice of Allowance received in U.S. Appl. No. 11/865,694 dated Nov. 21, 2014. |
Notice of Allowance received in U.S. Appl. No. 12/870,221 dated Oct. 1, 2014. |
Notice of Allowance received in U.S. Appl. No. 12/184,375 dated Aug. 4, 2014. |
Notice of Allowance in related U.S. Appl. No. 14/537,418, dated Jun. 7, 2016 (51 pages). |
Ex Parte Quayle Action in related U.S. Appl. No. 14/570,404, dated Jul. 8, 2016 (47 pages). |
Non-Final Office Action in related U.S. Appl. No. 14/570,404, dated Dec. 2, 2015 (10 pages). |
Non-Final Office Action in related U.S. Appl. No. 14/537,418, dated Nov. 27, 2015 (8 pages). |
Toru Imai et al., An Automatic Caption-Superimposing System With A New Continuous Speech Recognizer, Sep. 1994, IEEE, vol. 40, No. 3, 184-189. |
Number | Date | Country | |
---|---|---|---|
20090030698 A1 | Jan 2009 | US |
Number | Date | Country | |
---|---|---|---|
60976050 | Sep 2007 | US | |
60977143 | Oct 2007 | US | |
61034794 | Mar 2008 | US | |
60893600 | Mar 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12123952 | May 2008 | US |
Child | 12184490 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11865692 | Oct 2007 | US |
Child | 12184490 | US | |
Parent | 11865694 | Oct 2007 | US |
Child | 11865692 | US | |
Parent | 11865697 | Oct 2007 | US |
Child | 11865694 | US | |
Parent | 11866675 | Oct 2007 | US |
Child | 11865697 | US | |
Parent | 11866704 | Oct 2007 | US |
Child | 11866675 | US | |
Parent | 11866725 | Oct 2007 | US |
Child | 11866704 | US | |
Parent | 11866755 | Oct 2007 | US |
Child | 11866725 | US | |
Parent | 11866777 | Oct 2007 | US |
Child | 11866755 | US | |
Parent | 11866804 | Oct 2007 | US |
Child | 11866777 | US | |
Parent | 11866818 | Oct 2007 | US |
Child | 11866804 | US | |
Parent | 12044573 | Mar 2008 | US |
Child | 11866818 | US | |
Parent | 12184490 | Aug 2008 | US |
Child | 11866818 | US |