Patent Description:
Devices may respond to voice commands to execute a wide variety of tasks. However, voice commands may be generated from a compromised device, which may be undesirable. There remains a need for further improvements in this field.

The document titled "<NPL>) teaches a system, VAuth, designed to fit in widely-adopted wearable devices, such as eyeglasses, earphones/buds and necklaces, where it collects the body-surface vibrations of the user and matches it with the speech signal received by the voice assistant's microphone.

VAuth allows the voice assistant to execute only the commands that originate from the voice of the owner.

The embodiments and features, if any, described in the specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.

In a first aspect, this specification provides an apparatus according to claim <NUM> and an apparatus according to claim <NUM>.

In some examples, the audio output comprises the embedded first score and at least part of the audio signal.

In some examples, the first score indicates that the authenticity of the audio signal is above a first threshold if the audio signal is determined to be received from a human and/or a presence of a human is determined by the means for determining the first score.

Some examples include means for determining a direction of arrival of the audio signal (for e.g. using one or more sensors such as an array of microphones, or the like); and means for determining whether there is presence of a human in the direction of arrival of the audio signal (for e.g. using one or more sensors such as radars, infrared sensors, temperature sensors, motion sensors, time-of-flight sensors, proximity sensors, or the like). The first score may indicate that the authenticity of the audio signal is above the first threshold if the presence of a human in the direction of arrival of the audio signal is determined.

Some examples include means for capturing one or more visual images. In some examples, the first score is determined based, at least in part, on the one or more visual images. Some examples further include means for determining a level of lip synchronization based on synchronization between the one or more visual images and the audio signal. The first score may indicate that the authenticity of the audio signal is above the first threshold if the level of lip synchronization is above a second threshold.

In some examples, the embedded first score is in an audible or an inaudible frequency range.

In some examples, the audio signal comprises one or more commands to be provided to one or more user devices.

Some examples include means for embedding a cryptographic signature in the audio output, wherein the cryptographic signature indicates an authenticity of the apparatus.

The means may comprise: at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured, with the at least one processor, to cause the performance of the apparatus.

In a second aspect, this specification describes a method according to claim <NUM> and a method according to claim <NUM>.

In a third aspect, this specification describes a computer program according to claim <NUM>.

In a fourth aspect, this specification describes a system comprising a first detection device and a user device according to claim <NUM>.

Example embodiments will now be described, by way of example only, with reference to the following schematic drawings, in which:.

<FIG> is a block diagram of an example system, indicated generally by the reference numeral <NUM>. A user <NUM> (e.g. a human user) may give a voice command <NUM> to a user device <NUM>. The user device <NUM> may respond to voice commands by performing one or more actions based on the voice commands. For example, the user device <NUM> may be a refrigerator (for example, a smart fridge), that may be used for purchasing one or more items from online shops. As such, the user <NUM> may provide a voice command <NUM> to the user device <NUM> in order to command the user device <NUM> to perform an action of purchasing one or more items (e.g. groceries).

<FIG> is a block diagram of an example system, indicated generally by the reference numeral <NUM>. A non-human device <NUM> may generate a voice command <NUM> which may cause the user device <NUM> to perform one or more actions. For example, a pre-recorded voice may be generated at the non-human device <NUM> for controlling the user device <NUM>. For a user of the user device <NUM>, the user device <NUM> performing actions in response to a pre-recorded voice (for example, any voices playing at a television or radio) may be undesirable. In another example, the non-human device <NUM> may generate voice commands under the control of malicious software (for example, a hacker controlling the non-human device <NUM> remotely), which voice commands may impersonate the user of the user device <NUM> or command the user device <NUM> to perform one or more actions without the consent of the user of the user device <NUM>. The user device <NUM> may then perform one or more actions without the consent of the user. This may be undesirable for the user.

<FIG> is a block diagram of a system, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. System <NUM> comprises a first detection device <NUM> and a user device <NUM>. The first detection device <NUM> receives, as an input, one or more audio signals. For example, the audio signals may comprise a voice command (e.g. voice commands <NUM> or <NUM>). The first detection device <NUM> provides an audio output. The audio output may be received by the user device <NUM>. The generating of the audio output is discussed in further detail below.

With reference to the examples discussed in <FIG>, the user device <NUM> may not have the capability of distinguishing the pre-recorded voice from a voice command from a human, and therefore the user device <NUM> may perform one or more actions in response to the pre-recorded voice. Further, the user device <NUM> may not have the capability of distinguishing the voice commands from the malicious software from a voice command from the user, and therefore the user device <NUM> may perform one or more actions without the consent of the user. The use of the first detection device <NUM> allows the user device <NUM> to receive an audio output from the first detection device <NUM>, which audio output may comprise information regarding an authenticity of the voice commands. As such, the likelihood of the user device <NUM> performing any actions in response to pre-recorded voices, or without the consent of the user may be reduced.

<FIG> is a block diagram of a system, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. System <NUM> comprises the first detection device <NUM>. The first detection device <NUM> may comprise a score detection module <NUM>, and an embedding module <NUM>. The first detection device <NUM> further comprises a microphone for receiving or detecting audio signals, and may comprise speakers for outputting audio outputs. It may be appreciated that one or more components of the first detection device <NUM> may be comprised within same or separate modules. <FIG> is viewed in conjunction with <FIG> for better understanding of the example embodiments.

<FIG> is a flowchart of an algorithm, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. At operation <NUM>, the first detection device <NUM> detects an audio signal (e.g. using a microphone). The audio signal comprises a voice command, either spoken by a human (e.g. user of the user device <NUM>) or generated from a non-human device (for example the non-human device <NUM> generating a pre-recorded or malicious command). At operation <NUM>, a first score is determined for the audio signal at the score detection module <NUM>. The first score indicates an authenticity of the audio signal. For example, if the first score indicates that the audio signal is authentic, it is likely that the audio signal had been received from the user (e.g. human user) of the user device <NUM>. At operation <NUM>, the first score is embedded in an audio output at the embedding module <NUM>. At operation <NUM>, the audio output is provided (e.g. using a speaker) by the first detection device <NUM>, for example to the user device <NUM>.

In an example embodiment, the audio signal is received by the user device <NUM> at substantially the same time as the audio signal being received at the first detection device <NUM>. For example, when a user (e.g. user <NUM>) or non-human device (e.g. non-human device <NUM>) provides a voice command, an audio signal comprising the voice command may be detected at microphones at the user device <NUM> and microphones at the first detection device <NUM>. The first detection device <NUM> may provide the audio output comprising the first score as the voice command is being provided in the audio signal. For example, the provision of the audio output may start after the user or non-human device starts providing the voice command, but may continue while the user or non-human device is still providing the voice command. As such, the user device <NUM> may receive the audio output from the first detection device <NUM> and may receive the audio signal from the user or non-human device. Alternatively, or in addition, the audio output may be provided by the first detection device <NUM> when the user device <NUM> has finished receiving the audio signal comprising the voice command (e.g. after the user or non-human device has finished providing the voice command. The user device <NUM> determines whether or not to perform any actions in response to one or more voice commands comprised in the audio signal based on the first score received in the audio output from the first detection device.

In an example embodiment, the audio output and the audio signal may be superimposed in a transmission medium (e.g. air). For example, when the audio output is provided by the first detection device <NUM> and the audio signal is provided by the user or the non-human device, the audio output and the audio signal may be superimposed in air, and the superimposed audio may be received by the user device <NUM>. The user device <NUM> may determine the first score from the audio output, and may determine the voice command from the audio signal.

In an example embodiment, the audio output comprises the embedded first score and at least part of the audio signal. For example, the audio output may comprise the voice command of the audio signal in addition to the embedded first score. The user device <NUM> may then determine the voice command from the audio output received from the first detection device <NUM>. In an example, the first score may be embedded in the received audio signal to generate an updated audio signal. The updated audio signal is provided in the audio output and the audio output is provided (e.g. using a speaker) to the user device <NUM>. Alternatively, or in addition, the first score may be embedded in a second audio signal, and the audio output may comprise the received audio signal and the second audio signal. The audio output may then be provided (e.g. using a speaker) to the user device <NUM>, by providing the received audio signal and the second audio signal using the speaker. In such example embodiments, the user device <NUM> may not be required to receive the audio signal including the voice command directly from the user or non-human device, such that the user device <NUM> may receive the audio signal including the voice command indirectly through the first detection device <NUM>. For example, if the user device <NUM> is not operating in a normal mode (for e.g. it is turned off or in a sleep mode) while the user or non-human device provides the voice command, the first detection device <NUM> may provide the audio output comprising both the audio signal (including the voice command) and the first score to the user device <NUM> at a later time when the user device <NUM> is operating normally. For example, the first detection device <NUM> may replay the voice command, and provide the first score to the user device <NUM> when the user device <NUM> is able to receive voice commands.

User devices that may be controlled using voice commands may comprise a variety of Internet of Things (IoT) devices, such as home appliances, vehicles, entertainment devices, wearable or non-wearable consumer devices, or the like. As such, at least some devices may not have the capability of determining whether a received voice command is authentic or not. When the user device <NUM> receives an audio output, as provided by the first detection device <NUM>, the first score embedded in the audio output may assist the user device to determine whether or not the audio signal (e.g. voice command) is authentic. Therefore, the first detection device <NUM> is used for determining authenticity of a voice command, and is then used for providing a corresponding audio output to any device that may be controlled using voice commands.

In an example embodiment, a plurality of detection devices (similar to the first detection device <NUM>) may be used for determining authenticity of an audio signal or audio signals originating from a same user (e.g. human user or non-human device). A plurality of scores (e.g. similar to the first score) determined by the plurality of detection devices may be used (e.g. by averaging or by a combination) for determining an authenticity of the audio signal or the authenticity of a plurality of audio signals originating from the same user.

<FIG> is a block diagram of a system, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. System 6o comprises an audio output <NUM>, as provided by the first detection device <NUM>. Audio output <NUM> comprises an embedded first score <NUM>. In an example embodiment, the audio output <NUM> may optionally comprise at least part of an audio signal <NUM>. The audio signal <NUM> may be the audio signal received and detected at operation <NUM> of <FIG>. The audio signal <NUM> comprises a voice command, that may be used for instructing a user device to perform one or more actions. Alternatively, or in addition, the audio signal <NUM> may be superimposed with the audio output <NUM> in a transmission medium (e.g. air). In an example embodiment, the audio output <NUM> comprises a cryptographic signature <NUM>. The cryptographic signature <NUM> may be used by a user device (such as the user device <NUM> to verify authenticity of the first detection device <NUM>. The audio output <NUM> (or some part of the audio output <NUM>) may be digitally signed using the cryptographic signature <NUM> (e.g. a private key of the first detection device <NUM>). In one example, the audio output <NUM> may be digitally signed by digitally signing the first score <NUM> using the cryptographic signature <NUM>. The cryptographic signature <NUM> may be unique to the first detection device <NUM>, such that any device receiving the audio output <NUM> may authenticate a source of the audio output <NUM> (e.g. using a public key to verify that the audio output <NUM> is indeed received from the first detection device <NUM>, and/or the audio output <NUM> had not been modified).

For example, when the audio output <NUM> is provided by the first detection device <NUM> to the user device <NUM>, the user device <NUM> extracts the first score <NUM> to determine whether to perform one or more actions, as instructed in the command <NUM> of the audio signal <NUM>. If the first score <NUM> indicates that an authenticity of the audio signal <NUM> is determined to be higher than a first threshold, the user device <NUM> performs the one or more actions corresponding to the command <NUM>. Alternatively, if the first score <NUM> indicates that an authenticity of the audio signal <NUM> is determined to be lower than the first threshold, the user device <NUM> does not perform one or more actions corresponding to the command <NUM>. In an example embodiment, the user device <NUM> may further extract the cryptographic signature <NUM> to verify the authenticity of the first detection device <NUM> (or any other device generating the audio output). If the cryptographic signature <NUM> indicates that the audio output <NUM> is received from an authentic source (e.g. the first detection device <NUM>), the user device <NUM> may perform one or more actions corresponding to the command <NUM>. The first threshold may be variable depending on the nature of the command (e.g. the financial cost of implementing the command).

<FIG> is a flowchart of an algorithm, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. Algorithm <NUM> shows how the first score <NUM> may be determined at the first detection device <NUM> (more specifically, at the score detection module <NUM>). At operation <NUM>, it is determined whether the audio signal is received from a human and/or a human is present. At operation <NUM>, the first score <NUM> is generated such that the first score indicates that the authenticity of the audio signal is above a first threshold if the audio signal is determined to be received from a human and/or a presence of a human is determined. There may be a number of ways to determine whether the audio signal is received from a human, and/or whether a human is present when the audio signal is received. For example, an audio signal received from a non-human device (<NUM>) may not be considered to be authentic, even if the audio signal resembles a human voice. The audio signal may be authentic if a human, for example the user of the user device, is present, and if the audio signal is received from the human.

In an example embodiment, the authenticity may be determined to be above the first threshold if the audio signal is received from any human (directly from a human present) and not received from a machine. Alternatively, or in addition, the authenticity may be determined to be above first threshold if the audio signal is received from one or more defined users (for example, owner of the user device, family of the owner, residents of the house where the user device is used, employees of an office where the user device is used, or the like). Alternatively, or in addition, different thresholds of authenticity may be defined for different groups of humans, such that different user devices may perform different actions based on which threshold is met by the authenticity. For example, the first score indicates that the authenticity is above a first authenticity threshold when the audio signal is determined to be received from any human, and the authenticity is above a second authenticity threshold when the audio signal is determined to be received from a particular user (user A). The second authenticity threshold may be higher than the first authenticity threshold. When a user device receives the audio output, and the authenticity is above the first authenticity threshold but below the second authenticity threshold, the user device may determine to perform some actions (e.g. purchase groceries), and not to perform some actions (e.g. purchase expensive products).

<FIG> is an example illustration of an output (e.g. first score) of a system, the illustration indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. The illustration <NUM> comprises a chart of determined first score for each of a plurality of words of a spoken sentence (e.g. voice command in an audio signal.

For example, an audio signal (comprising a voice command) detected at the first detection device <NUM> comprises a sentence "order a new smartphone at Phone-shop please", and the sentence may be segmented into individual words. In an example embodiment, after the detection (<NUM>) of a word and the determining (<NUM>) of a corresponding first score, the first detection device <NUM> may embed (<NUM>) the first score and provide (<NUM>) an audio output comprising the embedded first score. For example, a respective audio output for each respective word may be provided, such that there is a first time interval (e.g. <NUM> milliseconds, or within the range of <NUM> to <NUM> milliseconds) between each respective audio output. The first time interval may be predefined. Alternatively, or in addition, the first score may be generated for a group of words (e.g. phrases, sentences). As such, each audio output may correspond to each respective group of words (rather than a single word).

In an example embodiment, the embedded first score is in an inaudible frequency range. For example, the first score may be embedded by generating a single frequency tone where the frequency is based, at least in part, on the first score (e.g. proportional to the first score). The generated frequency tone may be embedded in the audio output. For instance, a first score "s" may be a number between <NUM> (e.g. low authenticity) and <NUM> (e.g. high authenticity), and a frequency of the embedded first score may be determined as a function of the first score. For example, the frequency of a frequency tone corresponding to the embedded first score may be calculated as fo+ s*fw, where fo is an offset frequency and fw is a frequency span. In an example, a value of fo may be selected to be in the inaudible frequency range (e.g. <NUM>), and the value of fw (frequency span) may be approximately <NUM>. The frequency tone corresponding to the embedded first score may be played during the first time interval between each word or each group of words. A first score of <NUM> may correspond to a frequency tone of <NUM>, and a first score of <NUM> may correspond to a frequency tone of <NUM>. In the example shown in <FIG>, the first score is calculated as <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> respectively for the words "order", "a", "new", "smartphone", "at", "Phone-shop", and "please" respectively. It may be determined that the authenticity of the audio signal (comprising the voice command to order the new smartphone) is above the first threshold, as the respective first scores for the words of the audio signal are closer to <NUM>.

In an example embodiment, the embedded first score is in an audible frequency range. For example, a frequency tone corresponding to the embedded first score may be audible, but may also be unnoticeable or hard to hear. For example, with reference to <FIG>, the embedding of the first score <NUM> is performed such that the frequency tone is at a low volume compared to the audio signal <NUM> of the audio output <NUM> (for example, using spread spectrum communications techniques). The embedded first score may therefore be perceived as a background noise (with low volume) when the audio output is heard or detected.

The first score may be determined using one or more sensors, such that data from the sensors may be used for determining whether the authenticity of the audio signal is above or below a first threshold. As discussed earlier, the authenticity of the audio signal may be determined to be above a first threshold if the audio signal is determined to be received from a human and/or a presence of a human is determined.

<FIG> is a flowchart of an algorithm, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. The operations of the algorithm <NUM> may be performed in order to determine the authenticity of an audio signal. At operation <NUM>, a direction of arrival of an audio signal is determined. For example, when audio signal is detected (<NUM>), the direction from which the audio signal is received may be determined using one or more sensors (e.g. an array of microphones). An array of microphones may be used for estimation of an angle of arrival of the audio signal. At operation <NUM>, it is determined whether there is presence of a human in the determined direction of arrival of the audio signal. If it is determined that there is presence of a human, the authenticity of the audio signal may be determined to be above a first threshold in operation <NUM>. If it is determined that a human is/was not present in the direction of arrival of the audio signal when the audio signal was received, the authenticity of the audio signal may be determined to be below the first threshold in operation <NUM>.

For example, one or more images may be obtained (e.g. using a camera), and the images may be used for determining whether there is a human present in the direction of arrival of the audio signal. In an example embodiment, face recognition techniques may be used on the images for determining whether a specific user (e.g. owner of user device, owner's family, etc.) was present in the direction of arrival of the audio signal. For example, the authenticity of the audio signal may be determined to be higher than the first threshold in operation <NUM> if the owner of the user device was present in the direction of arrival of the audio signal, as this may show that the audio signal is received from the owner of the user device. Alternatively, or in addition, the presence of a human may be determined based on other sensor data received from sensors such as radars, infrared sensors, temperature sensors, motion sensors, time-of-flight sensors, proximity sensors (e.g. time-of-flight based proximity sensors), or other sensors that may determine the presence of a human.

<FIG> is a flowchart of an algorithm, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. The operations of the algorithm <NUM> may be performed in order to determine the authenticity of an audio signal. At operation <NUM>, one or more visual images may be obtained. For example, the first detection device <NUM> may comprise one or more cameras to obtain one or more visual images. At operation <NUM>, a level of lip synchronization between the audio signal and the visual images may be determined. For example, when an audio signal is being received and detected at the first detection device <NUM>, a video of a human providing the audio signal (e.g. voice command) may be captured, such that lip movements of the human may be determined with reference to the audio signal. The lip movements may be matched with the audio signal in order to determine a level of lip synchronization. If it is determined, at operation <NUM>, that the level of lip synchronization is above a second threshold, the authenticity of the audio signal is determined to be above the first threshold at operation <NUM>. If the level of lip synchronization is determined to be below the second threshold at operation <NUM>, the authenticity of the audio signal is determined to be below the first threshold at operation <NUM>.

In an example embodiment, face recognition techniques may be used on the video of the human providing the audio signal (e.g. voice command) for determining whether the audio signal is being received from a defined user (e.g. owner of user device, owner's family, etc.). For example, the authenticity of the audio signal may be determined to be higher than the first threshold in operation <NUM> if the level of lip synchronization is above the second threshold and the audio signal is received from the defined user.

In an example embodiment, the authenticity of the audio signal is determined based, at least in part, on both the direction of arrival of the audio signal (as described in <FIG>), and the level of lip synchronization (as described in <FIG>). For example, the authenticity may be determined to be above the first threshold if a human (optionally a defined user) is present at the direction of arrival of the audio signal, and if the level of lip synchronization is determined to be above a second threshold. Alternatively, or in addition, the authenticity of the audio signal may be determined based on at least one of the direction of arrival of the audio signal and the level of lip synchronization. Therefore, the authenticity of the audio signal may be determined to be above the first threshold if a human is present at the direction of arrival or if the lip synchronization is determined to be above a second threshold.

In accordance with an example embodiment, with reference to <FIG> as discussed above, the audio output provided by the first detection device <NUM> may be received at the user device <NUM>. <FIG> is a flowchart of an algorithm, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. The operations of the algorithm <NUM> may be performed at the user device <NUM>. At operation <NUM>, an audio output is received at the user device <NUM>. The audio output may be similar to the audio output <NUM> (see <FIG>) as provided by the first detection device <NUM>. At operation <NUM>, a first score (e.g. an embedded first score) is extracted from the audio output. At operation <NUM>, the user device <NUM> may determine whether to perform one or more actions in response to one or more commands (e.g. voice commands) based, at least in part, on the first score. The user device <NUM> may optionally extract a cryptographic signature from the received audio output at operation <NUM> before determining whether to perform the one or more actions. For example, the received audio output may be signed with the cryptographic signature (e.g. a private key of the first detection device <NUM>), such that the user device <NUM> may verify (e.g. using a public key of the first detection device <NUM>) whether a source of the received audio output is authentic (e.g. by verifying that the audio output is indeed received from the first detection device <NUM>, and/or the audio output had not been modified).

In an example embodiment, one or more of the operations <NUM> to <NUM> of <FIG> may be performed at a remote server that may be in communication with the user device <NUM>. For example, when the user device <NUM> receives the audio output at operation <NUM>, the user device <NUM> may send the audio output to a remote server (e.g. a cloud server), such that the remote server may extract (<NUM>) the first score, optionally extract (<NUM>) the cryptographic signature, and determine (<NUM>) whether the user device <NUM> should perform one or more actions based on the first score. Alternatively, or in addition, only operation <NUM> is performed at the remote server, such that the remote server may extract (<NUM>) the first score and send the information of the extracted first score to the user device <NUM>. The user device <NUM> may then determine (<NUM>) whether to perform one or more actions based on the extracted first score.

In an example embodiment, the received audio output (e.g. comprising a sentence "Order a new smartphone at Phone-shop please"), may be fragmented into a plurality of fragments (e.g. audible and inaudible fragments). One or more filters may be applied to the fragments in order to separate the audio signal and the first score embedded within the received audio output. For example, at operation <NUM>, the first score may be extracted by applying a Fourier transformation to one or more inaudible fragments and by determining the frequency of a frequency tone corresponding to the inaudible fragments. The first score may then be determined as a function of the determined frequency. For example, the first score (s') may be calculated at the user device <NUM> using as s' = (fd - fo)/ fw, where fd is the determined frequency, fo is an offset frequency, and fw is a frequency span. The offset frequency (e.g. <NUM>) and the frequency span (e.g. <NUM>) may be known values.

In an example embodiment, the user device <NUM> determines to perform one or more actions in response to one or more voice commands (e.g. one or more voice commands comprised in a received audio signal) if the extracted first score (s') indicates that the authenticity of the audio signal is above a first threshold. For example, if the authenticity of the voice command "Order a new smartphone at Phone-shop please" is above the first threshold, the user device <NUM> may perform actions for purchasing a smartphone from the Phone-shop (e.g. an online phone purchasing website). In another example, if the extracted first score indicates that the authenticity of the voice command is below the first threshold, the user device <NUM> may not perform actions for purchasing the smartphone. Additionally, the user device <NUM> may send an alert or notification to inform a user that a voice command with authenticity below the first threshold has been received.

In an example embodiment, as discussed above with reference to <FIG>, different thresholds of authenticity may be defined for different groups of humans, such that the user device <NUM> may perform different actions based on which threshold is met by the authenticity. For example, the authenticity may be above a first authenticity threshold when the audio signal is received from any human, and the authenticity may be above a second authenticity threshold when the audio signal is received from a defined user (e.g. owner of the user device <NUM>). The second authenticity threshold may be higher than the first authenticity threshold. When the user device <NUM> receives the audio output, and the authenticity is above the first authenticity threshold but below the second authenticity threshold, the user device <NUM> may determine to perform some actions (e.g. purchase groceries), and not to perform some actions (e.g. purchase expensive products). As such, in the example provided above regarding the voice command "Order a new smartphone at Phone-shop please", the user device <NUM> may only purchase the smartphone (which may be an expensive product) if the first score indicates that the authenticity is above the second authenticity threshold (e.g. the voice command is received from the defined user).

It may be appreciated that one or more authenticity thresholds or combinations of authenticity thresholds may be defined, such that the user device <NUM> may determine to perform actions based on the one or more authenticity thresholds met by the voice commands, as indicated by the extracted first score.

In an example embodiment, the user device <NUM> may extract the cryptographic signature <NUM> at operation <NUM> to verify the authenticity of the first detection device <NUM> (or any other device generating the audio output). If the cryptographic signature <NUM> indicates that the first detection device <NUM> is authentic, the user device <NUM> may perform one or more actions corresponding to the voice command (<NUM>). If the cryptographic signature <NUM> indicates that the first detection device <NUM> is not authentic, or if a cryptographic signature is not present in the received audio output, the user device <NUM> may not perform one or more actions corresponding to the voice command (<NUM>).

<FIG> is a block diagram of a system, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. System <NUM> comprises a user <NUM>, a first detection device <NUM> (similar to the first detection device <NUM>), and a user device <NUM> (similar to the user device <NUM>). The user device <NUM> may be a voice controllable device that may perform one or more actions in response to voice commands. As discussed earlier, the first detection device <NUM> may comprise a score detection module <NUM> and an embedding module <NUM>. The user device <NUM> may comprise a score extraction module <NUM> and a processing module <NUM>. The user <NUM> may speak out a voice command, and an audio signal <NUM> comprising the voice command may be detected at the first detection device <NUM>. Alternatively, the voice command may also be received from a non-human machine. The audio signal <NUM> may also be received at the user device <NUM>. A first score is determined for one or more words of the voice commands at the score detection module <NUM>. The first score is embedded in an audio output, and the audio output comprising the first score is provided to the user device <NUM>. The audio signal may optionally be provided to the embedding module <NUM>, and the audio output may optionally comprise the audio signal in addition to the embedded first score. The score extraction module <NUM> extracts the first score from the received audio output. The processing module <NUM> determines whether or not one or more actions should be performed in response to the voice command in the received audio signal <NUM> based, at least in part, on the extracted first score.

<FIG> is a block diagram of a system, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. The system <NUM> shows example components of the first detection device <NUM>. The first detection device <NUM> may comprise at least one microphone <NUM> (e.g. for detecting an audio signal and/or for determining a direction of arrival of an audio signal (e.g. using a microphone array)), at least one speaker <NUM> (e.g. for providing the audio output), at least one camera <NUM> (e.g. for determining presence of a human, for determining lip synchronization level, for face recognition, etc.), at least one score detection module (e.g. for determining the first score indicating authenticity of the audio signal), at least one embedding module <NUM> (e.g. for embedding the first score and/or a cryptographic signature in the audio output), and at least one processing module <NUM> (e.g. for executing one or more program instructions).

<FIG> is a block diagram of a system, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. The system <NUM> shows example components of the user device <NUM> as described above with reference to <FIG>. The user device <NUM> may comprise at least one microphone <NUM> (e.g. for receiving the audio output and/or the audio signal), at least one score extraction module <NUM> (e.g. for extracting the first score and/or the cryptographic signature), and at least one processing module <NUM> (e.g. for executing one or more program instructions for performing one or more actions in response to the one or more voice commands).

<FIG> is a sequence diagram illustrating an algorithm, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. The operations of the algorithm may be performed at a system, wherein the system may comprise the first detection device <NUM> and the user device <NUM>. An audio signal is received and detected at the microphone(s) <NUM> at operation <NUM>. The audio signal may be provided to the score detection module <NUM> at operation 152a. The audio signal may optionally be provided to the embedding module <NUM> at operation 152b and to the microphone(s) <NUM> of the user device <NUM> at operation 152c. The score detection module may determine a first score at operation <NUM> and provide the first score to the embedding module <NUM>. The score detection module may use information regarding direction of arrival of the audio signal provided at operation 152a (received from the microphone <NUM>) or visual images (related to presence of a human, face recognition, or lip synchronization level) received from one or more cameras. The embedding module <NUM> may embed the first score in an audio output, which audio output comprises the embedded first score. The audio output may optionally comprise the audio signal as received at operation 152b. At operation <NUM>, the audio output may be provided to the speaker <NUM>, and may be output at the speaker <NUM>. At operation <NUM>, the audio output is received at the user device <NUM> from the first detection device <NUM>. The audio output may be detected at the microphone(s) <NUM> of the receiver <NUM>. The audio output may be provided to the score extraction module <NUM> at operation 156a, and may be provided to the processing module <NUM> at operation 156b. The score extraction module <NUM> may extract a first score from the audio output, and provide the extracted first score to the processing module <NUM> at operation <NUM>. The processing module <NUM> may make a decision at operation <NUM> for determining whether to perform one or more actions in response to one or more voice commands comprised in the audio signal (as received at operation 152c, or received with the audio output at operation <NUM>) based on the extracted first score. If a decision is made to perform one or more actions in response to the one or more voice commands, the processing module <NUM> may cause performance of one or more actions based on the one or more voice commands.

For completeness, <FIG> is a schematic diagram of components of one or more of the modules for implementing the algorithms described above, which hereafter are referred to generically as processing systems <NUM>. A processing system <NUM> may have a processor <NUM>, a memory <NUM> coupled to the processor and comprised of a RAM <NUM> and ROM <NUM>, and, optionally, viewer inputs <NUM> and a display <NUM>. The processing system <NUM> may comprise one or more network interfaces <NUM> for connection to a network, e.g. a modem which may be wired or wireless.

The memory <NUM> may comprise a non-volatile memory, a hard disk drive (HDD) or a solid state drive (SSD). The ROM <NUM> of the memory <NUM> stores, amongst other things, an operating system <NUM> and may store software applications <NUM>. The RAM <NUM> of the memory <NUM> is used by the processor <NUM> for the temporary storage of data. The operating system <NUM> may contain code which, when executed by the processor, implements aspects of the algorithms <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>.

The processor <NUM> may take any suitable form. For instance, it may be a microcontroller, plural microcontrollers, a processor, or plural processors. Processor <NUM> may comprise processor circuitry.

The processing system <NUM> may be a standalone computer, a server, a console, or a network thereof.

In some embodiments, the processing system <NUM> may also be associated with external software applications. These may be applications stored on a remote server device and may run partly or exclusively on the remote server device. These applications may be termed cloud-hosted applications. The processing system <NUM> may be in communication with the remote server device in order to utilize the software application stored there.

<FIG> show tangible media, respectively a removable memory unit <NUM> and a compact disc (CD) <NUM>, storing computer-readable code which when run by a computer may perform methods according to embodiments described above. The removable memory unit <NUM> may be a memory stick, e.g. a USB memory stick, having internal memory <NUM> storing the computer-readable code. The memory <NUM> may be accessed by a computer system via a connector <NUM>. The CD <NUM> may be a CD-ROM or a DVD or similar. Other forms of tangible storage media may be used.

Reference to, where relevant, "computer-readable storage medium", "computer program product", "tangibly embodied computer program" etc., or a "processor" or "processing circuitry" etc. should be understood to encompass not only computers having differing architectures such as single/multi-processor architectures and sequencers/parallel architectures, but also specialised circuits such as field programmable gate arrays FPGA, application specify circuits ASIC, signal processing devices and other devices. References to computer program, instructions, code etc. should be understood to express software for a programmable processor firmware such as the programmable content of a hardware device as instructions for a processor or configured or configuration settings for a fixed function device, gate array, programmable logic device, etc..

As used in this application, the term "circuitry" refers to all of the following: (a) hardware-only circuit implementations (such as implementations in only analogue and/or digital circuitry) and (b) to combinations of circuits and software (and/or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s)/software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a server, to perform various functions) and (c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.

Claim 1:
An apparatus (<NUM>, <NUM>) comprising:
means for receiving (<NUM>) at a microphone an audio signal comprising one or more voice commands;
means for determining (<NUM>) a first score for the received audio signal, wherein the first score indicates an authenticity of the audio signal;
means for embedding (<NUM>) the first score in an audio output; and
means for providing (<NUM>) the audio output for output at a speaker.