Relay device for voice commands processed by a voice assistant, voice assistant and wireless network
By designing a relay device for relaying voice commands, the problem of limited coverage of existing voice assistants is solved, achieving wider coverage and lower resource complexity.
Patent Information
- Application Number
- CN202080051277.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-09
- Filing Date
- 2020-12-09
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2040-12-09
AI Technical Summary
The existing voice assistant has limited coverage and cannot effectively cover the entire apartment or house. Due to the limitations of the Bluetooth protocol version, the voice assistant can only communicate with a single remote device, making it difficult to expand the coverage area.
A relay device is designed to receive voice commands through a wireless communication unit, and to determine the receiver's voice assistant using a processing circuit, transmit voice commands to it, and realize the relay transmission of voice commands.
Through the use of relay devices, the coverage of voice assistants can be expanded, the number of voice assistants required can be reduced, and the "ubiquitous" voice assistant effect can be achieved.
Smart Images

Figure CN114556805B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a relay device for relaying voice commands processed by a voice assistant, a voice assistant adapted to process such relayed voice commands, and a wireless network including the voice assistant and the relay device. Background Art
[0002] Voice assistants are becoming increasingly popular. Voice assistants are passive listening devices that respond once a voice trigger (e.g., "Hey voice assistant") is recognized. They use speech recognition algorithms to detect keywords in the user's spoken request. Such voice assistants are connected to the internet so they can send the parsed request to a remote server that will calculate the appropriate response.
[0003] Such voice assistants can only handle requests made by nearby users, making it generally impossible to cover an entire apartment or house with a single voice assistant.
[0004] In order to be able to make requests to a voice assistant from multiple locations, for example within the same house, it is known to embed multiple voice assistants into different electronic devices, such as televisions, speakers, smartphones, smart watches, etc. All these voice assistants are independent, since they include the complete voice assistant software (voice recognition algorithms, etc.) and are connected to the Internet in order to send parsed requests to a remote server and receive responses calculated by the remote server. This limits the use of voice assistants to expensive electronic devices, since they must have enough power to run the complete software and must integrate at least a Wi-Fi chipset (or any other chipset allowing Internet connection), for example already plugged in or with a high battery capacity.
[0005] Recently, some Bluetooth speakers equipped with microphones have begun to implement only voice trigger detection. Once a voice trigger is detected, such Bluetooth speakers will establish a Bluetooth voice link with its paired voice assistant to transmit the voice command to it so that a response can be determined. This is advantageous because voice trigger detection requires fewer resources (in terms of performance and cost) than full voice assistant software.
[0006] In this case, the coverage of the voice assistant can be extended to a certain extent, because it can process requests received from users near the Bluetooth speaker. The associated resource complexity increase is lower than providing two independent voice assistants, because the Bluetooth speaker only implements the detection of voice triggers, and the voice assistant optionally processes the voice command and determines the response through a remote server.
[0007] However, the deployed voice assistants use a version of the Bluetooth protocol that only allows one-to-one voice links, which means that these voice assistants can only communicate with a single remote device, which greatly limits the achievable coverage area extension. In addition, the achievable coverage area extension is also limited by the maximum range of the Bluetooth protocol. Summary of the invention
[0008] The present disclosure aims to propose a solution for expanding the coverage area of voice assistants to be able to reduce the number of voice assistants required to cover a given area (such as an apartment or building) to create an "ambient" or "ubiquitous" voice assistant.
[0009] Furthermore, the present disclosure is intended to enable such coverage area extension, at least in some embodiments, even for existing voice assistants, which may be significantly limited in the number of simultaneous voice links that can be established.
[0010] To this end, and according to a first aspect, the present disclosure relates to a relay device comprising a processing circuit and a wireless communication unit for connecting to a wireless network, the wireless network comprising a plurality of network nodes interconnected by wireless links, wherein the relay device is configured to:
[0011] - receiving an input signal from a source node connected to the wireless network through the wireless communication unit, the input signal comprising a voice command received by a microphone of the source node, the voice command being processed by a voice assistant;
[0012] - determining, by the processing circuit and based on the input signal, a recipient voice assistant connected to the wireless network and suitable for processing the voice command;
[0013] - transmitting, by the wireless communication unit, an output signal including the voice command to the recipient voice assistant.
[0014] Therefore, such a relay device can relay the voice command received from the source node of the wireless network to the voice assistant of the wireless network. In other words, the voice command can reach the voice assistant through multiple hops within the wireless network, thereby increasing the coverage of the voice assistant.
[0015] A wireless network includes or is preferably constituted of a plurality of network nodes interconnected only by wireless links. Therefore, any network node of a wireless network can communicate with any other network node of the wireless network directly (via a single wireless link / hop) and / or indirectly (via multiple wireless links / hops) by using a dedicated wireless link. Therefore, such a wireless network can use any topology as long as all links between network nodes are wireless links. A wireless network can be connected to a wired network via at least one of its network nodes. A wireless network can be homogeneous or heterogeneous. In a homogeneous wireless network, all wireless links use the same wireless communication protocol. In a heterogeneous wireless network, not all wireless links use the same wireless communication protocol, and some wireless links can use a first wireless communication protocol, such as a Bluetooth protocol, while other wireless links can use a second wireless communication protocol different from the first wireless communication protocol, such as a Wi-Fi protocol.
[0016] Thus, the relay device can receive the voice command directly from the source node (single hop) or indirectly (multiple hops, through at least one other relay device). Similarly, the relay device can transmit the voice command to the determined recipient voice assistant directly (single hop) or indirectly (multiple hops, through at least one other relay device).
[0017] In a particular embodiment, the relay device may also include one or more of the following features considered alone or in any technically possible combination.
[0018] In a specific embodiment, the wireless communication unit includes at least one of the following:
[0019] -Bluetooth communication unit;
[0020] -Wi-Fi communication unit;
[0021] - Zigbee communication unit.
[0022] In a particular embodiment, the processing circuit is configured to determine the recipient voice assistant by performing at least one of the following:
[0023] - extracting an identifier of the voice assistant from the input signal;
[0024] - searching for at least one predetermined word in the input signal;
[0025] - Use the wireless network topology.
[0026] In a particular embodiment, the processing circuit is further configured to determine a path to the recipient voice assistant based on the topology of the wireless network and use the path when transmitting the voice command to the recipient voice assistant.
[0027] According to a second aspect, the present disclosure relates to a method for processing an input signal including a voice command to be processed by a voice assistant by a relay device connected to a wireless network, the wireless network including a plurality of network nodes interconnected by wireless links, wherein the method comprises:
[0028] - receiving an input signal from a source node connected to the wireless network, the input signal comprising a voice command received by a microphone of the source node;
[0029] - determining a recipient voice assistant connected to the wireless network and suitable for processing the voice command based on the input signal;
[0030] -Transmitting an output signal including the voice command to a recipient voice assistant.
[0031] According to a third aspect, the present disclosure relates to a computer program product comprising instructions which, when executed by a relay device comprising a wireless communication unit and a processing circuit, configure the relay device to perform a method of processing an input signal according to any one of the embodiments of the present invention.
[0032] According to a fourth aspect, the present disclosure relates to a voice assistant comprising a processing circuit and a wireless communication unit for connecting to a wireless network, the wireless network comprising a plurality of network nodes interconnected by wireless links, wherein the voice assistant is configured to:
[0033] - receiving, by the wireless communication unit, at least two input signals, each input signal comprising a voice command received by a microphone of a source node of the wireless network;
[0034] - determining, by the processing circuit, whether the voice command of the input signal corresponds to the same request issued by a single user;
[0035] - if the voice commands correspond to the same request issued by a single user: determining a single response to the voice command based on at least one of the voice commands;
[0036] - If the voice commands correspond to different requests: determining a response to each different voice command.
[0037] In practice, in a wireless network including at least one relay device arranged to relay voice commands, the voice assistant may receive multiple voice commands. However, in some cases, the voice commands may correspond to the same request issued by the same user. In practice, the same request may be received by different source nodes, which may be connected to the voice assistant through the same relay device or through different relay devices. One of the source nodes may also be directly connected to the voice assistant, in which case the same request is received directly from this source node through the relay device, and the same request is received indirectly from another source node. Therefore, the voice assistant is preferably arranged to detect whether voice commands received through different paths correspond to the same request issued by a single user to avoid determining multiple responses to a single request.
[0038] In certain embodiments, the voice assistant may also include one or more of the following features, considered alone or in any technically possible combination.
[0039] In a particular embodiment, the processing circuit is further configured to, if the voice commands correspond to the same request issued by a single user, process the voice commands to generate enhanced voice commands and determine a single response based on the enhanced voice commands.
[0040] In a particular embodiment, the processing circuit is further configured to, if the voice command corresponds to the same request issued by a single user, process the corresponding input signal to determine location information for the user, and determine a single response based on the location information.
[0041] In a particular embodiment, the processing circuit is further configured to, if the voice commands correspond to different requests having respective priorities, determine the respective responses in an order determined based on the respective priorities of the requests.
[0042] In a particular embodiment, the processing circuit is further configured to, if the input signal comprises location information for a user who has issued the corresponding request, extract the location information from the input signal and determine the response based on the location information.
[0043] In a particular embodiment, determining a response includes selecting at least one responding node of the wireless network based on the location information of the user, and commanding the at least one responding node to perform at least one action determined in response to the request.
[0044] According to a fifth aspect, the present disclosure relates to a method for processing a voice command by a voice assistant connected to a wireless network, the wireless network comprising a plurality of network nodes interconnected by wireless links, wherein the method comprises:
[0045] - receiving at least two input signals from at least one relay device of the wireless network, each input signal comprising a voice command received by a corresponding microphone of a source node of the wireless network;
[0046] - determining whether the voice commands of the input signal correspond to the same request issued by a single user;
[0047] - if the voice commands correspond to the same request issued by a single user: determining a single response to the voice command based on at least one of the voice commands;
[0048] - If the voice commands correspond to different requests: determining a response to each different voice command.
[0049] According to a sixth aspect, the present disclosure relates to a computer program product comprising instructions, which, when executed by a voice assistant comprising a wireless communication unit and a processing circuit, configure the voice assistant to perform a method for processing voice commands according to any one of the embodiments of the present invention.
[0050] According to a seventh aspect, the present disclosure relates to a wireless network comprising a plurality of network nodes interconnected by wireless links, wherein at least one network node is a source node comprising a microphone, at least one network node is a voice assistant according to any embodiment of the present invention, and at least one network node is a relay device according to any embodiment of the present invention.
[0051] In a particular embodiment, the wireless network may include at least one of the following:
[0052] -Bluetooth Low Energy, BLE, mesh network;
[0053] -Bluetooth piconet;
[0054] -Wi-Fi network. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] The invention will be better understood by reading the following description, which is given by way of example and not by way of limitation, and is made with reference to the following accompanying drawings, which show:
[0056] - Figure 1 : A schematic representation of an exemplary wireless network including at least one relay device;
[0057] - Figure 2 : A diagram showing the main steps of an exemplary method for processing, by a relay device, an input signal including a voice command processed by a voice assistant;
[0058] - Figure 3: A diagram showing the main steps of an exemplary method for processing, by a voice assistant, a plurality of voice commands received from a wireless network;
[0059] - Figure 4 : Schematic representation of an exemplary wireless network including multiple source nodes and relay devices and a voice assistant.
[0060] In these drawings, the same reference numerals from one drawing to another denote the same or similar elements. For clarity, unless otherwise explicitly stated, the illustrated elements are not drawn to scale. DETAILED DESCRIPTION
[0061] Figure 1 An exemplary wireless network 10 comprising a plurality of network nodes interconnected by wireless links is schematically represented.
[0062] exist Figure 1 In the exemplary embodiment depicted in part a), the network nodes of the wireless network 10 include:
[0063] - a source node 20 comprising a microphone (not shown in the figure) adapted to digitize the spoken request issued by the user to obtain a voice command;
[0064] - a voice assistant 40 for processing voice commands corresponding to verbal requests issued by the user;
[0065] A relay device 30 for relaying voice commands from the source node 20 to the voice assistant 40 .
[0066] exist Figure 1 In the exemplary embodiment depicted in part b), the wireless network 10 includes two relay devices 30, and the voice command issued by the source node 20 is relayed by the first relay device 30 and the second relay device 30 in sequence before reaching the voice assistant 40.
[0067] Of course, the wireless network 10 may include Figure 1 The wireless network 10 shown in FIG. 1 may have different numbers of network nodes and / or may have different Figure 1 In particular, the wireless network 10 may include:
[0068] - a plurality of source nodes 20, preferably distributed in a given area (e.g. a house, a building, etc.) so as to be able to record spoken requests coming from any location within said given area;
[0069] - a plurality of relay devices 30 , which are preferably distributed in the given area so as to be able to forward voice commands from any source node 20 to the voice assistant 40 ;
[0070] a plurality of voice assistants 40, which may correspond, for example, to voice assistants from different manufacturers,
[0071] - One or more response nodes 50, each response node is suitable for performing a possible action for responding to the request; for example, the response node 50 may include at least one of the following: a speaker, a screen, an actuator (e.g. for turning on / off a light, a TV, an oven, a radiator, etc.), etc.
[0072] Of course, network nodes can perform multiple functions.
[0073] For example, the source node 20 may also be a relay device 30 and / or a response node 50. Similarly, the relay device 30 may also be a source node 20 and / or a response node 50, and even a voice assistant 40 (if the wireless network includes multiple voice assistants 40), etc.
[0074] Each network node of the wireless network 10 comprises a wireless communication unit in order to connect to the wireless network 10, ie in order to establish a wireless link with at least one other network node of the wireless network 10. Each wireless communication unit supports at least one wireless communication protocol.
[0075] In the present disclosure, a "(verbal) request" corresponds to a sound signal emitted by a user. A "voice command" corresponds to a digital signal obtained by at least digitizing an analog audio signal emitted by a microphone in response to the reception of a verbal request. A voice command may correspond to a digital audio signal or preprocessed data derived from a digital audio signal, such as a list of words extracted from a digital audio signal. Moreover, a "voice command" corresponds to the useful part of a verbal request, i.e., data corresponding to an actual request for which a response is to be determined (e.g., "What time is it now?", "Please increase the temperature in the living room", "What is the weather forecast for tomorrow?", etc.). A "voice trigger" is similar to a voice command (i.e., a digital audio signal or preprocessed data derived from the digital audio signal), but corresponds to a control part of a verbal request, which is used to detect that a sound signal includes a request processed by a voice assistant (e.g., "Hello voice assistant", etc.).
[0076] like Figure 1 As shown, the relay device 30 includes a wireless communication unit 31 and a processing circuit 32 .
[0077] For example, the processing circuit 32 includes one or more processors and storage devices (magnetic hard disk, solid state disk, optical disk, electronic memory, etc.), in which a computer program product is stored in the form of a set of program code instructions to be executed in order to implement all or part of the steps of the method 60 for processing an input signal including a voice command. Alternatively, or in combination therewith, the processing circuit 32 may include one or more programmable logic circuits (FPGA, PLD, etc.) and / or one or more application-specific integrated circuits (ASICs) and / or a set of discrete electronic components, etc., suitable for implementing all or part of the steps of the processing method 60.
[0078] For example, the wireless communication unit 31 coupled to the processing circuit 32 corresponds to a radio frequency circuit including components considered to be known to the skilled person (antenna(s), amplifier(s), local oscillator(s), mixer(s), analog and / or digital filter(s), etc.). As described above, the wireless communication unit 31 implements at least one wireless communication protocol. For example, the wireless communication unit 31 may include at least one of the following:
[0079] -Bluetooth communication unit;
[0080] -Wi-Fi communication unit;
[0081] - Zigbee communication unit.
[0082] In other words, the processing circuit 32 of the relay device 30 and the wireless communication unit 31 form a set of devices configured by software (specific computer program product) and / or by hardware (processor, FPGA, PLD, ASIC, discrete electronic components, radio frequency circuit, etc.) to implement all or part of the steps of method 60 for processing input signals including voice commands by the relay device 30.
[0083] Figure 2 The main steps of a method 60 for processing, by a relay device 30 , an input signal comprising a voice command to be processed by a voice assistant 40 of a wireless network 10 are schematically represented.
[0084] like Figure 2 As shown, the processing method 50 includes the following steps performed by the relay device 30:
[0085] - Step S61, receiving an input signal from a source node 20 connected to the wireless network 10, the input signal comprising a voice command received by a microphone of the source node 20;
[0086] - Step S62, determining a recipient voice assistant 40 connected to the wireless network and suitable for processing the voice command based on the input signal;
[0087] - Step S63, transmitting the output signal including the voice command to the recipient voice assistant 40.
[0088] During step S61, the wireless communication unit 31 of the relay device 30 receives an input signal including a voice command received by the microphone of the source node 20. As described above, the input signal may be received directly from the source node 20 or indirectly through at least one other relay device 30. In addition to the voice command, the input signal may also include a voice trigger of a verbal request. The voice command (and, where applicable, the voice trigger) may correspond to a digital audio signal, or to pre-processed data derived from the digital audio signal, such as a list of words detected in the digital audio signal.
[0089] During step S62 , the processing circuit 32 of the relay device 30 determines, based on the input signal, a recipient voice assistant 40 that is connected to the wireless network 10 and is suitable for processing the voice command.
[0090] For example, if there is a single voice assistant 40 connected to the wireless network 10, step S62 can be simplified to retrieving the identifier of the voice assistant 40 in the storage device of the relay device 30. A default voice assistant 40 may also be defined for the wireless network 10, in which case the relay device 30 can retrieve the identifier of the default voice assistant 40 in the storage device of the relay device 30.
[0091] According to another example, if there are at least two voice assistants 40 connected to the wireless network 10, step S62 may include, for example, searching for at least one predetermined word (i.e., keyword) in the input signal. For example, if the input signal includes a voice trigger including the name of the voice assistant (e.g., for "Hello Siri", a voice assistant made by "Hello Google" for voice assistants made by If a predetermined word is not present in the input signal (e.g., in a voice trigger), a predetermined name (e.g., "Hello Alexa" for a voice assistant developed by a different manufacturer) can be searched in the voice trigger (e.g., "Siri", "Google", "Alexa", etc.). Therefore, if the wireless network 10 includes voice assistants developed by different manufacturers, it can be determined which of the voice assistants 40 connected to the wireless network 10 is the recipient voice assistant of the received voice command. Searching for a predetermined word in an input signal (e.g., in a voice trigger) can use any method known to those skilled in the art. For example, a speech recognition algorithm can be used, or similarity with each reference word stored in a storage device of the relay device 30 can be calculated, etc.
[0092] According to yet another example, if there are at least two voice assistants 40 connected to the wireless network 10, step S62 may include, for example, using the topology of the wireless network 10. For example, if the topology (or at least a portion of the topology) is known to the relay device 30, the nearest voice assistant 40 (e.g., based on the number of hops required to reach the voice assistant, or the time required to reach the voice assistant, etc.) may be selected as the receiving voice assistant 40.
[0093] It should be noted that the above examples are non-limiting and can also be combined, for example. For example, if there are multiple voice assistants from the same manufacturer, the closest voice assistant 40 corresponding to the name extracted from the voice trigger contained in the input signal (e.g., "Siri", "Google", "Alexa", etc.) can be selected.
[0094] Regardless of whether there are one or more voice assistants 40 in the wireless network 10, step S62 can also be simplified to, for example, extracting the identifier of the recipient voice assistant 40 from the input signal. In fact, for example, if the identifier has been previously determined by the source node 20 of the recipient voice assistant 40 and / or by another relay device 30 that previously determined the recipient voice assistant 40, the identifier of the recipient voice assistant can be directly included in the input signal together with the voice command.
[0095] In conjunction with the above example or as an alternative to the above example, step S62 of determining the recipient voice assistant 40 may also include determining that the received input signal includes a voice command processed by the voice assistant 40. For example, it is possible that the source node 20 does not perform any detection of the voice trigger in the digital audio signal, and the relay device 30 needs to determine whether the digital audio signal contained in the input signal contains a voice trigger. In this case, the relay device 30 can search for a voice trigger in the received digital audio signal by applying methods known to those skilled in the art. If the relay device 30 detects a voice trigger, the relay device 30 forwards the voice command to the voice assistant 40. If the relay device 30 does not detect a voice trigger, the received digital audio signal is not forwarded to the voice assistant 40.
[0096] In order to reduce the amount of data to be exchanged between the source node 20 and the relay device 30, the determination of whether the digital audio signal includes a voice command is preferably performed by the source node 20. For example, the source node 20 may determine that the digital audio signal includes a voice command, for example, when a trigger is detected. The trigger may be a voice trigger to be detected in the digital audio signal, or a manual trigger caused by, for example, a user pressing a button on the source node 20 or a remote control of the source node 20 (in this case, the remote control may be a network node of the wireless network 10) before issuing a verbal request.
[0097] For purposes of this disclosure, the identifier of the recipient voice assistant 40 may be any identifying information that unambiguously identifies the voice assistant 40 within the wireless network 10. Such an identifier may be, for example, a MAC address, an IP address, an ID in a mesh network, and the like.
[0098] During step S63, the wireless communication unit 31 of the relay device 30 transmits an output signal including a voice command to the recipient voice assistant 40. It should be noted that the relay device 30 may forward the received voice command, or it may pre-process the voice command before forwarding it to the recipient voice assistant 40. Thus, the processing that is typically applied by a standalone voice assistant may be distributed among the source node 20, the relay device 30, and the recipient voice assistant 40, so that the recipient voice assistant 40 always at least computes a response to the user request (optionally using a remote server).
[0099] As described above, the relay device 30 can transmit the voice command to the recipient voice assistant 40 directly (single hop) or indirectly (multiple hops, through at least one other relay device 30).
[0100] In some embodiments, the processing circuit 32 of the relay device can determine the path to the recipient voice assistant 40, for example, based on the topology of the wireless network 10. The determined path is then used when transmitting the voice command to the recipient voice assistant. The path is usually composed of a list of network nodes in the wireless network 10 that need to be passed through to pass the voice command to the recipient voice assistant 40. Of course, if the recipient voice assistant 40 can be reached directly by the relay device 30, the list can be empty.
[0101] It should be noted that the relay device 30 may use the same wireless communication protocol as the wireless communication protocol used to receive the input signal when transmitting the output signal, or may use a different wireless communication protocol. For example, if different wireless communication protocols are used, the relay device 30 may use, for example, the Bluetooth protocol for receiving the input signal including the voice command, and may use, for example, the Wi-Fi protocol for transmitting the output signal including the voice command, or vice versa.
[0102] In addition, when the same wireless communication protocol is used to receive input signals and transmit output signals, the relay device 30 can use different versions of the wireless communication protocol to receive and transmit. For example, the relay device 30 can use Bluetooth protocol version 3.0 or earlier for reception and Bluetooth protocol version 4.0 or higher for transmission, so as to use Bluetooth low energy (BLE) technology when relaying voice commands, for example. In addition, the relay device 30 can use a Bluetooth protocol version that does not support mesh networks for reception (e.g., version 4.0 or lower) and a Bluetooth protocol version that supports mesh networks for transmission (version 5.0 or higher).
[0103] The above description focuses on the request link, that is, the communication from the source node 20 to the recipient voice assistant 40. Of course, the relay device 30 can also be used for the response link, that is, the communication from the recipient voice assistant 40 to the response node 50, which can be the source node 20 or a network node different from the source node 20. This may depend on the user's request, because not all requests need to involve the response node 50 belonging to the wireless network 10. In addition, the response link may not need to be a voice link. For example, if the request is "increase the temperature in the living room", the response is mainly to increase the temperature setting value of the living room radiator (of course, a voice response link can also be established to further inform the user that the request has been considered).
[0104] Therefore, the relay device 30 is used on the request link, which is a voice request link, which can be a one-way unicast link (e.g., an A2DP link for Bluetooth protocol), a two-way unicast link (e.g., an HFP link for Bluetooth protocol), or a broadcast link. The relay device 30 can also be used on the response link, which can be a voice response link, which can be a one-way unicast link, a two-way unicast link, or a broadcast link.
[0105] Therefore, by using one or more relay devices 30, the coverage area of any voice assistant 40 can be greatly expanded. Such relay devices 30 do not have to be independent voice assistants, and in particular they do not need to implement the complete voice assistant software, and they do not need to calculate responses to verbal requests. Therefore, the requirements on the resources required by the relay device 30 are lower than those of the voice assistant 40. In addition, the relay device 30 can collect voice commands from multiple source nodes 20 and forward these voice commands to the recipient voice assistant by using a single one-to-one voice link. Therefore, such a solution can also be used to expand the coverage area of existing voice assistants.
[0106] like Figure 1 As shown, the voice assistant 40 includes a wireless communication unit 41 and a processing circuit 42.
[0107] For example, the processing circuit 42 includes one or more processors and storage devices (magnetic hard disk, solid state disk, optical disk, electronic memory, etc.), wherein a computer program product is stored in the form of a set of program code instructions to be executed to implement all or part of the steps for processing the voice command. Alternatively, or in combination therewith, the processing circuit 42 may include one or more programmable logic circuits (FPGA, PLD, etc.) and / or one or more application-specific integrated circuits (ASICs) and / or a set of discrete electronic components, etc., suitable for implementing all or part of the steps.
[0108] For example, the wireless communication unit 41 coupled to the processing circuit 42 corresponds to a radio frequency circuit including components considered to be known to the skilled person ((multiple) antennas, (multiple) amplifiers, (multiple) local oscillators, (multiple) mixers, (multiple) analog and / or digital filters, etc.). As described above, the wireless communication unit 41 implements at least one wireless communication protocol. For example, the wireless communication unit 41 may include a Bluetooth communication unit, a Wi-Fi communication unit, etc.
[0109] In other words, the processing circuit 42 of the voice assistant 40 and the wireless communication unit 41 form a set of devices configured by software (specific computer program products) and / or by hardware (processor, FPGA, PLD, ASIC, discrete electronic components, radio frequency circuits, etc.) to implement all or part of the steps for the voice assistant 40 to process input signals including voice commands.
[0110] As described above, the present disclosure can be used in existing voice assistants.
[0111] However, in a preferred embodiment, the voice assistant 40 may also be configured to take into account the fact that it may receive voice commands indirectly through one or more relay devices 30. For example, the voice assistant 40 may receive multiple voice commands that in fact correspond to the same request issued by a single user. As described above, for example, if different source nodes 20 receive the same request, it may happen that these source nodes may be connected to the voice assistant 40 through the same relay device 30 or through corresponding different relay devices 30. It is also possible that one of the source nodes 20 is directly connected to the voice assistant 40, in which case the same request is received directly from this source node 20 and indirectly from another source node 20 through a relay device 30, etc.
[0112] Figure 3 The main steps of an exemplary embodiment of a method 70 for processing, by a voice assistant 40, an input signal comprising a voice command, which may correspond to the same request issued by a single user, are schematically represented. Figure 3 As shown, the processing method 70 includes the following steps performed by the voice assistant 40:
[0113] - Step S71, receiving at least two input signals, at least one input signal is received from the relay device 30 of the wireless network 10, and each input signal includes a voice command received by a microphone of the source node 20 of the wireless network 10;
[0114] - Step S72, determining whether the voice command of the input signal corresponds to the same request issued by a single user;
[0115] - Step S73, if the voice commands correspond to the same request issued by a single user, determining a single response to the voice command based on at least one of the voice commands;
[0116] - Step S74, if the voice commands correspond to different requests, determining a response to each different voice command.
[0117] During step S71 , the wireless communication unit 41 of the voice assistant 40 receives an input signal including a corresponding voice command.
[0118] During step S72, the processing circuit 42 of the voice assistant 40 determines whether the received voice instruction corresponds to the same request issued by the same user.
[0119] It should be noted that voice commands corresponding to the same user request should in principle be received in a timely manner. Therefore, in some embodiments, if the probability of receiving different requests from different users at the same time is considered to be low, step S72 can be simplified to determining whether the voice command is received within a predetermined time period.
[0120] Alternatively or additionally, step S72 may include, for example, comparing the voice commands to determine whether they correspond to the same request. For example, if the voice commands correspond to digital audio signals, the voice assistant 40 may, for example, correlate the digital audio signals to obtain a similarity value. If the similarity value is above a predetermined threshold, the voice commands are considered to correspond to the same request. If not, the voice commands are considered to correspond to different requests.
[0121] If the voice commands are considered to correspond to different requests, the voice assistant 40 determines the response for each different voice command during step S74. The response may be determined entirely by the voice assistant 40. Alternatively, the voice assistant 40 may use other devices such as a remote server (not shown) to determine the response.
[0122] If it is believed that the voice commands correspond to different requests, these different voice commands can be processed on a first-come, first-served basis. Alternatively, the voice assistant 40 can determine the response to different voice commands based on the corresponding priorities of the requests. For example, in some embodiments, the voice assistant 40 can be configured to detect predetermined words representing high-priority requests in each voice command. For example, if the voice assistant 40 detects words such as "urgent", "important", "police", "emergency" in the voice command, the corresponding request is assigned a high priority and is processed first. Alternatively or in combination, different priorities can be assigned to different users. In that case, the voice assistant 40 can, for example, analyze the voice command to identify the user who speaks the corresponding request, and process the request based on the priority assigned to the identified user.
[0123] If the voice commands are considered to correspond to the same request from the same user, then during step S73, the voice assistant 40 determines a single response to the voice commands corresponding to the same request by using at least one of the voice commands.
[0124] According to a first example, when determining a single response to a voice command corresponding to the same request, the voice assistant 40 can, for example, select one of the voice commands, and can only use the selected voice command. For example, each source node 20 can provide a confidence level of the transmitted voice command, such as a signal-to-noise ratio SNR or a received signal strength indicator RSSI of the voice command. In that case, the voice assistant 40 can select the voice command with the highest confidence level.
[0125] According to a second example, the voice assistant 40 can process the voice command to produce an enhanced voice command. For example, if the voice command is received as a digital audio signal, the voice assistant 40 can combine the voice command to improve the SNR. This combination can be, for example, a simple coherent addition of the digital audio signal, or a more complex combination that can take into account the corresponding SNR or RSSI of the voice command (e.g., maximum ratio combining, MRC, etc.). More generally, any method known to technicians for combining different copies of the same signal to improve the SNR of the signal can be implemented.
[0126] When determining a response to a given request, the voice assistant 40 may determine at least one action performed by at least one response node depending on the request. In some cases, the response node may be a remote device that does not belong to the wireless network 10. In some other cases, the response node may be a network node of the wireless network 10. For example, the selection of the response node depends on the action to be performed, because the response node must be able to perform the action. For example, if the action corresponds to issuing an audio response to the user, the response node must include, for example, a speaker or headphones, and if the source node 20 includes a speaker and / or headphones, the response node may be the source node 20. According to another example, the response node may be an actuator connected to the wireless network 10 (e.g., for turning on / off lights, TVs, ovens, radiators, etc.). In addition, the response node may be identified and retrieved from the voice command (e.g., "turn on the TV", "turn off the oven", etc.).
[0127] In some embodiments, the response may be determined based on location information of the user making the corresponding request. Indeed, in some cases, it may be advantageous to select a responding node based on, for example, the location of the user. For example, if the response includes an audio or video response for the user, it may be advantageous to select a speaker or screen that is closest to the user in order to provide the audio or video response in an efficient manner. While in some cases it may be sufficient to know the room in which the user is located, other cases will benefit from at least a general understanding of the user's location in the room.
[0128] In some embodiments, the user's location information may be included in the received input signal. In that case, the voice assistant 40 can simply extract the location information from the input signal and use the extracted location information to determine the response (e.g., determine the most appropriate response node). For example, it can be assumed that the user's location is almost the same as the location of the source node 20 that may be known. Therefore, the location information in the input signal may be the location of the source node 20 (e.g., the ID of the room where the source node 20 is located), or even the ID of the source node 20 that enables the voice assistant 40 to retrieve the location of the source node 20 / user.
[0129] In the case where the source node 20 includes several microphones, the digital audio signal at the output of the microphone can be used to estimate the direction of arrival DoA of the sound signal emitted by the user relative to the source node 20. The RSSI of the digital audio signal can also be used to estimate the distance between the source node 20 and the user. Therefore, it can be understood that the position of the user relative to the source node 20 can also be estimated based on DoA and / or RSSI (or distance), etc. The source node 20 can attach such information to the voice command as the user's location information. The location information is then retrieved by the voice assistant 40. Based on, for example, the location of the source node 20 and the user's additional location information (DoA, RSSI, etc.), the voice assistant 40 can estimate the user's location more accurately.
[0130] The location of the source node 20 may be known a priori, or may be determined by, for example, the relay device 30. For example, version 5.1 of the Bluetooth protocol implements a direction finding technique that the relay device 30 may use to determine the location of the source node 20. Therefore, the relay device 30 may attach the location of the source node 20 to the voice command as the user's location information.
[0131] More generally, the direction finding technology of Bluetooth protocol version 5.1 can be used to determine the location of any network node of the wireless network 10 that complies with the Bluetooth implementation. For example, if version 5.1 of the Bluetooth protocol is complied with, the location of the user's mobile phone can be determined by the source node 20 or the relay device 30. After the user is identified (for example, by processing a voice command), the source node 20 or the relay device 30 can assume that the user's location information corresponds to the location of his mobile phone. According to another example, the location of the responding node that complies with the Bluetooth implementation of version 5.1 (or higher) can be determined so that the responding node closest to the user can be selected, for example, based on the user's location information.
[0132] In some embodiments, when at least two source nodes 20 have received the same verbal request, the user's location can be estimated by, for example, comparing the arrival time ToA of the verbal requests on these source nodes 20, and / or by comparing the RSSI of the verbal requests on these source nodes 20, etc.
[0133] In that case, the user's location information can be estimated, for example, by a relay device 30 connected to the source node 20 that has received the same verbal request, and the location information is appended with a voice command. In that case, the relay device 30 may have to determine whether the voice command corresponds to the same request issued by the same user, as discussed above for the voice assistant 40. In this case, the relay device 30 preferably calculates an enhanced voice command and forwards only the enhanced voice command to the recipient voice assistant 40 together with the location information. Alternatively, the relay device 30 can forward the voice command and the corresponding location information at the same time.
[0134] Alternatively or in combination, the voice assistant 40 can estimate the user's location information based on the received input signal. For example, for each voice command, the received input signal may include additional information, such as the ToA of the verbal request on the corresponding source node 20, the RSSI of the verbal request on the corresponding source node 20, etc. Based on this additional information and / or based on the voice command, the voice assistant 40 can estimate the user's location information by applying methods known to technicians.
[0135] As described above, the wireless network 10 may include multiple source nodes 20, multiple relay devices 30, multiple voice assistants 40, and multiple response nodes 50. These multiple network nodes can be arranged in a variety of possible network topologies, and different wireless communication protocols can be used. For example, the wireless network 10 may include one or more BLE mesh networks, and / or one or more Bluetooth piconets, and / or one or more Wi-Fi networks, etc.
[0136] Figure 4 A non-limiting example of a wireless network 10 comprising a plurality of network nodes is schematically represented.
[0137] Figure 4 The exemplary wireless network 10 includes twelve (12) network nodes, which are represented by corresponding letters A to L respectively.
[0138] For each network node AL, the function is given between brackets. For example, network node A (20) is only a source node 20, network node B (30) is only a relay device 30, network node E (30, 50) is both a relay device 30 and a response node 50, network node F (50) is only a response node 50, network node H (40, 50) is both a voice assistant 40 and a response node 50, network node L (20, 30, 50) is a source node 20, a relay device 30 and a response node 50, etc.
[0139] Figure 4 Examples of wireless voice links that can be established between network nodes A to B are shown. For example, the wireless voice link from network node A to network node B is a broadcast voice link, the wireless voice link from network node C to network node E is a unidirectional voice link, the wireless voice link between network node E and network node H is a bidirectional voice link, and so on.
[0140] For example, the wireless network 10 includes two BLE mesh networks. The first BLE mesh network of the wireless network 10 includes, for example, network nodes C, D, and E. The second BLE mesh network of the wireless network 10 includes, for example, network nodes B, F, G, H, J, K, and L. The wireless link between the network node E and the network node H uses, for example, the Wi-Fi protocol, so that the network nodes E and H together form a Wi-Fi network of the wireless network 10. Figure 4 In the embodiment, network nodes A and I are not considered to belong to a BLE mesh network or a WiFi network. However, network node A is connected to network node B (and a first BLE mesh network) via, for example, a Bluetooth wireless link, and network node I is connected to network node H (and a second BLE mesh network) via, for example, a Bluetooth wireless link.
[0141] from Figure 4 It can be seen that the network node AL (source node, relay device, voice assistant, response node) can be embedded in various electronic devices, including, for example, speakers, headphones, mobile phones, tablets, televisions, lamps, ovens, refrigerators, etc.
[0142] It should be emphasized that the present invention is not limited to the exemplary embodiments described above. Variations of the exemplary embodiments described above also fall within the scope of the present invention.
[0143] The above description clearly illustrates this through its various features and their respective advantages, and the present disclosure achieves the goals set for it. In particular, by providing a relay device 30 for forwarding voice commands from a source node 20 to a voice assistant 40, the coverage area of the voice assistant 40 can be extended with a lower increase in complexity than providing several independent voice assistants, because the voice assistant 40 can handle requests from users in its vicinity and in the vicinity of any source node 20. In addition, the voice assistant 40 can also be configured to handle multiple voice commands corresponding to the same request from the same user, so as to benefit from the diversity provided by the resulting wireless network 10.
Claims
1. A relay device (30), comprising a wireless communication unit (31) and a processing circuit (32) for connecting to a wireless network in an area corresponding to an apartment or a house or a building, the wireless network comprising a plurality of network nodes interconnected by wireless links, wherein: The relay device (30) is configured as follows: - receiving an input signal from a source node (20) connected to the wireless network via the wireless communication unit (31), the input signal comprising a voice command received by a microphone of the source node, the voice command to be processed by the voice assistant; - determining, by the processing circuit (32) and based on the input signal, a recipient voice assistant (40) embedded in an electronic device located in the area, connected to the wireless network and suitable for processing the voice command; - selecting, by the processing circuit (32), a path to the recipient voice assistant (40) from a plurality of paths to the recipient voice assistant (40) based on the topology of the wireless network, wherein the path includes a plurality of network nodes, and the voice command is delivered to the recipient voice assistant (40) via the plurality of network nodes; and - transmitting an output signal comprising the voice command by the wireless communication unit (31) and to the recipient voice assistant (40).
2. The relay device (30) according to claim 1, wherein: The wireless communication unit (31) includes at least one of the following: -Bluetooth communication unit; -Wi-Fi communication unit; - Zigbee communication unit.
3. The relay device (30) according to claim 1, wherein: The processing circuit (32) is configured to determine the recipient voice assistant by performing at least one of the following: - extracting from the input signal an identifier of the voice assistant within the wireless network; - searching for at least one predetermined word in the input signal; - Using the topology of the wireless network.
4. The relay device (30) according to claim 1, wherein: The processing circuit (32) is also configured to use the path when transmitting the voice command to the recipient voice assistant.
5. A method (60) for processing an input signal including a voice command to be processed by a voice assistant (40) by a relay device (30) connected to a wireless network in an area corresponding to an apartment or a house or a building, the wireless network including a plurality of network nodes interconnected by wireless links, wherein The method comprises: - receiving an input signal from a source node (20) connected to the wireless network, the input signal comprising a voice command received by a microphone of the source node; - determining a recipient voice assistant (40) embedded in an electronic device located in the area, connected to the wireless network and suitable for processing the voice command based on the input signal; -selecting a path to the recipient voice assistant (40) from a plurality of paths to the recipient voice assistant (40) based on the topology of the wireless network, wherein the path includes a plurality of network nodes via which the voice command is delivered to the recipient voice assistant (40); and - transmitting an output signal comprising the voice command to the recipient voice assistant (40).
6. A computer program product comprising instructions which, when executed by a relay device (30) comprising a wireless communication unit (31) and a processing circuit (32), configure the relay device to perform the method according to claim 5.
7. A voice assistant (40), comprising a processing circuit (42) and a wireless communication unit (41) for connecting to a wireless network (10), the wireless network comprising a plurality of network nodes interconnected by wireless links, wherein: The voice assistant (40) is a passive listening device that responds upon recognizing a voice trigger, and the voice assistant (40) is configured to: - receiving at least two input signals through the wireless communication unit (41), at least one input signal being received from a relay device (30) of the wireless network (10), wherein the relay device (30) connects different source nodes (20) to the voice assistant (40), and each input signal comprising a voice command received by a microphone of a source node (20) of the wireless network (10); - determining, by the processing circuit (42), whether the voice command of the input signal corresponds to the same request issued by a single user; - if the voice commands correspond to the same request issued by a single user: determining a single response to the voice commands based on at least one of the voice commands; - If the voice commands correspond to different requests: determining a response for each different voice command, wherein the response is determined by sending one or more requests to a remote server to calculate the appropriate one or more responses.
8. The voice assistant (40) according to claim 7, wherein: The processing circuit (42) is further configured to: if the voice commands correspond to the same request issued by a single user, process the voice commands to generate enhanced voice commands, and determine the single response based on the enhanced voice commands.
9. The voice assistant (40) according to claim 7 or 8, wherein: The processing circuit (42) is also configured to improve the signal-to-noise ratio (SNR) of the voice command by combining digital audio signals obtained by different microphones corresponding to the same request issued by a single user.
10. The voice assistant (40) according to claim 7 or 8, wherein: The processing circuit (42) is further configured to: if the voice commands correspond to the same request issued by a single user, process the corresponding input signal to determine position information for the user, and determine the single response based on the position information.
11. The voice assistant (40) according to claim 7 or 8, wherein: The processing circuit (42) is further configured to: if the input signal includes location information of the user who has issued the corresponding request, extract the location information from the input signal and determine the response based on the location information.
12. The voice assistant (40) according to claim 10, wherein: Determining the response includes selecting at least one responding node of the wireless network based on the location information of the user, and commanding the at least one responding node to perform at least one action determined in response to the request.
13. A method (70) for processing voice commands by a voice assistant (40) connected to a wireless network (10), the wireless network comprising a plurality of network nodes interconnected by wireless links, wherein: The voice assistant (40) is a passive listening device that responds upon recognizing a voice trigger, and wherein the method comprises: - receiving at least two input signals, at least one of which is received from a relay device (30) of the wireless network (10), wherein the relay device (30) connects different source nodes (20) to the voice assistant (40), and each input signal comprises a voice command received by a microphone of a source node (20) of the wireless network (10); - determining whether the voice command of the input signal corresponds to the same request issued by a single user; - if the voice commands correspond to the same request issued by a single user: determining a single response to the voice commands based on at least one of the voice commands; - If the voice commands correspond to different requests: determining a response to each different voice command, wherein the response is determined by sending one or more requests to a remote server to calculate the appropriate one or more responses.
14. A computer program product comprising instructions which, when executed by a voice assistant (40) comprising a wireless communication unit (41) and a processing circuit (42), configure the voice assistant to perform the method according to claim 13.
15. A wireless network (10), comprising a plurality of network nodes interconnected by wireless links, wherein: At least one network node is a source node (20) comprising a microphone, at least one network node is a voice assistant (40) according to any one of claims 7 to 12, and at least one network node is a relay device (30) according to any one of claims 1 to 4.
16. The wireless network (10) according to claim 15, comprising at least one of the following: -Bluetooth Low Energy, BLE, mesh network; -Bluetooth piconet; -Wi-Fi network.
Citation Information
Patent Citations
Smart home natural language control method
CN105700389A
Accessing multiple virtual personal assistants (VPA) from a single device
US20180061420A1
Management layer for multiple intelligent personal assistant services
US20180301147A1