BACKGROUND1. Field of the DisclosureThis disclosure relates to a method of efficiently operating a device through voice instructions.
2. Description of the Related ArtMobile devices, such as smart phones and tablets are examples of devices that are adapted to take as input a user's voice (in the form of voice commands) and perform certain instructions.
Traditionally, when processing a voice command that is intended to execute a certain application, the processing circuitry of the device (responsible for processing and analyzing the voice input), continuously monitors the input such as a microphone or the like, for voice commands inputted from the user. In doing so, the control circuit of such a device which executes an application essentially waits for the processing circuit to complete its tasks of analyzing the voice input.
In such scenarios, the electric power consumption of the device increases dramatically. Accordingly, there is a requirement to lower the power consumption in order to utilize the device in an efficient manner.
SUMMARYDevices and methods for operating the devices via voice commands in order to lower the power consumption of the device are discussed herein.
According to one exemplary embodiment, the disclosure is directed to an information processing apparatus comprising: a microphone configured to detect input voice instructions; a memory configured to store a plurality of keywords, each keyword being associated with a predetermined function of the information processing apparatus; first circuitry configured to compare an input voice instruction with the plurality of keywords stored in the memory; and activate second circuitry, which is configured to execute an application based on the comparison.
According to another exemplary embodiment, the disclosure is directed to a method performed by an information processing apparatus, the method comprising: receiving input voice instructions from a microphone; storing a plurality of keywords in a memory, each keyword associated with a predetermined function of the information processing apparatus; comparing by a first circuitry the input voice instruction with the plurality of keywords; activating a second circuitry, by the first circuitry based on the comparing; and executing an application by the second circuitry corresponding to the keyword associated with the application.
According to another exemplary embodiment, the disclosure is directed to a non-transitory computer-readable medium including computer program instructions, which when executed by an information processing apparatus, cause the information processing apparatus to perform a process comprising: receiving input voice instructions from a microphone; storing a plurality of keywords in a memory, each keyword associated with a predetermined function of the information processing apparatus; comparing by a first circuitry the input voice instruction with the plurality of keywords; activating a second circuitry, by the first circuitry based on the comparing; and executing an application by the second circuitry corresponding to the keyword associated with the application.
The foregoing general description of the illustrative implementations and the following detailed description thereof are merely exemplary aspects of the teachings of this disclosure, and are not restrictive.
BRIEF DESCRIPTION OF THE DRAWINGSA more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
FIG. 1 illustrates schematically an exemplary scenario outlining the sleep and active states of a digital signal processor (DSP) and a host processor;
FIG. 2 illustrates schematically an exemplary mobile phone terminal device;
FIG. 3 illustrates schematically the structure of a DSP speech processing unit;
FIG. 4 illustrates an exemplary non-limiting example of the processing states in the DSP;
FIG. 5 illustrates the processes conducted by a host processor;
FIG. 6 illustrates an exemplary flowchart depicting a method to wake up a device (i.e., brought to an active state) via a voice recognition process according to one aspect of the present disclosure;
FIG. 7 illustrates the audio (speech) analysis performed by the DSP;
FIG. 8 illustrates an exemplary flowchart depicting a method to wake up a device via a voice recognition process according to a second aspect of the present disclosure;
FIG. 9 depicts a non-limiting example of an apparatus (a mobile phone) that transitions to an active state via voice commands according to the present disclosure;
FIG. 10 illustrates an exemplary flowchart depicting the steps taken while performing a voice pattern analysis;
FIGS. 11A and 11B illustrate an exemplary flowchart depicting a method to wake up a device by a voice recognition process according to another aspect of the present disclosure; and
FIG. 12 illustrates an exemplary flowchart depicting a voice recognition process implemented in the method ofFIG. 8 to wake up a device.
FIGS. 13A-13C depict another non-limiting example illustrating the execution of an application using the voice pattern analysis ofFIG. 10.
DETAILED DESCRIPTIONReferring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views.
FIG. 1 illustrates a non-limiting exemplary scenario outlining the sleep and active states of a digital signal processor (DSP) and a host processor that are comprised within a device which is configured to take as input, voice commands (instructions) from a user in order to bring it to an active state. As shown inFIG. 1, the DSP2, comprises avoice pattern memory3, which stores user input data i.e., keywords which are used to activate the device. The keywords can be short words such as the name of user or simply commonly used words such as “hello”. These keywords are stored in the memory by a registration process which is explained in detail later with reference toFIGS. 6 and 8.
The DSP2, takes as input voice commands from a user which are inputted via amicrophone1. The analog data (user's voice) is modulated using a pulse code modulation (PCM) technique or the like and fed in to the DSP for further processing. The details of this voice processing and analysis are explained in detail with reference toFIG. 3. Note that DSP is an active state while it receives information from the user. At this instant in time, the host processor is kept in a “sleep” state (i.e., a suspended state). The host processor is responsible for executing certain applications based on the keyword input from a user. Low power consumption is obtained by maintaining the host processor in a sleep state, while the DSP processes the voice commands input by a user.
On receiving the input from the microphone, the DSP compares the input keyword with those stored in thevoice pattern memory3. If a match is found, the DSP notifies the host processor about a successful match via an interrupt command (discussed later with reference toFIG. 8) and brings the host processor to an active state. This process is referred to as “waking up” the host processor. The host processor on being transitioned to the active state executes a certain application (denoted by AP1-AP4) based on the recognized speech.
In one aspect of the present disclosure, a method of processing the speech data, wherein the host processor processes the data and the DSP is responsible only for the analysis of the keyword is described. In such a setting, note that the keywords are used to wake up the device. The specific execution of an application proceeds later with voice commands inputted by a user. In another aspect of the present disclosure, a method wherein the DSP is responsible for all the speech processing is described. Moreover, both embodiments outline as to how lower power consumption is obtained by specifically turning the DSP and the host processor into sleep modes.
FIG. 2 illustrates a schematic block diagram of an exemplary mobilephone terminal device100. As shown inFIG. 2, the mobilephone terminal device100 may include anantenna101 and a wirelesscommunication processing section102. The wirelesscommunication processing section102 may communicate wirelessly via radio signals, or the like, with other mobile devices via a base station. Further, a data signal, such as a voice transmission from another user, may be received byantenna101 and sent to the wirelesscommunication processing section102 for further processing. In the case of an incoming voice transmission, the voice data signal may be sent from the wirelesscommunication processing section102 to avoice processing section103. Incoming voice data received by thevoice processing section103 via the wirelesscommunication processing section102 may be output as sound via aspeaker104.
Conversely, an outgoing voice signal may be supplied by a user to thevoice processing section103 via amicrophone105. The voice signal received viamicrophone105 and processed by thevoice processing section103 may be sent to wirelesscommunication processing section102 for transmission by theantenna101. Thevoice processing section103 comprises a digital signal processor (DSP)103awhich digitizes the incoming analog signal and processes the audio input to detect for keywords. Keywords enable the operation ofdevice100, when it is configured to operate under the instructions of specific voice commands. These keywords are preset in the device with the aid of a voice registration unit and stored in thevoice pattern library103b. The detailed description of this processes is explained later with reference toFIGS. 5 and 6.
Asecond antenna106 may be supplied for use with a short distance wirelesscommunication processing section107. The short distance wirelesscommunication processing section107 may communicate wirelessly with other devices over a network, such as the Internet, a local area network (LAN), or a wide area network (WAN). Thesecond antenna106 may, e.g., by a Wi-Fi transceiver.
Asensor section108 may be provided for the mobilephone terminal device100. Thesensor section108 may be a motion sensor that detects a motion of an object in the proximity of the mobilephone terminal device100. The motion may correspond to a user moving an instruction object, such as a finger or stylus, in the proximity of the mobilephone terminal device100 for the purpose of selecting data displayed ondisplay120.
The mobilephone terminal device100 may includedisplay120. Thedisplay120 may be, for example a liquid crystal display (LCD) panel, an organic electroluminescent (OLED) display panel, a plasma display panel, or the like. Thedisplay120 may display text, an image, a web page, a video, or the like. For example, when the mobilephone terminal device100 connects with the Internet, thedisplay120 may display text and/or image data which is transmitted from a web server in Hyper Text Markup Language (HTML) format and displayed via a web browser. Thedisplay120 may additionally display data stored in amemory150.
Atouch panel section130 can detect a touch operation on the surface of thedisplay120. For example thetouch panel130 can detect a touch operation performed by an instruction object such as a finger or stylus. Touch operations may correspond to user inputs such as a selection of an icon or a character string displayed on thedisplay120. Thetouch panel section130 may be an electrostatic capacitance type device, a resistive type touch panel device, or other such type devices for detecting a touch on a display panel.
Thetouch panel section130 may perform processing related to touch operation classification. For example, thetouch panel section130 may assign a predetermined function to be performed when a “tap” touch operation is detected. Similarly, the touch panel section may analyze a touch operation in which the instruction object makes continuous contact with thedisplay120 while moving the instruction object around the display120 (e.g., a “swipe” operation). Thetouch panel section130 may output a signal based on a classification of the touch operation performed. The signal may for example include information indicating the touch operation classification, the location on thedisplay120 where the touch operation was performed, and the operation to be performed based on the touch operation.
Data which is detected and processed by thetouch panel130 can be transmitted to ahost controller110. The host controller/processor110 may include one or more processor units and can control each element of the mobilephone terminal device100 based on data detected by thetouch panel130, or by inputs received fromoperation key140. Theoperation key140 may receive inputs, e.g., from external control buttons included with the mobilephone terminal device100. The external control buttons may for example control the volume, the power, or a hold operation for the mobilephone terminal device100.
Thehost controller110 may further execute instructions stored in thememory150. The controller may further comprise of aDSP driver111, which is configured to communicate with theDSP103a. Specifically, the driver may actuate the DSP during a voice registering phase, or theDSP103amay initiate communication with the driver upon the successful detection of a voice command. Thedriver111 may further activate the host processor to execute a certain application based on the received voice commands. The specific details pertaining to thedriver111 and the host controller are explained later with reference toFIG. 5. To this end, thememory150 may be a non-transitory computer readable medium having instructions stored therein for controlling the mobilephone terminal device100. Further, thecontroller110 may include one or more processors for executing the instructions stored on thememory150.
The mobilephone terminal device100 can include a control line CL and a data line DL as internal bus lines for communication. The control line CL can be used to transmit control data from thecontroller110. The data line DL may be used for the transmission of voice data, display data, or the like, throughout the various elements of the mobilephone terminal device100.
FIG. 3 illustrates a block diagram depicting the processing of a voice command input by a user via themicrophone105. The output of the microphone is first amplified before further processing by anamplifier103c. After modulating the input voice (speech) by using a modulation scheme like the pulse code modulation or the like, the signal is input to an analog todigital converter103d. This converter obtains digital samples of the input analog voice signal and stores them in amemory buffer103e.
TheDSP processor103aperforms processing on these digitized voice samples and checks for a match with certain user input keywords which are stored in avoice pattern memory103b. Note that these keywords are small words/phrases such as “hello”, the user's name and are used to wake up the device. Specific details pertaining to how the keywords are stored in the memory and the process of initiating an application execution will be explained later with reference toFIGS. 6 and 8. Note that the DSP may perform further processing on the voice samples such as noise removal, voice compression etc, to further clean and/or make compact the input voice samples for better processing.
The DSP communicates with the host processor via a control line (CL) and a data line (DL). Specific instructions and control signals are exchanged between the processors by using the CL. Data pertaining to the inputted voice command via the microphone is exchanged with the host processor via the DL. This exchange of information between the DSP and the host processor is explained in detail with reference toFIGS. 5 and 7.
FIG. 4 depicts a non-limiting example of the processing states involved in the DSP and illustrates the active and sleep cycles of the DSP.FIG. 4A depicts a standard analog audio signal that is input toapparatus100 via themicrophone105. InFIG. 4B, a modulation scheme such as pulse code modulation (PCM) is applied to the analog signal, which is further processed in an A/D converter to obtain digital samples. As stated previously, these digital signals are stored in thebuffer memory103e. The digital data is read from the buffer memory and transferred to theDSP103 for processing at every fixed time-period. Note, that as shown inFIG. 4C, the DSP is in an active state only when the data (at every fixed time period) is read from the memory and transferred to the processor. At all other times the DSP remains in a sleep mode, thus enabling the decrease of power consumption.
While being in active state, the DSP reads the data from thebuffer memory103eand compares (for a match) the input data to the set of keywords that are stored in thevoice pattern memory103b. On finding a successful match, the DSP notifies the host processor of the matched keyword and brings it to an active state. Note that the host processor is in the sleep state while the DSP performs the comparison process. Further, it must be appreciated that the DSP is in an active state only when data is read from thebuffer103efor further processing. At all other times when data is not fed from the buffer, the DSP remains in a sleep state. Thus it must be appreciated that by alternating from a sleep to active state, the DSP operates in an intermittent manner thus providing a valuable savings in terms of operating power. Further, note that by keeping the host processor in a sleep state (while the DSP performs it's processing), and activating it only when a keyword match is successfully detected by the DSP, a further savings in the power consumption of theapparatus100 is obtained.
FIG. 5 illustrates the processing steps performed by a host processor upon successful keyword match detected by the DSP. As shown inFIG. 5, theDSP103 includes avoice analysis library103xand avoice pattern memory103b. The voice command received from themicrophone105 is input to the voice analysis library wherein the input voice command is compared with the keywords stored in thevoice pattern memory103bfor a match. Upon a successful match, the DSP instructs (via control signals) theDSP driver111 comprised within the host processor to transition to an active state.
Once in active state, the DSP driver initiates the keyword recognition process by instructing thekeyword analysis application113 to perform a search for the appropriate application that is to be executed. Note that the instruction to perform the application search is sent from aframework unit112, to theapplication analysis unit113 via an application interface. On receiving instructions from theDSP driver111, the keyword analysis application searches for the application within the application set AP1-AP4, for the keyword associated with the application. On finding the correct match the appropriate application is executed.
Note that in the above process, theDSP103 performs only a keyword match of the input voice command with the keywords registered by a user and stored in the voice pattern memory. Until a successful match is obtained the host processor remains in a sleep mode. On finding a successful match, the DSP activates the host controller (processor) via the DSP driver. The host controller on receiving the keyword from the DSP, runs a search through the application database to search for the application associated with the keyword. Thus the process of application recognition is performed by the host controller.
FIG. 6 is a flowchart of the process for waking up the device and outlines the steps undertaken to recognize an input voice command according to one aspect of the present disclosure. Note that in this example thehost processor110 performs the voice registration process and the input processing of the audio signal. Further we assume for the sake of simplicity that the application intended to be executed by the voice command is one of making a telephone call.
In step S11, a user inputs a voice command that is assigned to start an application. This command is registered in the voice pattern registration application. Note that commands such as “hello” or a user's name can be assigned to indicate a start of the application execution. In step S12, the voice pattern registration application registers the start of the specific application (with respect to the input keyword) in the application launcher.
In step S13, the voice pattern registration application notifies theDSP driver111 about the assigned voice pattern, which in turn, in step S14 registers the assigned voice pattern in theDSP103. The DSP stores information pertaining to the assigned voice keyword in itsvoice pattern memory103b. This stored information is used later to obtain a match, when a user inputs a voice command via the microphone115.
In step S15, the host controller initiates a suspension (sleep) state for all units other than theDSP103a. In step S16, the control unit of the host processor brings the DSP driver111 (comprised within the host processor) to a sleep state. Note (as shown in step S17) that the DSP driver initiates a start of comparison of voice pattern to theDSP103a. Once the DSP driver has initiated this start of comparison process to the DSP, thehost controller101 is completely in a suspension state (step S18).
In step S19, the DSP101atakes as input, voice commands from the microphone115 and compares the inputted commands to the keywords stored in thevoice pattern memory103b. Note that this process is performed intermittently as shown inFIG. 4. Specifically, the DSP undergoes cycles of sleep and active states depending on the time it receives input from the buffer memory.
Step S20 depicts the case wherein the inputted voice command has resulted in a match with one of the keywords stored in the voice pattern memory. Note that keywords intended to start the apparatus are small words/phrases such a “hello” or a users name. On detecting a match, in step S21 the DSP triggers the host processor via an interrupt signal. In doing so, the host processor which was in a sleep/suspended state is transitioned to an active state. The host processor further triggers theDSP driver111 to an active state (step S22). In step S23, the DSP driver initiates the application launcher which in turn signals the DSP driver to be in a wait state (step S24). Specifically, the application launcher upon transitioning to an active state signals the DSP driver to wait for further voice commands from the DSP. Note that at this point of time no application is yet executed, rather, with the use of a keyword the DSP and the host processor are activated to receive and process further instructions as to which specific application is to be executed.
Steps S25 to S35 illustrate the process from the time an input voice instruction is fed to theDSP103 to the time the host processor executes the specific application. In step S25, the user inputs a voice instruction such as “make a telephone call” via the microphone115. This instruction is transmitted from the DSP to the DSP driver in step S26, which in turn invokes the application launcher and notifies it about the specific voice instruction, as shown in Step S27.
In step S28, the application launcher performs an audio analysis as described inFIG. 5. Based on the content of the data (voice) obtained, theaudio analysis application113 searches for the appropriate application to execute. In the example depicted inFIG. 6, we consider an application of making a telephone call. Thus, the application launcher initiates the call application in step S29. In step S30, the application launcher notifies the DSP driver to wait for further instructions from the user. For example, the application launcher may request the DSP driver to receive the specific number to be called from the DSP.
On receiving this information in step S31, the DSP notifies the driver of the number to call (step S32) which in turn passes the information to the application launcher (shown in step S33). Finally, the application launcher notifies the call application of the number to call in step S34, wherein-after the specific application (call application in this example) executes the associated task as shown in Step S35.
FIG. 7 illustrates according to another aspect of the present disclosure, a method of waking up the device and outlines the steps undertaken by the host processor when the DSP conducts the processes pertaining to voice analysis. Note that in the first aspect of the disclosure (FIGS. 5 and 6), the DSP performed voice analysis only to activate the host processor. This was accomplished with the use of a keyword such as “hello” which would initiate (i.e., bring to active state) the host processor.
In the illustration ofFIG. 7, the DSP's voice pattern memory memorizes not only keywords associated to start the apparatus but also maintains a list of voice instructions required to execute an application. Thevoice analysis unit103x, receives input instructions from themicrophone105, and compares the instructions with those stored in thevoice pattern memory103b.
Upon finding a match, the DSP notifies the DSP driver111 (of the host processor) of the match, through an interrupt command. Note that the interrupt command varies depending upon the application type to be executed. The driver transmits the information received from the DSP to aframework unit112, which through an application interface (API) executes the appropriate application.
FIG. 8 represents a flowchart of the voice recognition process for the example described inFIG. 7. For sake of illustration, we consider the same application, that of making a phone call to explain the steps of the process ofFIG. 8.
In step S41, a user inputs a voice command that is assigned to start an application. This command is registered in the voice pattern registration application. Note that commands such as “hello” or a user's name can be assigned to indicate a wake up of the processors to further execute a start of the application. In step S42, the voice pattern registration application notifies theDSP driver111 of the pattern registered to activate theapparatus100.
In step S43, the DSP driver notifies the DSP of the voice pattern. Note, that in this case, thememory103bassociated with the DSP stores the voice pattern for activating the host controller as well as the instructions that initiates the execution of an application. In step S44, the host controller initiates a suspension (sleep) state for all units other than theDSP103a. In step S45, the control unit of the host processor brings the DSP driver111 (comprised within the host processor) to a sleep state. In step S46, the DSP driver signals theDSP103 to start the process of comparing an input voice pattern with those stored in the memory of the DSP. At this time instant, the DSP conducts a voice analysis by the method described inFIG. 4. Specifically, the DSP operates in an intermittent fashion wherein it undergoes a series of periodic sleep and active states. Note that while the DSP performs processing of the input voice instructions (step S48), the host controller is in a suspension state as shown in step S47.
In step S49, once the DSP has confirmed a match between the voice instruction inputted from themicrophone105 and the voice pattern stored in thememory103b, it sends an interrupt signal to the controller, thereby indicating the controller to resume an active state (step S50). The controller once activated, instructs the DSP driver in step S51, to transition the active state.
Once the DSP driver is in the active state it selects the application to start and invokes the corresponding application as shown in Step S52. Note that in this case, we consider a simple application to make a telephone call. Accordingly the DSP driver, in step S53 initiates a telephone call operation. In step S54, the application (for example the call application) instructs the DSP driver to wait for further input from theDSP103. This input pertains to the number required by the call application in order to make the telephone call. This number is inputted as shown in step S55 and is notified to the DSP driver in step S56. The number is further transmitted to the call application (step S57) which finally makes the telephone call in step S58. Note that in both aspects presented thus far, the DSP and the host processor are put in a sleep mode when not processing information thereby providing a means to lower the power consumption of the apparatus.
FIG. 9 illustrates how an apparatus (e.g. a mobile phone terminal) can be configured to be activated by voice instructions to perform a certain application. We consider an example of transferring data (images, text or the like) from theapparatus100 to adisplay terminal200. Note that the example depicts the two devices connected by a wired mechanism. However, the means of connecting this device is in no way limiting the example. For example, theapparatus100 and thedisplay terminal200 may well be connected by a wireless mechanism to achieve the end objective,
Initially, both theapparatus100 and thedisplay terminal200 are in a suspended state. On receiving instructions from a user theapparatus100 makes a transition to the active state. Specifically, theapparatus100 recognizes the voice pattern (keyword) inputted by a user, to bring it in an active state. On transitioning to the active state, theapparatus100 instructs the display to turn in to the active state.
Once the devices are activated, thedisplay terminal200displays data121 of the mobile phone terminal on itsdisplay screen201. Hence, in this manner the display of information from a mobile phone to a display terminal is accomplished by the use of voice instructions implemented in a manner presented in the present disclosure.
FIG. 10 illustrates an exemplary flowchart depicting the steps taken while performing a voice pattern analysis (i.e., voice recognition process). The voice pattern analysis process includes two steps: a voice verification step and a voice pattern matching step.
In the voice verification step, the voice of a registered (i.e., authorized) user is first verified. Specifically, an input voice is matched with a registered voice by verifying, in detail, the characteristics of the input voice waveform. Further, the keyword associated with the voice is also verified. In doing so, a security mechanism is created wherein unauthorized users are not granted access to unauthorized devices. For example, if an authorized user has registered the word ‘hello’ to activate a mobile phone, only the keyword (‘hello’) spoken by the authorized user will activate the mobile phone.
Once the device is activated by the authorized user, the voice pattern matching step processes further voice instructions. The processing in this step simply verifies if an appropriate keyword associated with an application is input. For example, if a voice instruction “make telephone call”, is associated with the application of making a telephone call by the mobile phone, in the voice pattern matching step the input keyword is verified. Note that access in this step is granted to all users. Specifically, once the device is activated by the authorized user, any user can execute an application on the device, as long as the correct instruction is input to the device.
FIG. 10 illustrates the steps performed by the voice pattern analysis process. First, the voice verification process is executed at specific time instants that correspond to the instants of time the DSP of the device is active (as shown inFIG. 4). In step S91, a query is made to check if the voice verification is successful. If the response to the query is affirmative, the process proceeds to step S92, wherein the voice pattern matching process is performed. If the response to the query in step S91 is negative (i.e., the voice verification is erroneous) the process simply loops back to step S91.
In step S92 a query is made to check if the voice pattern matching is successful. If the response to this query is negative, the process loops back to step S92, wherein the device awaits the input of the appropriate voice instruction. If the response in step S92 is successful, the process proceeds to step S93 wherein the application associated with the instruction is executed.
In step S94, a query is made to check if a security time has elapsed from the onset of a successful voice verification process. If the response to the query is affirmative, the process loops back to step S91, wherein the device needs to be activated again by the authorized user. However, if the response to the query is negative, the process loops back to step S92, wherein the DSP of the device awaits further instructions from a user to execute an appropriate application.
FIGS. 11A and 11B illustrate an exemplary flowchart depicting a method to wake up a device by a voice recognition process according to another aspect of the present disclosure. Note that the flowchart ofFIG. 11B depict the steps performed after the steps of the flowchart depicted inFIG. 11A are executed. Further, note that the flowcharts ofFIGS. 11A-11B are similar to the flowchart ofFIG. 6, and differ in the voice pattern analysis process. In what follows, we explain the steps of the flowcharts ofFIGS. 11A-11B that differ from the steps ofFIG. 6.
After the voice pattern registration application registers the start of a specific application (with respect to an input keyword) in the application launcher (step S12), the voice pattern registration application notifies the DSP driver, in step S13, the voice of the authorized user.
In Step S14, the authorized voice is registered inDSP103, by the DSP driver. Note, that in doing so, an unauthorized user is not granted permission to activate the device. Further, the flowcharts ofFIGS. 11A-11C, differ in the manner in which the voice analysis is performed. As shown in step S21, a voice input via the microphone is first verified by processing the input voice waveform and matching the voice to that of the authorized user. Further, in step S22, the keyword input to activate the device is analyzed.
Upon a successful match, the device is activated, thus enabling it to accept further voice instructions (step S23) from any user to execute an application. For the sake of simplicity, we consider the same application (as inFIG. 6) of making a telephone call. The further steps that execute the telephone call application are similar to those ofFIG. 6. Similarly,FIG. 12 depicts according to another embodiment of the present disclosure a flowchart depicting the steps taken to wake up a device by using a voice recognition process. Specifically, the flowcharts ofFIG. 12 is similar to the flowchart ofFIG. 8, and differs in the voice pattern analysis process, which is similar to the voice pattern analysis process as described inFIGS. 11A and 11B.
FIGS. 13A-13C depict a non-limiting example illustrating the execution of an application using the voice pattern analysis process ofFIG. 10.
Initially, as shown inFIG. 13A, thedisplay terminal200 is in an inactive state (OFF). On receiving instructions from an authorized user, themobile terminal100 that is connected to thedisplay terminal200, is brought to an active state. Note, that only the voice of the authorized user can enable the mobile terminal to transition to an active state (ON state). A predetermined instruction such as ‘Hello my phone’ can be used by the user to activate themobile terminal100, as shown inFIG. 13B.
Upon activating the mobile terminal, an application can be executed by any user.FIG. 13 C depicts an example wherein a user intends to display pictures from themobile terminal100 to thedisplay terminal200. A pre-determined instruction such as ‘Show pictures on TV’ can be used to indicate the execution of transferring pictures to the display terminal. Note that the processing involved in this stage, matches only the instructions spoken by the user to the keyword associated with the application. Specifically, the voice waveform is not processed in detail to match a registered user's voice, thus enabling any user to execute an application, provided that the devices have been activated by a authorized user.
Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein. For example, the DSP as presented inFIG. 3 may be configured in another manner, wherein the input data is modulated by mechanisms other PCM. Further, the application considered in this disclosure was that of making a telephone call. Similarly, other applications which can be voice activated can be implemented in a manner as disclosed inFIGS. 6 and 8. Additionally, devices other than the mobilephone terminal device100 as shown inFIG. 9 may be used to perform the features discussed in present disclosure. For example, aspects of the present disclosure may be executed on a smart phone, a tablet, a general purpose computer, a laptop, an electronic reading device, or other such display terminals.
The above disclosure also encompasses the embodiments noted below.
(1) An information processing apparatus comprising: a microphone configured to detect input voice instructions; a memory configured to store a plurality of keywords, each keyword being associated with a predetermined function of the information processing apparatus; first circuitry configured to compare an input voice instruction with the plurality of keywords stored in the memory; and activate second circuitry, which is configured to execute an application based on the comparison.
(2) The information processing apparatus of (1), wherein the second circuitry is in a suspended state when the first circuitry performs the comparison.
(3) The information processing apparatus of (1), wherein the first circuitry is continuously in an active state when the second circuitry is in an active state.
(4) The information processing apparatus of (1), wherein the first circuitry activates the second circuitry based on a successful match of the input voice instruction with a keyword.
(5) The information processing apparatus of (1), wherein the voice instructions are modulated by pulse code modulation before being stored in the memory.
(6) The information processing apparatus of (5), wherein the modulated voice instructions are input to the memory at a fixed time period.
(7) The information processing apparatus of (6), wherein the first circuitry is in an active state for a fraction of the fixed time period.
(8) The information processing apparatus of (1), wherein the input voice instructions include the keyword and further instructions to execute the application.
(9) The information processing apparatus of (1), wherein the first circuitry activates the second circuitry by an interrupt signal.
(10) The information processing apparatus of (1), wherein the first circuitry and the second circuitry exchange data through a plurality of data lines.
(11) The information processing apparatus of (1), wherein the first circuitry and the second circuitry exchange control information through a plurality of control lines.
(12) The information processing apparatus of (1), wherein the second circuitry receives information from the first circuitry regarding a successful match of the voice instruction and the keyword and searches for the corresponding application associated with the keyword.
(13) The information processing apparatus of (12), wherein the second circuitry executes the application upon a successful keyword search.
(14) The information processing apparatus of (1), wherein the first circuitry includes a driving unit configured to activate the second circuitry.
(15) The information processing apparatus of (1), wherein the first circuitry is configured to match an input voice with a registered voice of an authorized user.
(16) The information processing apparatus of (15), wherein the first circuitry is further configured to match an input keyword to a predetermined keyword.
(17) The information processing apparatus of (16), wherein the second circuitry is configured to execute the application by any user.
(18) An information processing method performed by an information processing apparatus, the method comprising: receiving input voice instructions from a microphone; storing a plurality of keywords in a memory, each keyword associated with a predetermined function of the information processing apparatus; comparing by a first circuitry the input voice instruction with the plurality of keywords; activating a second circuitry, by the first circuitry based on the comparing; and executing an application by the second circuitry corresponding to the keyword associated with the application.
(19) A non-transitory computer-readable medium including computer program instructions, which when executed by an information processing apparatus, cause the information processing apparatus to perform a process, the process comprising: receiving input voice instructions from a microphone; storing a plurality of keywords in a memory, each keyword associated with a predetermined function of the information processing apparatus; comparing by a first circuitry the input voice instruction with the plurality of keywords; activating a second circuitry, by the first circuitry based on the comparing; and executing an application by the second circuitry corresponding to the keyword associated with the application.