Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DETECTION OF REPLAY ATTACK
Document Type and Number:
WIPO Patent Application WO/2019/073234
Kind Code:
A1
Abstract:
In order to detect a replay attack on a voice biometrics system, a speech signal is received at at least a first microphone and a second microphone. The speech signal has components at first and second frequencies. The method of detection comprises: obtaining information about a position of a source of the first frequency component of the speech signal, relative to the first and second microphones; obtaining information about a position of a source of the second frequency component of the speech signal, relative to the first and second microphones; comparing the position of the source of the first frequency component and the position of the source of the second frequency component; and determining that the speech signal may result from a replay attack if the position of the source of the first frequency component differs from the position of the source of the second frequency component by more than a threshold amount.

Inventors:
LESSO JOHN PAUL (GB)
Application Number:
PCT/GB2018/052906
Publication Date:
April 18, 2019
Filing Date:
October 11, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CIRRUS LOGIC INT SEMICONDUCTOR LTD (GB)
International Classes:
G06F21/32
Domestic Patent References:
WO2015163774A12015-10-29
Foreign References:
US20130289999A12013-10-31
GB2541466A2017-02-22
Other References:
CHEN SI ET AL: "You Can Hear But You Cannot Steal: Defending Against Voice Impersonation Attacks on Smartphones", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, IEEE COMPUTER SOCIETY, US, 5 June 2017 (2017-06-05), pages 183 - 195, XP033122979, ISSN: 1063-6927, [retrieved on 20170713], DOI: 10.1109/ICDCS.2017.133
Attorney, Agent or Firm:
HASELTINE LAKE LLP (GB)
Download PDF:
Claims:
CLAIMS

1. A method of detecting a replay attack on a voice biometrics system, the method comprising:

receiving a speech signal at at least a first microphone and a second

microphone, wherein the speech signal has components at first and second frequencies;

obtaining information about a position of a source of the first frequency component of the speech signal, relative to the first and second microphones;

obtaining information about a position of a source of the second frequency component of the speech signal, relative to the first and second microphones;

comparing the position of the source of the first frequency component and the position of the source of the second frequency component; and

determining that the speech signal may result from a replay attack if the position of the source of the first frequency component differs from the position of the source of the second frequency component by more than a threshold amount.

2. A method according to claim 1 , wherein obtaining information about the position of the source of the first frequency component of the speech signal, relative to the first and second microphones, comprises:

filtering the received speech signal to obtain the first frequency component; and determining an angle of arrival of the first frequency component at the first and second microphones,

and wherein obtaining information about the position of the source of the second frequency component of the speech signal, relative to the first and second

microphones, comprises:

filtering the received speech signal to obtain the second frequency component; and

determining an angle of arrival of the second frequency component at the first and second microphones.

3. A method according to claim 2, wherein determining the angle of arrival of each frequency component at the first and second microphones comprises:

calculating a cross-correlation between the respective component of the speech signal received at the first microphone and said respective component of the speech signal received at the second microphone; and obtaining information about the angle of arrival from a location of a peak in the calculated cross-correlation.

4. A method according to claim 1 , wherein obtaining information about the position of the source of the first frequency component of the speech signal, relative to the first and second microphones, comprises:

filtering the received speech signal to obtain the first frequency component; and determining a time difference between arrival of the first frequency component at the first and second microphones,

and wherein obtaining information about the position of the source of the second frequency component of the speech signal, relative to the first and second

microphones, comprises:

filtering the received speech signal to obtain the second frequency component; and

determining a time difference between arrival of the second frequency component at the first and second microphones.

5. A method according to any preceding claim, wherein the first frequency component comprises frequencies in the range of below 1 kHz.

6. A method according to claim 5, wherein the first frequency component comprises frequencies in the range of 100Hz-1 kHz.

7. A method according to any preceding claim, wherein the second frequency component comprises frequencies in the range of above 1 kHz.

8. A method according to claim 7, wherein the second frequency component comprises frequencies in the range of 2kHz-15kHz. 9. A method according to any preceding claim, comprising:

obtaining information about respective positions of sources of more than two frequency components of the speech signal, relative to the first and second

microphones;

comparing the positions of the source of the frequency components; and determining that the speech signal may result from a replay attack if the position of the source of one frequency component differs from the position of the source of at least one other frequency component by more than a threshold amount.

10. A method according to any preceding claim, further comprising:

after comparing the position of the source of the first frequency component and the position of the source of the second frequency component, if the result of the comparing is indeterminate:

receiving the speech signal at a third microphone;

obtaining additional information about the position of the source of the first frequency component of the speech signal, relative to the first, second and third microphones;

obtaining additional information about the position of the source of the second frequency component of the speech signal, relative to the first, second and third microphones; and

comparing the position of the source of the first frequency component and the position of the source of the second frequency component based on said additional information. 1 1 . A system for detecting a replay attack in a speaker recognition system, the system comprising an input for receiving a speech signal from at least a first microphone and a second microphone, and comprising a processor, and being configured for:

receiving a speech signal at at least a first microphone and a second

microphone, wherein the speech signal has components at first and second frequencies;

obtaining information about a position of a source of the first frequency component of the speech signal, relative to the first and second microphones;

obtaining information about a position of a source of the second frequency component of the speech signal, relative to the first and second microphones;

comparing the position of the source of the first frequency component and the position of the source of the second frequency component; and

determining that the speech signal may result from a replay attack if the position of the source of the first frequency component differs from the position of the source of the second frequency component by more than a threshold amount.

12. A device comprising a system as claimed in claim 1 1 .

13. A device as claimed in claim 12, wherein the device comprises a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance.

14. A computer program product, comprising a computer-readable tangible medium, and instructions for performing a method according to any one of claims 1 to 10.

15. A non-transitory computer readable storage medium having computer-executable instructions stored thereon that, when executed by processor circuitry, cause the processor circuitry to perform a method according to any one of claims 1 to 10. 16. A device comprising the non-transitory computer readable storage medium as claimed in claim 15.

17. A device as claimed in claim 16, wherein the device comprises a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance.

18. A method of detecting a replay attack on a voice biometrics system, the method comprising:

generating a first signal from received sound at a first microphone;

generating a second signal from the received sound at a second microphone; using the first and second signals to determine a location of an apparent source of the received sound; and

determining that the received sound may result from a replay attack if the apparent source of the received sound is diffuse.

19. A method according to claim 18, wherein the apparent source of the received sound is considered to be diffuse if it exceeds a diameter of 8cm. 20. A method of detecting a replay attack on a speech recognition system, for example a voice biometrics system, the method comprising: generating a first signal from received sound at a first microphone;

generating a second signal from the received sound at a second microphone; determining a correlation function based on a correlation between the first signal and the second signal;

calculating a width of a central lobe of the determined correlation function; and determining that the received sound may result from a replay attack if the width of the central lobe of the determined correlation function exceeds a threshold value.

21. A method according to claim 20, comprising:

obtaining information about a distance of a sound source from the first and second microphones; and

setting the threshold value based on the distance.

22. A method according to claim 21 , wherein obtaining information about the distance of a sound source from the first and second microphones comprises:

determining a usage mode of a device comprising the first and second microphones.

23. A method according to any of claims 20 to 22, wherein the first and second microphones are spaced apart by a distance of 5-20cm.

24. A method of detecting a replay attack on a voice biometrics system, the method comprising:

generating a first signal from received sound at a first microphone, wherein the first signal has a first component at a first frequency and a second component at a second frequency, and wherein the first frequency is higher than the second frequency; generating a second signal from the received sound at a second microphone, wherein the second signal has a first component at the first frequency and a second component at the second frequency;

determining a first correlation function based on a correlation between the first component of the first signal and the first component of the second signal;

calculating a width of a central lobe of the determined first correlation function; determining a second correlation function based on a correlation between the second component of the first signal and the second component of the second signal; calculating a width of a central lobe of the determined second correlation function; and determining that the received sound may result from a replay attack if the width of the central lobe of the determined second correlation function exceeds the width of the central lobe of the determined first correlation function by more than a threshold value. 25. A system for detecting a replay attack on a voice biometrics system, the system comprising an input for receiving a speech signal from at least a first microphone and a second microphone, and comprising a processor, and being configured for:

generating a first signal from received sound at the first microphone;

generating a second signal from the received sound at the second microphone; using the first and second signals to determine a location of an apparent source of the received sound; and

determining that the received sound may result from a replay attack if the apparent source of the received sound is diffuse. 26. A system for detecting a replay attack in a speaker recognition system, the system comprising an input for receiving a speech signal from at least a first microphone and a second microphone, and comprising a processor, and being configured for:

generating a first signal from received sound at the first microphone;

generating a second signal from the received sound at the second microphone; determining a correlation function based on a correlation between the first signal and the second signal;

calculating a width of a central lobe of the determined correlation function; and determining that the received sound may result from a replay attack if the width of the central lobe of the determined correlation function exceeds a threshold value.

27. A system for detecting a replay attack on a voice biometrics system, the system comprising an input for receiving a speech signal from at least a first microphone and a second microphone, and comprising a processor, and being configured for:

generating a first signal from received sound at the first microphone, wherein the first signal has a first component at a first frequency and a second component at a second frequency, and wherein the first frequency is higher than the second frequency; generating a second signal from the received sound at the second microphone, wherein the second signal has a first component at the first frequency and a second component at the second frequency; determining a first correlation function based on a correlation between the first component of the first signal and the first component of the second signal;

calculating a width of a central lobe of the determined first correlation function; determining a second correlation function based on a correlation between the second component of the first signal and the second component of the second signal; calculating a width of a central lobe of the determined second correlation function; and

determining that the received sound may result from a replay attack if the width of the central lobe of the determined second correlation function exceeds the width of the central lobe of the determined first correlation function by more than a threshold value.

28. A device comprising a system as claimed in any of claims 25, 26 and 27.

29. A device as claimed in claim 28, wherein the device comprises a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance.

30. A computer program product, comprising a computer-readable tangible medium, and instructions for performing a method according to any one of claims 18 to 24.

31 . A non-transitory computer readable storage medium having computer-executable instructions stored thereon that, when executed by processor circuitry, cause the processor circuitry to perform a method according to any one of claims 18 to 24.

32. A device comprising the non-transitory computer readable storage medium as claimed in claim 31.

33. A device as claimed in claim 32, wherein the device comprises a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance.

Description:
DETECTION OF REPLAY ATTACK Technical Field Embodiments described herein relate to methods and devices for detecting a replay attack on a voice biometrics system.

Background Voice biometrics systems are becoming widely used. In such a system, a user trains the system by providing samples of their speech during an enrolment phase. In subsequent use, the system is able to discriminate between the enrolled user and non- registered speakers. Voice biometrics systems can in principle be used to control access to a wide range of services and systems.

One way for a malicious party to attempt to defeat a voice biometrics system is to obtain a recording of the enrolled user's speech, and to play back the recording in an attempt to impersonate the enrolled user and to gain access to services that are intended to be restricted to the enrolled user.

This is referred to as a replay attack, or as a spoofing attack. Summary According to a first aspect of the present invention, there is provided a method of detecting a replay attack on a voice biometrics system, the method comprising:

receiving a speech signal at at least a first microphone and a second microphone, wherein the speech signal has components at first and second frequencies; obtaining information about a position of a source of the first frequency component of the speech signal, relative to the first and second microphones; obtaining information about a position of a source of the second frequency component of the speech signal, relative to the first and second microphones; and comparing the position of the source of the first frequency component and the position of the source of the second frequency component. It is determined that the speech signal may result from a replay attack if the position of the source of the first frequency component differs from the position of the source of the second frequency component by more than a threshold amount. According to another aspect of the present invention, there is provided a system for detecting a replay attack in a speaker recognition system, the system being configured for performing the method of the first aspect.

According to an aspect of the present invention, there is provided a device comprising a system according to the other aspect. The device may comprise a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance.

According to an aspect of the present invention, there is provided a computer program product, comprising a computer-readable tangible medium, and instructions for performing a method according to the first aspect.

According to an aspect of the present invention, there is provided a non-transitory computer readable storage medium having computer-executable instructions stored thereon that, when executed by processor circuitry, cause the processor circuitry to perform a method according to the first aspect.

According to an aspect of the present invention, there is provided a device comprising the non-transitory computer readable storage medium according to the previous aspect. The device may comprise a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance.

According to a second aspect of the present invention, there is provided a method of detecting a replay attack on a voice biometrics system, the method comprising:

generating a first signal from received sound at a first microphone;

generating a second signal from the received sound at a second microphone; using the first and second signals to determine a location of an apparent source of the received sound; and

determining that the received sound may result from a replay attack if the apparent source of the received sound is diffuse. According to another aspect of the present invention, there is provided a system for detecting a replay attack on a voice biometrics system, the system being configured for performing the method.

According to an aspect of the present invention, there is provided a method of detecting a replay attack on a speech recognition system, for example a voice biometrics system, the method comprising:

generating a first signal from received sound at a first microphone;

generating a second signal from the received sound at a second microphone; determining a correlation function based on a correlation between the first signal and the second signal;

calculating a width of a central lobe of the determined correlation function; and determining that the received sound may result from a replay attack if the width of the central lobe of the determined correlation function exceeds a threshold value.

According to another aspect of the present invention, there is provided a system for detecting a replay attack on a speech recognition system, for example a voice biometrics system, the system being configured for performing the method.

According to an aspect of the present invention, there is provided a method of detecting a replay attack on a voice biometrics system, the method comprising:

generating a first signal from received sound at a first microphone, wherein the first signal has a first component at a first frequency and a second component at a second frequency, and wherein the first frequency is higher than the second frequency; generating a second signal from the received sound at a second microphone, wherein the second signal has a first component at the first frequency and a second component at the second frequency;

determining a first correlation function based on a correlation between the first component of the first signal and the first component of the second signal;

calculating a width of a central lobe of the determined first correlation function; determining a second correlation function based on a correlation between the second component of the first signal and the second component of the second signal; calculating a width of a central lobe of the determined second correlation function; and

determining that the received sound may result from a replay attack if the width of the central lobe of the determined second correlation function exceeds the width of the central lobe of the determined first correlation function by more than a threshold value.

According to another aspect of the present invention, there is provided a system for detecting a replay attack on a voice biometrics system, the system being configured for performing the method.

According to another aspect of the present invention, there is provided a device comprising a system according to any previous aspect. The device may comprise a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance.

According to another aspect of the present invention, there is provided a computer program product, comprising a computer-readable tangible medium, and instructions for performing a method according to the second aspect.

According to another aspect of the present invention, there is provided a non-transitory computer readable storage medium having computer-executable instructions stored thereon that, when executed by processor circuitry, cause the processor circuitry to perform a method according to the second aspect.

According to another aspect of the present invention, there is provided a device comprising the non-transitory computer readable storage medium according to the previous aspect. The device may comprise a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance.

Brief Description of Drawings For a better understanding of the present invention, and to show how it may be put into effect, reference will now be made to the accompanying drawings, in which:-

Figure 1 illustrates a smartphone.

Figure 2 is a schematic diagram, illustrating the form of the smartphone.

Figure 3 illustrates a first situation in which a replay attack is being performed;

Figure 4 illustrates a second situation in which a replay attack is being performed; Figure 5 shows a part of Figure 4 in more detail;

Figure 6 illustrates sound transmission in the arrangement of Figure 5;

Figure 7 is a flow chart illustrating a method;

Figure 8 is a block diagram illustrating a system for performing the method of Figure 7; Figure 9 illustrates a stage in the method of Figure 7;

Figure 10 illustrates a stage in the method of Figure 7;

Figure 1 1 illustrates a stage in the method of Figure 7;

Figure 12 illustrates a result of performing a method of Figure 7;

Figure 13 illustrates a further result of performing a method of Figure 7;

Figure 14 illustrates a third situation in which a replay attack is being performed;

Figure 15 illustrates sound transmission in the arrangement of Figure 14;

Figure 16 is a flow chart illustrating a method; Figure 17 is a block diagram illustrating a system for performing the method of Figure 16;

Figure 18 illustrates a first result of performing the method of Figure 16; and

Figure 19 illustrates a second result of performing the method of Figure 16.

Detailed Description of Embodiments

The description below sets forth example embodiments according to this disclosure. Further example embodiments and implementations will be apparent to those having ordinary skill in the art. Further, those having ordinary skill in the art will recognize that various equivalent techniques may be applied in lieu of, or in conjunction with, the embodiments discussed below, and all such equivalents should be deemed as being encompassed by the present disclosure. The methods described herein can be implemented in a wide range of devices and systems, for example a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance. However, for ease of explanation of one embodiment, an illustrative example will be described, in which the

implementation occurs in a smartphone.

Figure 1 illustrates a smartphone 10, having microphones 12, 12a, and 12b for detecting ambient sounds. In this example, the microphone 12 is of course used for detecting the speech of a user who is holding the smartphone 10, while the

microphones 12a, 12b are provided on the upper part of the sides of the smartphone 10, and are therefore not clearly visible in Figure 1.

Figure 2 is a schematic diagram, illustrating the form of the smartphone 10.

Specifically, Figure 2 shows various interconnected components of the smartphone 10. It will be appreciated that the smartphone 10 will in practice contain many other components, but the following description is sufficient for an understanding of the present invention.

Thus, Figure 2 shows the microphone 12 mentioned above. In certain embodiments, the smartphone 10 is provided with multiple microphones 12, 12a, 12b, etc.

Figure 2 also shows a memory 14, which may in practice be provided as a single component or as multiple components. The memory 14 is provided for storing data and program instructions.

Figure 2 also shows a processor 16, which again may in practice be provided as a single component or as multiple components. For example, one component of the processor 16 may be an applications processor of the smartphone 10. Figure 2 also shows a transceiver 18, which is provided for allowing the smartphone 10 to communicate with external networks. For example, the transceiver 18 may include circuitry for establishing an internet connection either over a WiFi local area network or over a cellular network. Figure 2 also shows audio processing circuitry 20, for performing operations on the audio signals detected by the microphone 12 as required. For example, the audio processing circuitry 20 may filter the audio signals or perform other signal processing operations. Figure 2 also shows at least one sensor 22. In embodiments of the present invention, the sensor is a magnetic field sensor for detecting a magnetic field. For example, the sensor 22 may be a Hall effect sensor, that is able to provide separate measurements of the magnet field strength in three orthogonal directions. Further examples of sensors which may be used may comprise gyro sensors, accelerometers, or software-based sensors operable to determine phone orientation, wherein such software-based sensors may operate in combination with software programs such as such as the FaceTime™ system provided by Apple, Inc.

In this embodiment, the smartphone 10 is provided with voice biometric functionality, and with control functionality. Thus, the smartphone 10 is able to perform various functions in response to spoken commands from an enrolled user. The biometric functionality is able to distinguish between spoken commands from the enrolled user, and the same commands when spoken by a different person. Thus, certain embodiments of the invention relate to operation of a smartphone or another portable electronic device with some sort of voice operability, for example a tablet or laptop computer, a games console, a home control system, a home entertainment system, an in-vehicle entertainment system, a domestic appliance, or the like, in which the voice biometric functionality is performed in the device that is intended to carry out the spoken command. Certain other embodiments relate to systems in which the voice biometric functionality is performed on a smartphone or other device, which then transmits the commands to a separate device if the voice biometric functionality is able to confirm that the speaker was the enrolled user.

In some embodiments, while voice biometric functionality is performed on the smartphone 10 or other device that is located close to the user, the spoken commands are transmitted using the transceiver 18 to a remote speech recognition system, which determines the meaning of the spoken commands. For example, the speech recognition system may be located on one or more remote server in a cloud computing environment. Signals based on the meaning of the spoken commands are then returned to the smartphone 10 or other local device. In other embodiments, the speech recognition system is also provided on the smartphone 10.

One attempt to deceive a voice biometric system or an automatic speech recognition system is to play a recording of an enrolled user's voice in a so-called replay or spoof attack.

One method is therefore described herein with reference to one example, where it is desirable to detect when sound is being played through a loudspeaker, rather than being generated by a human speaker. However, the method is equally applicable to other situations in which it is useful to detect whether sound is coming from a point source or a more diffuse source. One such example might be when it is desired to detect when the sound received by an automatic speech recognition system has been generated by a loudspeaker.

Figure 3 shows an example of a situation in which a replay attack is being performed. Thus, in Figure 3, the smartphone 10 is provided with voice biometric functionality. In this example, the smartphone 10 is in the possession, at least temporarily, of an attacker, who has another smartphone 30. The smartphone 30 has been used to record the voice of the enrolled user of the smartphone 10. The smartphone 30 is brought close to the microphone inlet 12 of the smartphone 10, and the recording of the enrolled user's voice is played back. If the voice biometric system is unable to detect that the enrolled user's voice that it detects is a recording, the attacker will gain access to one or more services that are intended to be accessible only by the enrolled user.

It is known that smartphones, such as the smartphone 30, are typically provided with loudspeakers that are of relatively low quality due to size constraints. Thus, the recording of an enrolled user's voice played back through such a loudspeaker will not be a perfect match with the user's voice, and this fact can be used to identify replay attacks. For example, loudspeakers may have certain frequency characteristics, and if these frequency characteristics can be detected in a speech signal that is received by the voice biometrics system, it may be considered that the speech signal has resulted from a replay attack.

Figure 4 shows a second example of a situation in which a replay attack is being performed, in an attempt to overcome the method of detection described above. Thus, in Figure 4, the smartphone 10 is provided with voice biometric functionality. Again, in this example, the smartphone 10 is in the possession, at least temporarily, of an attacker, who has another smartphone 140. The smartphone 140 has been used to record the voice of the enrolled user of the smartphone 10.

In this example, the smartphone 140 is connected to a high quality loudspeaker 150. Then, the smartphone 10 is positioned close to the loudspeaker 150, and the recording of the enrolled user's voice is played back through the loudspeaker 150. As before, if the voice biometric system is unable to detect that the enrolled user's voice that it detects is a recording, the attacker will gain access to one or more services that are intended to be accessible only by the enrolled user.

In this example, the loudspeaker 150 may be of high enough quality that the recording of the enrolled user's voice played back through the loudspeaker will not be reliably distinguishable from the user's voice, and so the audio features of the speech signal cannot be used to identify the replay attack. However, it is appreciated that many loudspeakers, and particularly high quality loudspeakers, are electromagnetic loudspeakers in which an electrical audio signal is applied to one or both of two voice coils, which are located between the poles of permanent magnets, causing the coil or coils to move rapidly backwards and forwards. This movement of a coil causes a respective diaphragm attached to the coil to move backwards and forwards, creating sound waves.

Figure 5 illustrates the general form of one such loudspeaker device 150 that is in widespread use. Specifically, the illustrated loudspeaker device 150 has two

loudspeakers, with respective voice coils and diaphragms, as described above. The first of these loudspeakers is a woofer 152, which is intended to play back relatively low frequency sounds, for example at frequencies up to 1 kHz, or at frequencies up to 2kHz. The second of the loudspeakers is a tweeter 154, which is intended to play back relatively high frequency sounds, for example at frequencies from 2kHz up to at least the top of the audio frequency range at 20kHz.

It is noted that there also exist loudspeaker devices that include more than two loudspeakers, which are intended to play back different frequencies. The method described herein can be used to identify replay attacks that use those loudspeaker devices too.

Figure 6 shows a typical arrangement, in which the loudspeaker device 150 is being used to replay speech that is detected by the smartphone 10. Thus, Figure 6 shows sounds from the woofer 152 reaching the microphone 12 that is located at the bottom end of the smartphone 10, and also reaching the microphones 12a and 12b that are located at the top end of the smartphone 10. Figure 6 also shows sounds from the tweeter 154 reaching the microphone 12 that is located at the bottom end of the smartphone 10, and also reaching the microphones 12a and 12b that are located at the top end of the smartphone 10.

It can therefore be seen from Figure 6 that, as seen from the smartphone 10, the position of the source of the low frequency sounds from the woofer 152 is different from the position of the source of the high frequency sounds from the tweeter 154. The appreciation of this fact is used in the method described herein. Figure 7 is a flow chart, illustrating a method of detecting a replay attack on a voice biometrics system, and Figure 8 is a block diagram illustrating functional blocks in the voice biometrics system. Thus, Figure 8 shows a voice biometrics system 180, in which audio signals generated by one or more of the microphones 12, 12a, 12b in response to detected ambient sounds are passed to a feature extraction block 182, in order to obtain features of the speech that is detected in the signals. The extracted features are passed to a model compare block 184, in which the extracted features are compared with the features of one or more model of the speech of an enrolled user. For example, there may be only one enrolled user of a voice biometrics system associated with one particular device 10. Then, the extracted features of the detected speech are compared with the model of that user's speech, in order to decide whether the detected speech should be considered to be the speech of the enrolled user.

In step 170 in the method of Figure 7, speech signals are received from at least a first microphone 12 and a second microphone 12a. In practice, signals generated by the microphones 12, 12a may be passed to a voice activity detector, and only those segments of the signals that contain speech may be processed further.

The speech signal generated by the microphone 12 is passed to a first filter bank 186, and the speech signal generated by the microphone 12a is passed to a second filter bank 188. The filter banks 186, 188 extract components of the speech signals at at least first and second frequencies.

For example, the filter banks 186, 188 may extract components in a first relatively narrow frequency band and in a second relatively narrow frequency band. In this case, the two frequency bands may have bandwidths of, say 10-200Hz. The first frequency band may be centred on a frequency in the range of 100Hz-1 kHz, for example at 200Hz. The second frequency band may be centred on a frequency in the range of 2kHz-15kHz, for example at 5kHz. Alternatively, the filter banks 186, 188 may extract components in a first relatively wide frequency band and in a second relatively wide frequency band. In this case, the two frequency bands may have bandwidths of, say 200Hz-2kHz. Again, the first frequency band may be centred on a frequency in the range of 100Hz-1 kHz, for example at 200Hz. The second frequency band may be centred on a frequency in the range of 2kHz-15kHz, for example at 5kHz.

In other embodiments, more than two frequency components are extracted. For example, up to 10 frequency components or more could be extracted. The filter bank may be implemented as a Fast Fourier Transform (FFT) block. In step 172 of the process shown in Figure 7, the extracted frequency components are passed to a position information derivation block 190. The position information derivation block 190 obtains information about a position of a source of the first frequency component of the speech signal, relative to the first and second

microphones.

In step 174 of the process shown in Figure 7, the position information derivation block 190 obtains information about a position of a source of the second frequency component of the speech signal, relative to the first and second microphones. In one embodiment, the position information derivation block 190 obtains information about the positions of the sources of the frequency components by determining an angle of arrival of each frequency component at the first and second microphones.

In general, correlation methods will be used to determine the time difference between two signals. In a preferred embodiment, a method known as generalised cross- correlation using phase transform (GCC-PHAT) can be used to estimate the time delay for an arbitrary waveform. In this case GCC-PHAT would be applied to the different frequency bands to measure the relative delay. These delays can then be transformed into an angle of arrival that provides information about the position of the source of the signal in that frequency band. Beamformers may be used.

The method for determining the positions of the sources of the respective frequency components is described in more detail below. As can be seen from Figure 6, sounds emanating from the woofer 152 will have a shorter path to the microphone 12 than to the microphone 12a, and so they will arrive at the microphone 12 before they arrive at the microphone 12a. This time difference can be used to provide some information about the position of the source of any component of the speech signal that is being produced by the woofer 152. Conversely, sounds emanating from the tweeter 154 will have a shorter path to the microphone 12a than to the microphone 12a, and so they will arrive at the microphone 12a before they arrive at the microphone 12. This time difference can be used to provide some information about the position of the source of any component of the speech signal that is being produced by the tweeter 154.

For example, in each case, the respective time difference can be determined by calculating a cross-correlation between the signals received at the two microphones 12, 12a. The peak in the cross-correlation value will indicate the difference in the time of arrival of the relevant frequency component at the two microphones.

It should be noted that, although in this illustrated example the device 10 is positioned so that the sounds emanating from the woofer 152 will have a shorter path to the microphone 12 than to the microphone 12a, and sounds emanating from the tweeter 154 will have a shorter path to the microphone 12a than to the microphone 12a, the method described herein does not rely on any assumption about the position of the device 10 relative to the speaker device 150. For most positions of the device, the time difference between the signals from the woofer 152 arriving at the two microphones 12, 12a will be different from the time difference between the signals from the tweeter 154 arriving at the two microphones 12, 12a.

Figure 9 illustrates the form of the processing to determine the cross-correlation for one frequency component. Specifically, Figure 9 shows the form of the processing to perform a Generalised Cross Correlation with PHAse Transform (GCC-PHAT). This combines the computational efficiency of a transform-domain processing with a spectral whitening state to calculate the correlation function with the narrowest lobe.

Signals from two microphones 1 1 10, 1 1 12 are passed to respective Fast Fourier Transform (FFT) blocks 1 1 14, 1 1 16. In the embodiments described above, where the locations of the sources of different frequency components are determined, the signals that are passed to the FFT blocks 1 1 14, 1 1 16 are the relevant frequency components of the signals generated by the microphones 1 1 10, 1 1 12. The outputs of the FFT blocks 1 1 14, 1 1 16 are passed to a correlation block 1 1 18. The output of the correlation block 1 1 18 is passed to a normaliser 1 120, and the result of the normalisation is passed to an Inverse Fast Fourier Transform (IFFT) block 1 122 to give the correlation result.

Thus, the output of the IFFT block 1 122 is the cross-correlation result for one frequency component, between the signals generated by the first and second microphones in response to that frequency component. The signals received by the two microphones will typically be the same, but with an offset that depends on the time difference of arrival of the signal at the two microphones.

Figure 10 shows the general form of the cross-correlation 1 128. The peak 1 130 of the cross-correlation 1 128 occurs at a sample offset value that corresponds to a specific time difference of arrival. However, obtaining this directly from the cross-correlation

1 128 only allows a result to be obtained with a maximum accuracy that is limited by the step size of the sample rate used by the correlator, and this can result in relatively large errors. The accuracy of the determination can be improved by interpolating the cross- correlation 1 128 to determine the position of the peak 1 130. One method that can be used for this is to apply a parabolic interpolator on the peak of the correlation waveform. That is, a point close to the peak 1 130 is chosen, and then one point on either side of that first point is also chosen. A parabolic interpretation is performed in order to find the actual position of the peak.

To perform a parabolic interpolation, a second order polynomial interpolation is performed on the smoothed power spectrum, using 3 points: the left and right crossing of the selected data with 0.8 (frequencies fieft and fright), and the central frequency is.

where p 2 , pi , and p 0 are the coefficients of the polynomial, and (A se i(fieft), f left) ; (A se i(fmeas), Was); and (Asei(ftight), fright) are the three chosen points. Hence we solve:

This equation can then be solved to obtain the value of f at which the peak value occurs, and this can be converted back to a time difference.

An alternative, and possibly more robust, method for finding the location of the peak 1 130, and hence the time difference of arrival between the signals received at the two microphones, is to use the Hilbert transform to shift the phase of the waveform. The imaginary part of the Hilbert transformed waveform is shown by the reference numeral 1 132 in Figure 10. The peak 1 130 of the waveform 1 128 now corresponds to the point at which the waveform 1 132 crosses the zero line, and this can be found by using a zero cross based interpolation. This is now a subsample method and limited to the accuracy of the sample rate. Thus, for this particular frequency component of the received sound, it is possible to find the time difference of arrival of the sound at the two microphones.

Figure 11 shows the situation where the source of the sound is in the far field. That is, the source is far enough from the microphones that the respective paths 1 140, 1 142 from the source to the two microphones 1 144, 1 146 can be considered parallel. In

Figure 1 1 , d is the distance between the microphones 1 144, 1 146, and Θ is the angle of approach of the paths 1 140, 1 142 from the source to the microphones 1 144, 1 146. By geometry, the extra distance I travelled by the path to the microphone 1 144, compared to the path to the microphone 1 146, is given by I = d.sin Θ.

The time At taken to travel this extra distance can then be found by using the equation I = c.At, where c is the speed of sound.

Thus, the angle of approach Θ can be found by Θ = sin " (c.At / d).

The actual calculation of the time difference of arrival of the sound at the two microphones is subject to noise, and thus there can be some uncertainty in the result obtained above. One possibility is that a measurement that is corrupted by noise could lead to a physically impossible result that I is greater than d. In order to prevent such measurements being used, it is possible to check that the magnitude of (c.At / d) is less than unity, before proceeding to attempt to calculate the value of Θ.

This example assumes that two microphones are used. If more than two microphones are used, then the same method can be used for the different pairs of microphones, allowing the location of the source of that frequency component of the sound to be determined by triangulation.

Figure 12 illustrates the results obtained for an example in which the received input signal is divided into two frequency components. Specifically, Figure 12 shows an angle of approach θι at a frequency fi and an angle of approach θ 2 at a frequency f 2 . Thus, the time difference between the times of arrival at the two microphones gives some information about the position of the source of the first frequency component and the position of the source of the second frequency component, although in this embodiment that information does not precisely indicate the positions of the sources. In step 176 of the method shown in Figure 7, the position information is passed to a comparator block 192, for comparing the position of the source of the first frequency component and the position of the source of the second frequency component.

Specifically, it is determined if the position of the source of the first frequency component differs from the position of the source of the second frequency component by more than a threshold amount. In the illustrated embodiment described above, where precise position information is not available, it may be determined that the position of the source of the first frequency component differs from the position of the source of the second frequency component by more than the threshold amount if the difference between the angles of approach θι and θ 2 exceeds a threshold amount.

If it is determined that the position of the source of the first frequency component differs from the position of the source of the second frequency component by more than the threshold amount, then it is determined that the speech signal may have been generated by a loudspeaker, and hence may result from a replay attack. In this case, the operation of the voice biometrics system is adapted. For example, as shown in Figure 8, the output from the model compare block 184 may be accompanied by some information about the possibility that the input signal may result from a replay attack. This information can then be taken into consideration when deciding whether to treat the received speech signal as coming from the enrolled user and to act on it.

In other embodiments, if it is determined that the speech signal may result from a replay attack, the operation of the model compare block 184 may be adapted or even prevented.

The embodiment described so far filters two frequency components of the received speech signal, and obtains information about the positions of the sources of those two components. As mentioned above, more than two frequency components may be filtered from the received speech signal. In that case, the result that would be characteristic of a signal generated by a loudspeaker device including a woofer and a tweeter would be that all of the low frequency components are found to come from one source location, and all high frequency components are found to come from a different source location. Figure 13 illustrates this, in the case where the position information relates to the angle of approach of a frequency component of the received input signal. In this example, six frequency components have been extracted, with angles of approach θι - θ 6 corresponding to frequencies fi - f 6 , respectively. These results, with all of the angles of approach θι - Θ3 being clustered together, and being much smaller than the angles of approach θ 4 - θ 6 , indicate that the components at frequencies fi - f 3 are coming from a different source to the components at frequencies f 4 - f6. In a case such as this, the results for frequencies fi - f 3 can be formed into one cluster and averaged, and the results for the frequencies f 4 - f6 can be formed into another cluster and averaged, and the average result for frequencies fi - h can be compared with the average result for the frequencies f 4 - f6. The average angles of approach can be considered to give information about the positions of the sources of a first frequency component and a second frequency component, and it can then be determined that the speech signal may result from a replay attack if the position of the source of the first frequency component differs from the position of the source of the second frequency component by more than a threshold amount. Alternatively, the largest value θ 5 of the angle of approach can be compared with the smallest value θ 2 of the angle of approach and it can then be determined that the speech signal may result from a replay attack if the position of the source of the frequency component with the largest value θ 5 of the angle of approach differs from the position of the source of the frequency component with the smallest value θ 2 of the angle of approach by more than a threshold amount. In another example, the second largest value θ 4 of the angle of approach can be compared with the second smallest value θι of the angle of approach and it can then be determined that the speech signal may result from a replay attack if the position of the source of the frequency component with the second largest value θ 4 of the angle of approach differs from the position of the source of the frequency component with the second smallest value θι of the angle of approach by more than a threshold amount.

Similarly, a result that would be characteristic of a signal generated by a loudspeaker device including three loudspeakers would be that one or more low frequency components are found to come from one source location, one or more mid-frequency components are found to come from a second source location, and one or more high frequency components are found to come from a third source location.

Generally, information is obtained about the respective positions of the sources of more than two frequency components of the speech signal, relative to the first and second microphones. The positions of the source of the frequency components are compared, and it is determined that the speech signal may result from a replay attack if the position of the source of one frequency component differs from the position of the source of at least one other frequency component by more than a threshold amount. In the examples given above, signals from only two microphones 12, 12a are used.

In other embodiments, signals from more than two microphones are used. For example, if signals from three microphones 12, 12a, 12b are all used, with the signal from the microphone 12b being passed to a filter bank 194 and the resulting

components also being passed to the position information derivation block 190, then more precise position information can be obtained. In principle, with signals being received from three (or more) microphones, the exact location of the source of each component can be derived using triangulation. In that case, the separation of the source locations can be compared with a threshold value that is related to the size of a human mouth (on the basis that a separation that exceeds the size of a human mouth indicates that the speech does not come from a human speaker), and/or with a threshold that is related to the size of a typical loudspeaker device (on the basis that a separation that corresponds to the size of a typical loudspeaker device indicates that the speech may well come from such a loudspeaker device).

In a still further embodiment, the method proceeds as described above, using signals from two microphones. However, if the apparent positions of the source of the first frequency component and of the source of the second frequency component are such that the comparator block 192 is unable to reach a conclusion as to whether the speech signal may result from a replay attack, then the signal from a third microphone may also be taken into account. That is, the signal from the third microphone is passed to a respective filter bank, in order to extract the relevant frequency components, and then, for each frequency component, the signals from the three microphones are examined in order to obtain more precise location information.

This more precise location information for each frequency component can then be used to determine whether the different frequency components are coming from different source locations, and hence whether the speech signal may result from a replay attack.

Figure 14 shows a third example of a situation in which a replay attack is being performed, in an attempt to overcome a method of detection described above. Thus, in Figure 14, the smartphone 10 is provided with voice biometric functionality. Again, in this example, the smartphone 10 is in the possession, at least temporarily, of an attacker, who has another smartphone 240. The smartphone 240 has been used to record the voice of the enrolled user of the smartphone 10.

In this example, the smartphone 240 is connected to a high quality loudspeaker 2150. Then, the smartphone 10 is positioned close to the loudspeaker 2150, and the recording of the enrolled user's voice is played back through the loudspeaker 2150. As before, if the voice biometric system is unable to detect that the enrolled user's voice that it detects is a recording, the attacker will gain access to one or more services that are intended to be accessible only by the enrolled user. In this example, the loudspeaker 2150 may be of high enough quality that the recording of the enrolled user's voice played back through the loudspeaker will not be reliably distinguishable from the user's voice, and so the audio features of the speech signal cannot be used to identify the replay attack.

In this example, the loudspeaker 2150 is an electrostatic loudspeaker such as a Quad® ESL, or a balanced mode radiator loudspeaker, or a bending mode or bending wave loudspeaker, or any other type of flat panel loudspeaker.

One feature of many such loudspeakers is that the apparent source of the sound is not at one point, but is diffuse, i.e. distributed over the loudspeaker.

Figure 15 shows a typical arrangement, in which the loudspeaker device 2150 is being used to replay speech that is detected by the smartphone 10. Thus, Figure 15 shows sounds from a point 2152 in the lower part of the loudspeaker 2150 reaching the microphone 12 that is located at the bottom end of the smartphone 10, and also reaching the microphones 12a and 12b that are located at the top end of the smartphone 10. Figure 15 also shows sounds from a point 2154 in the upper part of the loudspeaker 2150 reaching the microphone 12 that is located at the bottom end of the smartphone 10, and also reaching the microphones 12a and 12b that are located at the top end of the smartphone 10.

It can therefore be seen from Figure 15 that, as seen from the smartphone 10, the sounds that it detects come from a highly diffuse source. This contrasts with the situation where a human is speaking, when the sounds come from a relatively small area, with the human mouth for example having a maximum jaw range of motion (ROM) or maximum mouth opening (MMO) of about 5-8cm.

The appreciation of this fact is used in the method described herein.

Figure 16 is a flow chart, illustrating a method of detecting a replay attack on a voice biometrics system, and Figure 17 is a block diagram illustrating functional blocks in the voice biometrics system.

Specifically, in Figure 16, in step 2170, a first signal is generated at a first microphone. For example, the first microphone may be the microphone 12 that is located at the bottom end of the smartphone 10. This microphone generates a signal in response to the received sound. Similarly, in step 2172, a second signal is generated at a second microphone. For example, the second microphone may be one of the microphones 12a that is located at the upper end of the smartphone 10. Again, this microphone generates a signal in response to the received sound.

In the case of a smartphone, the first and second microphones may be spaced apart by a distance in the range of 5-20cm. As part of the biometric operation, the first and second signals are passed to a feature extraction block 2190, which extracts features of the audio signals in a known manner. In one example, the features of the audio signals may be Mel Frequency Cepstral Coefficients (MFCCs). These features are passed to a model comparison block 2192, where they are compared with the corresponding features extracted from the user's speech during an enrolment process. Based on the comparison, it is determined whether the detected speech is the speech of the enrolled user.

Meanwhile, the first and second signals are also passed to a location information derivation block 2194.

In step 2174, the location information derivation block 2194 uses the first and second signals to determine a location of an apparent source of the received sound.

More specifically, in one example, in step 2176, the location information derivation block 2194 performs a correlation operation on the first signal and the second signal, and determines a correlation function.

The correlation operation determines a value for the cross-correlation Rxy between the first signal and the second signal, for a range of time offsets. Thus, in this example, the first and second signals are responding to the same received sound. However, the value of the correlation depends on the position of the source of the received sound. For example, if the sound arrives at the first microphone before the second

microphone, the signals will need to be offset relative to each other in one direction to achieve a match between them. This results in a high value in the correlation function with an offset in that direction. If the sound arrives at the second microphone before the first microphone, the signals will need to be offset relative to each other in the other direction to achieve a match between them. This results in a high value in the correlation function with an offset in that other direction.

This assumes that the source of the received sound is a point source. However, in reality, the source has a finite width, and so the overall correlation function that is calculated is the integral, across the whole width of the source, of these correlations between received sounds coming from point sources.

Specifically, for any point in the finite width of the source of the sound, the times of flight of the sound from that point to the two microphones can be calculated as τ and τ Ρ . The difference between these two times will depend on the angle at which sound from that source meets the plane containing the two microphones. If the source of the sound is a diffuse source, extending from -w 0 to w 0 in the direction of the width, then the correlation result is the integral of the correlations across the width of the source: ίτ, τ Ρ } = — Ι -e^-^dw Thus:

The width of central lobe of this function therefore depends on the width of the source of the sound.

By making an assumption about the likely distance of the loudspeaker 2150 from the smartphone 10, in the situation illustrated in Figure 15 (for example, that it is likely that the attacker would place the smartphone between 0.10 and 1.0 metres from the loudspeaker), a suitable threshold value can be set. This threshold can represent the maximum width of the central lobe that would be expected, if the source of the sound were in fact a human mouth. If the width of the central lobe exceeds this threshold value, it can be determined that the source of the sound is likely to be a loudspeaker.

Figure 18 illustrates an example situation where the sound is arriving at the first and second microphones from a narrow source that is located equidistantly from the first and second microphones. Thus, the peak in the central lobe of the correlation function Rxy is relatively sharp, with a width Wi between the points at which the central lobe of the correlation function reaches zero, and is located at zero offset. By contrast, Figure 19 illustrates an example situation where the sound is arriving at the first and second microphones from a diffuse source, similar to that shown in Figure 15. Thus, some parts of the source (for example the point 2152 in the lower part of the loudspeaker 2150) are closer to the microphone 12 that is located at the bottom end of the smartphone 10 than to the microphone 12a that is located at the top end of the smartphone 10.

Thus, sound from the point 2152, and other similar points, arrives at the microphone 12 before it arrives at the microphone 12a. Therefore, as discussed above, sounds from these points result in a high value in the correlation function with an offset in one particular direction.

Conversely, other parts of the source (for example the point 2154 in the upper part of the loudspeaker 2150) are closer to the microphone 12a that is located at the top end of the smartphone 10 than to the microphone 12 that is located at the bottom end of the smartphone 10.

Thus, sound from the point 2154, and other similar points, arrives at the microphone 12a before it arrives at the microphone 12. Therefore, as discussed above, sounds from these points result in a high value in the correlation function with an offset in the opposite direction to the sounds from points such as the point 2152.

Thus, in Figure 19, the peak in the central lobe of the correlation function Rxy is much less sharp than in Figure 18, with a width W 2 between the points at which the central lobe of the correlation function reaches zero.

In step 2178 of the process shown in Figure 16, this width of the central lobe of the correlation function is calculated.

In step 2180 of the process shown in Figure 16, this calculated width of the central lobe of the correlation function is passed to a determination block 2196, and it is determined that the received sound may result from a replay attack if the apparent source of the received sound is diffuse. For example, the apparent source of the received sound may be considered to be diffuse if it is larger than a human mouth, for example if it exceeds a diameter of 5cm. Thus, as shown at step 2182, it is determined that the received sound may result from a replay attack if the width of the central lobe of the correlation function exceeds a threshold value. That threshold value may be chosen so that the width of the central lobe of the correlation function exceeds the threshold value if the source of the received sound exceeds a diameter of about 5-8cm.

In some embodiments, information may be obtained about the usage mode of the smartphone. For example, information may be obtained about the distance of the smartphone from the source of the received sound, for example using an ultrasound or optical proximity detection function. The threshold value may then be set based on the distance of the smartphone from the source of the received sound.

If it is determined that the received sound may result from a replay attack, an output flag or signal is sent to a further function in the voice biometric system. For example, the output of the model comparison block 2192 may be halted, or may be altered so that a subsequent processing block gives less weight (or no weight at all) to an output indicating that the voice was that of the enrolled speaker. In the example above, signals from two microphones were used to determine whether the source of the received sound is diffuse. In other examples, signals from three of more microphones may be cross-correlated (for example cross-correlated against each other in pairs) to obtain more information about the spatial diversity of the source of the detected sound.

In the examples given above, the signals from two microphones were used to determine whether the source of the received sound is diffuse. A further development of this is based on the recognition that, for certain loudspeakers at least, The idea may be extended by noting that the apparent width of the loudspeaker will vary with frequency. More specifically, the loudspeaker will appear to be wider at low frequencies than at higher frequencies.

In order to take advantage of this, the location information derivation block 2194 includes two or more band-pass filters, for extracting respective frequency bands of the received signal. The method described above is then performed separately on these two frequency bands. More specifically, the first microphone generates a first signal from received sound, wherein the first signal has a first component at a first frequency and a second component at a second frequency, and wherein the first frequency is higher than the second frequency. The second microphone generates a second signal from the received sound.

Then, a first correlation function is determined based on a correlation between the first component of the first signal and the first component of the second signal. The width of a central lobe of that first correlation function is calculated. A second correlation function is determined based on a correlation between the second component of the first signal and the second component of the second signal. The width of a central lobe of that second correlation function is calculated.

The two widths are then compared, and it is determined that the received sound may have been generated by a loudspeaker, and for example may result from a replay attack, if the width of the central lobe of the determined second correlation function exceeds the width of the central lobe of the determined first correlation function by more than a threshold value.

There are therefore disclosed methods and systems that can be used for detecting a possible replay attack.

The skilled person will recognise that some aspects of the above-described apparatus and methods may be embodied as processor control code, for example on a non- volatile carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. For many applications embodiments of the invention will be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus the code may comprise conventional program code or microcode or, for example code for setting up or controlling an ASIC or FPGA. The code may also comprise code for dynamically configuring re- configurable apparatus such as re-programmable logic gate arrays. Similarly the code may comprise code for a hardware description language such as Verilog TM or VHDL (Very high speed integrated circuit Hardware Description Language). As the skilled person will appreciate, the code may be distributed between a plurality of coupled components in communication with one another. Where appropriate, the embodiments may also be implemented using code running on a field-(re)programmable analogue array or similar device in order to configure analogue hardware.

Note that as used herein the term module shall be used to refer to a functional unit or block which may be implemented at least partly by dedicated hardware components such as custom defined circuitry and/or at least partly be implemented by one or more software processors or appropriate code running on a suitable general purpose processor or the like. A module may itself comprise other modules or functional units. A module may be provided by multiple components or sub-modules which need not be co-located and could be provided on different integrated circuits and/or running on different processors.

Embodiments may be implemented in a host device, especially a portable and/or battery powered host device such as a mobile computing device for example a laptop or tablet computer, a games console, a remote control device, a home automation controller or a domestic appliance including a domestic temperature or lighting control system, a toy, a machine such as a robot, an audio player, a video player, or a mobile telephone for example a smartphone. It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word "comprising" does not exclude the presence of elements or steps other than those listed in a claim, "a" or "an" does not exclude a plurality, and a single feature or other unit may fulfil the functions of several units recited in the claims. Any reference numerals or labels in the claims shall not be construed so as to limit their scope.




 
Previous Patent: ANALYSING SPEECH SIGNALS

Next Patent: DETECTION OF LIVENESS