Device determination method and apparatus, storage medium, and program product

By acquiring voice command quality information from within the same group and adjacent control device groups, the target device is identified to execute the voice command, solving the problem of multiple devices responding simultaneously in smart home systems and improving response accuracy and efficiency.

CN119673162BActive Publication Date: 2026-07-24NINGBO GONEO ELECTRIC APPLIANCE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NINGBO GONEO ELECTRIC APPLIANCE CO LTD
Filing Date
2024-12-17
Publication Date
2026-07-24

AI Technical Summary

Technical Problem

In smart home systems, the problem of multiple smart devices responding to the same voice command simultaneously leads to low response accuracy.

Method used

By receiving voice commands and acquiring voice command quality information from multiple devices, including information from control device groups within the same group and adjacent groups, the target device is determined to execute the voice command.

Benefits of technology

It improves the accuracy and efficiency of smart devices responding to voice commands, avoids situations where multiple devices respond simultaneously, and shortens the judgment time window.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119673162B_ABST
    Figure CN119673162B_ABST
Patent Text Reader

Abstract

The application provides a determination method and device of an equipment, a storage medium and a program product, relates to the technical field of smart home, and is used for solving the problem of low accuracy when a smart equipment responds to a voice. The method comprises the following steps: receiving a voice instruction. Obtaining voice instruction quality information of each of a plurality of equipment; the plurality of equipment comprises: a first equipment, a second equipment except the first equipment in a first control equipment group, and a third equipment in a second control equipment group, the second control equipment group being a control equipment group adjacent to the first control equipment group in a spatial region. Based on the voice instruction quality information of each of the plurality of equipment, a target equipment for executing the voice instruction is determined from the plurality of equipment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of smart home technology, and in particular to a method, apparatus, storage medium, and program product for determining a device. Background Technology

[0002] With the development of the smart device (such as smart home) industry, voice control has become an irreplaceable human-computer interaction method, widely used in smart home network systems, greatly improving the convenience of controlling home devices. Users can control various smart devices in the system through voice commands, such as light switches, temperature and humidity adjustments, and curtain opening and closing.

[0003] However, with the widespread adoption of smart devices, multiple smart devices may exist in a given area. If a user issues a voice command, multiple smart devices may respond simultaneously. Therefore, improving the accuracy of smart device responses has become a pressing technical problem. Summary of the Invention

[0004] This application provides a method, apparatus, storage medium, and program product for determining a device, which addresses the problem of low accuracy in smart devices responding to voice commands.

[0005] To achieve the above objectives, this application adopts the following technical solution:

[0006] In a first aspect, this application provides a method for determining a device, applied to a first device, which belongs to a first control device group among multiple control device groups. Each control device group corresponds to a different spatial region, and each control device group includes a terminal device in its corresponding spatial region. In this method, a voice command is received. Voice command quality information of each of the multiple devices is acquired. The multiple devices include: a first device, a second device in the first control device group other than the first device, and a third device in a second control device group, where the second control device group is a control device group spatially adjacent to the first control device group. Based on the voice command quality information of each of the multiple devices, a target device for executing the voice command is determined from the multiple devices.

[0007] Based on the above technical solution, voice commands can be received, and voice command quality information of each device in a plurality of devices can be obtained. These devices include: a first device, a second device in a first control device group (excluding the first device), and a third device in a second control device group, where the second control device group is spatially adjacent to the first control device group. In other words, the first device can obtain not only voice command quality information within its own group but also voice command quality information from adjacent control device groups. Then, based on the voice command quality information of each device in the plurality of devices, the target device for executing the voice command can be determined from among the plurality of devices. Thus, the first device can determine a target device based on the voice command quality information within its own group and the voice command quality information from other control device groups, thereby avoiding situations where devices in multiple control device groups respond to voice commands due to the inability to obtain voice command quality information from other control device groups, improving the accuracy of intelligent devices responding to voice commands. Furthermore, the voice command quality information of other device control device groups obtained in this application is only the voice command quality information of adjacent control device groups, reducing the amount of information obtained, thereby shortening the judgment time window and improving the efficiency of device determination.

[0008] In one possible design, the target device is the one among multiple devices that receives voice commands with the best voice quality.

[0009] In one possible design, a first candidate device is determined based on the voice command quality information of a first device and a second device. The first candidate device is the device in the control device group to which the first device belongs that has the best voice quality when receiving voice commands. A second candidate device is determined based on the voice command quality information of a third device. The second candidate device is the third device that has the best voice quality when receiving voice commands. A target device is determined from multiple devices based on the voice command quality information of the first and second candidate devices.

[0010] In one possible design, target multicast messages sent by multiple devices are received. These target multicast messages include a first multicast message and / or a second multicast message. The first multicast message is used to inform terminal devices in a first control device group of the voice command quality information of a second device, and the second multicast message is used to inform terminal devices in a target edge group of the voice command quality information of a third device. The first and third devices both belong to the target edge group. The target multicast messages are parsed to obtain the voice command quality information of the multiple devices.

[0011] In one possible design, the number of times the target multicast message is relayed is determined. If the number of relays for the target multicast message is less than a first preset threshold, the target multicast message is forwarded. Alternatively, if the number of relays for the target multicast message is greater than or equal to the first preset threshold, forwarding of the target multicast message is stopped.

[0012] In one possible design, the target edge group includes terminal devices located near the boundary in the first control device group and the second control device group, and the boundary is the boundary between the spatial area corresponding to the first control device group and the spatial area corresponding to the second control device group.

[0013] In one possible design, the number of times a third multicast message has been received is obtained. This third multicast message is a multicast message from the second control device group. If the number of receptions is greater than or equal to a second preset threshold, the device is added to the target edge group.

[0014] In one possible design, the number of times the third multicast message update has been received is obtained. If the number of received updates is less than a second preset threshold, the target edge group is exited.

[0015] Secondly, this application provides a device for determining a device, applied to a first device, the first device belonging to a first control device group among multiple control device groups, each control device group corresponding to a different spatial region, and each control device group including a terminal device in its corresponding spatial region. The device includes a receiving module and a processing module.

[0016] The receiving module is used to receive voice commands. The receiving module is also used to acquire voice command quality information from multiple devices; the multiple devices include: a first device, a second device in a first control device group excluding the first device, and a third device in a second control device group, the second control device group being a control device group spatially adjacent to the first control device group. The processing module is used to determine the target device for executing the voice command from the multiple devices based on the voice command quality information of each device.

[0017] Thirdly, this application provides a device determining apparatus, the apparatus comprising: a processor and a memory; the processor and the memory being coupled; the memory being used to store one or more programs, the one or more programs including computer-executable instructions, wherein when the device determining apparatus is running, the processor executes the computer-executable instructions stored in the memory to implement the method as described in the first aspect and any possible implementation thereof.

[0018] Fourthly, this application provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the methods described in the first aspect and any possible implementation thereof.

[0019] Fifthly, this application provides a chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run computer programs or instructions to implement the methods described in the first aspect and any possible implementation thereof.

[0020] Sixthly, this application provides a computer program product containing instructions that, when executed by a computer, cause the computer to perform the methods described in the first aspect and any possible implementation thereof.

[0021] In the above solution, the technical problems that the determining device, computer equipment, computer storage medium, chip or computer program product can solve and the technical effects that can be achieved can be referred to the technical problems and technical effects solved in the first aspect above, and will not be repeated here. Attached Figure Description

[0022] Figure 1 This is a schematic diagram illustrating an example of a voice wake-up device provided in an embodiment of this application;

[0023] Figure 2 This application provides a schematic diagram of the architecture of a communication system.

[0024] Figure 3 A flowchart illustrating a method for determining a device according to an embodiment of this application;

[0025] Figure 4 This is a schematic diagram illustrating another example of a voice wake-up device provided in an embodiment of this application;

[0026] Figure 5 This is a schematic diagram illustrating another example of a voice wake-up device provided in an embodiment of this application;

[0027] Figure 6 A flowchart illustrating another method for determining a device provided in an embodiment of this application;

[0028] Figure 7 This is a schematic diagram of the structure of a device determining an apparatus provided in an embodiment of this application;

[0029] Figure 8 A schematic diagram of the structure of a determining device for another device provided in an embodiment of this application;

[0030] Figure 9A conceptual partial view of a computer program product provided for an embodiment of this application. Detailed Implementation

[0031] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0032] The terms “first” and “second” in the specification and claims of this application are used to distinguish different objects, rather than to describe a specific order of objects.

[0033] Furthermore, the terms "comprising" and "having," and any variations thereof, used in the description of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or modules is not limited to the steps or modules listed, but may optionally include other steps or modules not listed, or may optionally include other steps or modules inherent to such process, method, product, or device.

[0034] Furthermore, in the embodiments of this application, the words "exemplary" or "for example" are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design that is described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design options. Specifically, the use of the words "exemplary" or "for example" is intended to present concepts in a concrete manner.

[0035] After receiving a voice command, a smart device can obtain its evaluation information and broadcast it. Subsequently, all devices within the area can obtain this evaluation information, ultimately determining which smart device will respond to the voice command. However, multiple smart devices may exist in an area. If two users simultaneously issue voice commands, each smart device in the area will receive the quality information for both commands. Each device will then compare the quality information of the two commands. Finally, the device receiving the command with the best voice quality will respond. This prevents different devices in the area from simultaneously executing voice commands issued by different users.

[0036] For example, such as Figure 1As shown, User 1 can issue voice command 1 from Device 1, and User 2 can issue voice command 2 from Device 2. Each device within the area will broadcast the collected evaluation information for voice command 1 and voice command 2. Then, each device will compare the evaluation information for voice command 1 and voice command 2 together, and finally determine the device that responds to the voice command corresponding to the optimal evaluation information.

[0037] Currently, smart devices in an area can be divided into multiple control device groups. Each smart device can receive evaluation information broadcast by other smart devices within a control device group and determine which device within that group to execute a voice command. Thus, when different users simultaneously issue voice commands from different locations, different control device groups can each identify a device to execute the corresponding voice command.

[0038] However, when a user issues a voice command, and different control device groups receive the command, each control device group only compares the voice quality information of other devices within its own group. Subsequently, each control device group determines which device will respond to the voice command. This results in multiple smart devices responding simultaneously. Therefore, improving the accuracy of smart device responses becomes a pressing technical problem.

[0039] To address the aforementioned technical problems, this application provides a method for determining a device. This method involves receiving a voice command and acquiring voice command quality information for each of a plurality of devices, including: a first device, a second device belonging to the same control device group as the first device, and multiple third devices not belonging to the same control device group as the first device. That is, the first device can acquire not only voice command quality information within its own group but also voice command quality information from other control device groups. Then, based on the voice command quality information of each of the plurality of devices, a target device for executing the voice command can be determined from the plurality of devices. Thus, the first device can determine a target device based on voice command quality information within its own group and voice command quality information from other control device groups, thereby avoiding situations where a device cannot acquire voice command quality information from other control device groups, resulting in devices responding to voice commands in multiple control device groups. Furthermore, the voice command quality information from other control device groups acquired in this application is only from adjacent control device groups, reducing the amount of information acquired, thereby shortening the judgment time window and improving the efficiency of device determination.

[0040] It should be noted that the embodiments of this application do not limit the device. For example, the device can be a switch, a lamp, a television, etc.

[0041] The implementation environment of the embodiments of this application is described below.

[0042] like Figure 2 As shown in the illustration, a communication system provided in this application embodiment includes multiple devices, which can be divided into different control device groups. For example, control device group 1 includes devices 201a, 201b, 201c, etc.; control device group 2 includes devices 202a, 202b, 202c, etc.; control device group 3 includes devices 203a, 203b, 203c, etc.; and control device group 4 includes devices 204a, 204b, 204c, etc.

[0043] It should be noted that multiple control device groups can exist within one area, and one control device group can correspond to one sub-area. For example, if the area is a house, then the sub-areas can be Bedroom 1, Bedroom 2, Bedroom 3, living room, dining room, etc. Bedroom 1, Bedroom 2, Bedroom 3, living room, and dining room can each correspond to one control device group.

[0044] In this embodiment, the device can establish a connection with a control device (such as a mobile phone). The control device is configured with multiple control device groups. Users can set up control device groups for the device through the control device. Furthermore, users can remove the device from a control device group through the control device.

[0045] In one possible implementation, after determining the control device group to which the device belongs, the control device can send the identifier of the control device group to the device. After the control device removes the device from the control device group, the device can delete the identifier of the control device group it belonged to.

[0046] In this embodiment, a control device group has a multicast address, which is pre-configured by the control devices. Network devices (such as smart gateways) can forward multicast messages to all members belonging to the control device group based on the multicast address.

[0047] For example, if the multicast address of control device group 1 is 224.0.0.5, then when device 201a sends a multicast message, devices 201b and 201c can both receive and parse the multicast message.

[0048] In this embodiment, device 201a can collect voice commands. Furthermore, device 201a can generate voice command quality information based on the voice commands. Device 201a can also send multicast messages carrying the voice command quality information, so that each device in control device group 1 can obtain the voice command quality information from device 201a.

[0049] Furthermore, device 201a can acquire voice command quality information of each device in control device group 1. Then, device 201a can determine whether to respond to the voice command based on the voice command quality information of each device in control device group 1.

[0050] In some embodiments, different control device groups may correspond to edge groups. An edge group may include terminal devices located near a boundary within different control device groups, where the boundary is the boundary between spatial regions corresponding to at least two control device groups. An edge group may be shared by all control device groups or by some control device groups. For example, control group 1 and control group 2 may have an edge group 1, and control group 2 and control group 3 may have an edge group 2. As another example, control group 1, control group 2, control group 3, and control group 4 may share a single edge group.

[0051] In this embodiment, the device can establish a connection with a control device (such as a mobile phone). The control device is configured with multiple edge groups, and the user can establish an association between the edge groups and the control device groups through the control device.

[0052] In one possible implementation, the user can set an edge group for the device via the control device. Furthermore, the user can remove the device from the edge group via the control device.

[0053] In another possible implementation, the device stores the relationship between each edge group and the control device group. The device can identify an edge group and join that edge group by receiving messages from other control device groups and knowing which control device group it belongs to.

[0054] In this embodiment, an edge group has a multicast address. Network devices (such as smart gateways) can forward multicast messages to all members belonging to the control device group based on the multicast address.

[0055] In this embodiment of the application, an edge group 1 is provided between control device group 1 and control device group 2. The edge group 1 includes device 201a and device 202a. After receiving a voice command, the device in the edge group can send multicast messages not only to its control device group but also to its edge group.

[0056] For example, device 201a can send multicast message 1 and multicast message 2 carrying voice command quality information. The multicast address of multicast message 1 corresponds to control device group 1, and the multicast address of multicast message 2 corresponds to the edge group. Similarly, device 202a can receive voice command quality information not only from each device in control device group 2, but also from device 201a.

[0057] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0058] like Figure 3 The image shows a method for determining a device according to an embodiment of this application. The method includes:

[0059] S301, Receive voice commands.

[0060] Among them, the first device that receives voice commands belongs to the first control device group in a plurality of control device groups. The plurality of control device groups correspond to different spatial regions, and each control device group includes terminal devices in its corresponding spatial region.

[0061] S302. Obtain voice command quality information from multiple devices.

[0062] The multiple devices include: a first device, a second device in the first control device group other than the first device, and a third device in the second control device group, wherein the second control device group is a control device group that is spatially adjacent to the first control device group.

[0063] It should be noted that there can be one or more third devices. Taking the presence of multiple third devices as an example, these third devices can be devices in the same control device group or devices in different control device groups; this application embodiment does not limit this. The following describes the embodiments of this application using the example of the first and second devices being devices in the first control device group and the third device being a device in the second control device group.

[0064] In one possible implementation, the first device can acquire the voice signal parameters of the voice command and generate voice command quality information based on the voice signal parameters. The voice command quality information is used to indicate the quality of the voice command received by the device. The voice signal parameters include signal-to-noise ratio, recognition rate, signal strength, etc.

[0065] In one possible implementation, the first device can input the acquired voice signal of the voice command into a voice evaluation model to obtain the voice command quality information of the first device. This voice evaluation model is used to evaluate the quality of the received voice command.

[0066] It should be noted that the speech evaluation model in this application is not limited. For example, the speech evaluation model can be based on a convolutional neural network. Another example is that the speech evaluation model can be based on a generative adversarial network. Yet another example is that the speech evaluation model can be based on a recurrent neural network.

[0067] Optionally, before the first device obtains the voice command quality information of the first device, it can determine whether the voice command matches a preset wake-up command. If the voice command matches the preset wake-up command, the voice command quality information of the received voice command can be obtained.

[0068] In this embodiment, the preset wake-up command for both the second device and the third device is the voice command.

[0069] For example, suppose multiple devices include: device a, device b, and device c. The default wake-up command for devices a and b is "Please turn on the light," and the default wake-up command for device c is "Open the curtains." If the voice command is "Please turn on the light," then devices a and b can obtain voice command quality information.

[0070] Understandably, by determining whether the voice command matches, the constraints on obtaining voice command quality information can be increased, thereby reducing the amount of data processing required by the first device.

[0071] It should be noted that each of the aforementioned devices evaluates the collected voice commands to obtain corresponding voice command quality information. The specific process by which each device obtains its voice command quality information can be found in the description of how the first device obtains its voice command quality information, and will not be repeated here.

[0072] In this embodiment, each of the multiple devices can broadcast a broadcast message carrying voice command quality information. Then, the first device can receive the broadcast message to obtain the voice command quality information from the second device and multiple third devices.

[0073] Optionally, the broadcast message may also include the identifier of the control device group to which the device belongs.

[0074] S303. Based on the voice command quality information of each of the multiple devices, determine the target device for executing the voice command from the multiple devices.

[0075] The target device is the device with the best voice quality among multiple devices that receives voice commands.

[0076] In one possible implementation, the first device can compare the voice command quality information of each of the multiple devices to determine the target device. If the first device is the target device, the first device can execute the voice command.

[0077] For example, suppose multiple devices are divided into control device group a (devices 1, 2, and 3) and control device group b (devices 4 and 5). Device 1 has a voice command quality score of 8, device 2 has a voice command quality score of 7, device 3 has a voice command quality score of 5, device 4 has a voice command quality score of 7.6, and device 5 has a voice command quality score of 6. Then device 1 can be identified as the target device.

[0078] In another possible implementation, the voice command quality information in each control device group can be compared separately, and the target device can be determined by the best voice command quality information in each control device group.

[0079] In one possible implementation, the first device can determine a first candidate device based on the voice command quality information of the first device and the voice command quality information of the second device. The first candidate device is the device in the control device group to which the first device belongs that has the best voice quality upon receiving a voice command. Then, the first device can determine a second candidate device based on the voice command quality information of the third device. The second candidate device is the third device that has the best voice quality upon receiving a voice command. Finally, the first device can determine a target device from multiple devices based on the voice command quality information of the first and second candidate devices.

[0080] For example, suppose control device group a includes device 1, device 2, and device 3, and control device group b includes device 4 and device 5. The voice command quality information of device 1 is 8, that of device 2 is 7, that of device 3 is 5, that of device 4 is 7.6, and that of device 5 is 6. Then, device 1 can be identified as the first candidate device, device 4 as the second candidate device, and device 1 can be selected as the target device.

[0081] Understandably, the voice command quality information of each device within the first control device group and the second control device group can be compared separately to select the device with the best received voice command quality within each group. Then, the devices with the best voice command quality within each group can be compared to achieve inter-group device comparison, ensuring that only devices from one group respond to the voice command.

[0082] Based on the above technical solution, voice commands can be received, and voice command quality information of each of multiple devices can be obtained. These multiple devices include: a first device, a second device belonging to the same control device group as the first device, and multiple third devices not belonging to the same control device group as the first device. That is, the first device can obtain not only voice command quality information within its own group but also voice command quality information from other control device groups. Then, based on the voice command quality information of each of the multiple devices, the target device for executing the voice command can be determined from among the multiple devices. Thus, the first device can determine a target device based on the voice command quality information within its own group and the voice command quality information from other control device groups, thereby avoiding the situation where devices in multiple control device groups respond to voice commands because they cannot obtain the voice command quality information from other control device groups. Furthermore, the voice command quality information of other device control device groups obtained in this application is only the voice command quality information of adjacent control device groups, reducing the amount of information obtained, thereby shortening the judgment time window and improving the efficiency of device determination.

[0083] In some embodiments, the device may send a multicast message carrying voice command quality information so that each device in the control device group receives the voice command quality information of the devices in the group.

[0084] In some embodiments, multiple devices may send target multicast messages, which include a first multicast message and / or a second multicast message. The first multicast message is used to inform terminal devices in a first control device group of the voice command quality information of a second device, and the second multicast message is used to inform terminal devices in a target edge group of the voice command quality information of a third device. The first device and the third device belong to the same target edge group. Subsequently, the first device may receive and parse the target multicast messages sent by the multiple devices to obtain the voice command quality information of the multiple devices.

[0085] In one possible implementation, the second device can send a first multicast message. This first multicast message enables terminal devices in the first control device group to obtain the voice command quality information of the second device. The first multicast message includes the voice command quality information of the second device and is a multicast message for the first control device group. Subsequently, the first device can receive and parse the first multicast message sent by the second device to obtain the voice command quality information of the second device.

[0086] It should be understood that the first device may also send a fourth multicast message, which is used to inform the terminal devices in the first control device group of the voice command quality information of the first device. The second device may receive the fourth multicast message sent by the first device, parse the fourth multicast message, and obtain the voice command quality information of the first device.

[0087] In one possible implementation, the first multicast message may include a first multicast address, which identifies the first control device group. The first device can determine whether it is in the first control device group based on the first multicast address. If the first device is in the first control device group, it parses the first multicast message. If the first device is not in the first control device group, it discards the first multicast message.

[0088] For example, such as Figure 4 As shown, suppose the control device group can be divided into control device group a, control device group b, control device group c, and control device group d. After user a issues a voice command at control device group a, the devices in control device group a can send multicast messages, enabling the devices in control device group a to obtain the voice command quality information of each device in control device group a. Devices in control device groups b, c, and d, upon receiving the multicast message from control device group a, discard the multicast message.

[0089] Furthermore, suppose user A issues voice command 1 at control device group a, while user B issues voice command 2 at control device group b. Devices in control device group a can broadcast the voice command quality information of voice command 1 within the group to determine which device in control device group a will execute voice command 1. Similarly, devices in control device group b can broadcast the voice command quality information of voice command 2 within the group to determine which device in control device group b will execute voice command 2.

[0090] Understandably, by receiving and parsing the first multicast message sent by the second device, the voice command quality information of the second device can be obtained. This ensures that the first device can obtain the voice command quality information of devices within the same control device group, thereby improving the accuracy of identifying the target device. Furthermore, by sending multicast messages, control device groups can make independent judgments, enabling devices in different control device groups to execute different voice commands simultaneously.

[0091] In some embodiments, different control device groups may correspond to edge groups. An edge group may include terminal devices located near a boundary within different control device groups, where the boundary is the boundary between spatial regions corresponding to at least two control device groups. Upon receiving a voice command, a device in an edge group can send multicast messages not only to its own control device group but also to its own edge group.

[0092] It should be noted that, typically, devices in the edge group are located at the edge of the control device group and are close to devices in other control device groups, enabling them to frequently receive messages from other control device groups.

[0093] In this embodiment, the third device can be a device in a target edge group. The target edge group includes terminal devices located near the boundary in the first control device group and the second control device group. The boundary is the boundary between the spatial region corresponding to the first control device and the spatial region corresponding to the second control device. Each device in the third device can broadcast a second multicast message. The second multicast message is used to inform the terminal devices in the target edge group of the voice command quality information of the third device. The second multicast message may include: voice command quality information, and the second multicast message is a multicast message of the target edge group. Then, the first device can determine whether the first device is a device in the target edge group. If the first device is a device in the target edge group, the first device can parse each second multicast message to obtain the voice command quality information of the third device.

[0094] It should be understood that if the first device is a device in the target edge group, the first device can send a second multicast message. If the third device is a device in the target edge group, the third device can receive and parse the second multicast message to obtain the voice command quality information of the first device.

[0095] For example, such as Figure 5 As shown, suppose the control device group can be divided into control device group a, control device group b, control device group c, and control device group d. Control device group a includes devices 1, 2, and 3, while control device group b includes devices 4, 5, and 6. Devices 1, 4, and 5 are devices in edge group a corresponding to control device groups a and b, respectively. After user a issues a voice command between control device groups a and b, devices 4 and 5 can broadcast multicast message 1 not only in control device group b but also in edge group a. Device 1 can receive and parse multicast message 2 to obtain voice command quality information.

[0096] Optionally, the target edge group may include: terminal devices located near a preset boundary between various control device groups within the entire control device group. The preset boundary is the boundary between the spatial regions corresponding to any two control device groups within the entire control device group.

[0097] In other words, an edge group can be shared by all control device groups or by some control device groups.

[0098] For example, in combination Figure 5The target edge group can be the edge group corresponding to control device group a and control device group b, and the target edge group can include: device 1, device 4 and device 5. Alternatively, the target edge group can be the edge group corresponding to control device group a, control device group b, control device group c and control device group d, and the target edge group can include: device 1, device 4, device 5, device 6, device 7, device 8, device 9 and device 2.

[0099] Understandably, when the third device is a device in the target edge group, the third device can broadcast a second multicast message, enabling the first device, which is not in the same control device group but is in the same edge group as the third device, to parse the voice command quality information of the third device. This allows the first device to obtain not only the voice command quality information of the same control device group but also the voice command quality information of some devices in other control device groups, increasing the amount of information the first device has to determine the target device and thus improving the accuracy of target device identification.

[0100] In some embodiments, if the first device is the device with the best voice quality in the first control device group that receives voice commands, the first device may determine whether it is a device in the target edge group and compare the voice command quality information in the target edge group to determine the target device.

[0101] like Figure 6 The illustration shows a method for determining a device according to an embodiment of this application. Step 303 of this method may include:

[0102] S601. Based on the voice command quality information of the first device and the voice command quality information of the second device, determine whether the first device is the first candidate device.

[0103] In one possible implementation, the voice command quality information of the first device and the voice command quality information of the second device are compared to determine the first candidate device.

[0104] In some embodiments, if the first device is a first candidate device, the first device executes S602. If the first device is not a first candidate device, the first device determines that the first device is not a target device and does not execute S602.

[0105] S602. Determine whether the first device is a device in the target edge group.

[0106] In one possible implementation, the first device can determine whether an identifier for a target edge group is configured. If an identifier for a target edge group is configured, the first device determines that it is a device within the target edge group. If an identifier for a target edge group is not configured, the first device determines that it is not a device within the target edge group.

[0107] In some embodiments, if the first device is a device in the target edge group, the first device executes S603. If the first device is not a device in the target edge group, the first device executes S604.

[0108] S603. Based on the voice command quality information of the first device and the voice command quality information of the third device, determine whether the first device is the second candidate device.

[0109] In some embodiments, if the first device is the second candidate device, the first device executes S604. If the first device is not the second candidate device, the first device determines that the first device is not the target device and does not execute S604.

[0110] It should be understood that if the first device is not the second candidate device, it means that there is a device in the target edge group that receives voice commands with better quality, indicating that the first device is not the target device and will not execute the voice commands.

[0111] S604. Determine the first device as the target device.

[0112] In this embodiment of the application, when the first device is the target device, the first device can execute voice commands.

[0113] Based on the aforementioned technical solution, comparisons are only made with devices in the target edge group if the first device is both a first candidate device and a device within the target edge group. This avoids comparisons with the target edge group when the first device is not a first candidate device, reducing the amount of data processed by the first device. Furthermore, when the first device is a first candidate device, comparisons with devices in the target edge group prevent situations where a device cannot obtain voice command quality information from other control device groups, leading to devices in multiple control device groups responding to voice commands.

[0114] It should be noted that broadcasting messages by devices may cause network flooding issues.

[0115] In some embodiments, the first device may determine the number of times the target multicast message has been relayed. If the number of relays of the target multicast message is less than a first preset threshold, the first device may forward the target multicast message. Alternatively, if the number of relays of the target multicast message is greater than or equal to the first preset threshold, the first device may stop forwarding the target multicast message.

[0116] In one possible implementation, the first device can determine the number of times the first multicast message is relayed. If the number of relays for the first multicast message is less than a first preset threshold, the first multicast message is forwarded. Alternatively, if the number of relays for the first multicast message is greater than or equal to the first preset threshold, the first device can stop forwarding the first multicast message.

[0117] In this embodiment, the first preset number of times threshold is determined based on the size of the spatial region corresponding to the first control device group.

[0118] For example, if the size of the spatial area corresponding to the first control device group is 10, then the first preset number of times threshold can be 0. If the size of the spatial area corresponding to the first control device group is 20, then the first preset number of times threshold can be 1. If the size of the spatial area corresponding to the first control device group is 30, then the first preset number of times threshold can be 2.

[0119] Optionally, the first multicast message carries a relay count, which is less than a first preset threshold.

[0120] In one possible implementation, the number of times the second multicast message is relayed can be determined. If the number of relays of the second multicast message is less than a first preset threshold, the second multicast message is forwarded. Alternatively, if the number of relays of the second multicast message is greater than or equal to the first preset threshold, forwarding of the second multicast message is stopped.

[0121] In this embodiment, the first preset number of times threshold is determined based on the size of the spatial region corresponding to the target edge group.

[0122] Understandably, by limiting the number of relays of the target multicast message, the propagation range of the multicast message can be effectively reduced, the time window for comparing voice command quality information can be shortened, thereby improving the efficiency of identifying the target device.

[0123] In some embodiments, if the first device is not a device in the target edge group, the first device discards the second multicast message.

[0124] Understandably, if the first device is not a device in the target edge group, there is no need to process multicast messages from devices in the target edge group, thereby reducing the amount of data processed and improving the efficiency of determining the target device.

[0125] It should be noted that, in this embodiment of the application, the number of times a device in the edge group receives multicast messages from other control device groups exceeds a second preset threshold. The device can determine whether to join the edge group based on the number of times it receives multicast messages from other control device groups.

[0126] In some embodiments, the first device can obtain the number of times it has received a third multicast message, where the third multicast message is a multicast message from the second control device group. If the first device is not a device in the target edge group, and the number of receptions exceeds a second preset threshold, then the first device is added to the target edge group.

[0127] Understandably, if the number of receptions exceeds the second preset threshold, it indicates that the first device is relatively close to the control device group containing the third device and can frequently receive multicast messages from that control device group. Therefore, the first device can be added to the target edge group to facilitate more accurate target device identification.

[0128] In some embodiments, the devices in the target edge group can be updated based on the number of receptions, where the number of receptions is the number of times a third multicast message has been received within a preset duration prior to the current time.

[0129] It should be noted that the preset duration is not limited in the embodiments of this application. For example, the preset duration can be 24 hours, 36 hours, 48 ​​hours, etc.

[0130] Understandably, by limiting the number of receptions to the number of times a third multicast message is received within a preset time period before the current time, this reception count can be updated in real time, thereby enabling a more accurate identification of devices in the edge group.

[0131] In some embodiments, the first device may obtain an updated number of receptions. If the first device is a device in the target edge group, and the updated number of receptions is less than or equal to a second preset threshold, the first device is removed from the target edge group.

[0132] Understandably, if the number of receptions is less than or equal to the second preset threshold, it indicates that the first device is far from the control device group where the third device is located, and the frequency of receiving multicast messages from the control device group where the third device is located is low. Therefore, the first device can be removed from the target edge group, so that the first device does not need to parse the second multicast messages of the third device in the future, thus reducing the data processing load of the first device.

[0133] The foregoing mainly describes the solutions provided by the embodiments of this application from a methodological perspective. It is understood that the device determining apparatus, in order to achieve the above functions, includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the device determining method steps described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0134] This application embodiment can divide the device determining apparatus into functional modules or functional units according to the above method example. For example, each function can be divided into a separate functional module or functional unit, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or in software functional modules or functional units. The module or unit division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.

[0135] This application provides a device for determining an apparatus. For example... Figure 7 As shown, the determining device is applied to a first device, which belongs to a first control device group among multiple control device groups. Each control device group corresponds to a different spatial region, and each control device group includes a terminal device within its corresponding spatial region. The determining device may include a receiving module 701, a processing module 702, and a transmitting module 703.

[0136] The receiving module 701 is used to receive voice commands. The receiving module 701 is also used to acquire voice command quality information from multiple devices; the multiple devices include: a first device, a second device in a first control device group excluding the first device, and a third device in a second control device group, wherein the second control device group is a control device group spatially adjacent to the first control device group. The processing module 702 is used to determine the target device for executing the voice command from the multiple devices based on the voice command quality information of each device.

[0137] In one possible design, the target device is the one among multiple devices that receives voice commands with the best voice quality.

[0138] In one possible design, processing module 702 is specifically used to determine a first candidate device based on the voice command quality information of a first device and a second device. The first candidate device is the device in the control device group to which the first device belongs that has the best voice quality upon receiving a voice command. Processing module 702 is also specifically used to determine a second candidate device based on the voice command quality information of a third device. The second candidate device is the device in the third device group that has the best voice quality upon receiving a voice command. Finally, processing module 702 is specifically used to determine a target device from multiple devices based on the voice command quality information of the first and second candidate devices.

[0139] In one possible design, the receiving module 701 is used to receive target multicast messages sent by multiple devices. The target multicast messages include a first multicast message and / or a second multicast message. The first multicast message is used to inform terminal devices in a first control device group of the voice command quality information of a second device, and the second multicast message is used to inform terminal devices in a target edge group of the voice command quality information of a third device. The first device and the third device both belong to the target edge group. The processing module 702 is specifically used to parse the target multicast messages to obtain the voice command quality information of the multiple devices.

[0140] In one possible design, processing module 702 is specifically used to determine the number of times the target multicast message has been relayed. Specifically, processing module 702 is used to forward the target multicast message if the number of relays is less than a first preset threshold. Alternatively, processing module 702 is used to stop forwarding the target multicast message if the number of relays is greater than or equal to the first preset threshold.

[0141] In one possible design, the target edge group includes terminal devices located near the boundary in the first control device group and the second control device group, and the boundary is the boundary between the spatial area corresponding to the first control device group and the spatial area corresponding to the second control device group.

[0142] In one possible design, the processing module 702 is further configured to obtain the number of times the third multicast message has been received, where the third multicast message is a multicast message for the second control device group. The processing module 702 is also configured to join the target edge group if the number of received messages is greater than or equal to a second preset threshold.

[0143] In one possible design, the processing module 702 is further configured to obtain the number of times the third multicast message has been received. The processing module 702 is also configured to exit the target edge group if the number of received updates is less than a second preset threshold.

[0144] Figure 8This is a schematic diagram illustrating the structure of a device determination apparatus according to an exemplary embodiment. The device determination apparatus may include a processor 802, which executes application code to implement the device determination method of this application.

[0145] The processor 802 may be a central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.

[0146] like Figure 8 As shown, the determining device may further include a memory 803. The memory 803 stores application code that executes the scheme of this application, and its execution is controlled by the processor 802.

[0147] The memory 803 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or it may be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto. The memory 803 may exist independently and be connected to the processor 802 via bus 804. The memory 803 may also be integrated with the processor 802.

[0148] like Figure 8 As shown, the device determining mechanism may further include a communication interface 801, wherein the communication interface 801, processor 802, and memory 803 may be coupled to each other, for example, through a bus 804. The communication interface 801 is used for information interaction with other devices, for example, supporting information interaction between the device determining mechanism and other devices.

[0149] It should be pointed out that, Figure 8 The device structure shown does not constitute a limitation on the specific means of using the device, except... Figure 8In addition to the components shown, the determining means of the device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements.

[0150] In actual implementation, the functions implemented by the processing unit can be derived from... Figure 8 The processor 802 shown calls the program code in memory 803 to implement this.

[0151] This application also provides a computer-readable storage medium storing instructions that, when executed by a processor of a computer device, enable the computer to perform the device determination method provided in the embodiments described above. For example, the computer-readable storage medium may be a memory 803 including instructions, which may be executed by a processor 802 of a computer device to complete the method described above. Optionally, the computer-readable storage medium may be a non-transitory computer-readable storage medium, such as a ROM, RAM, CD-ROM, magnetic tape, floppy disk, or optical data storage device.

[0152] Figure 9 A conceptual partial view of a computer program product provided in an embodiment of this application is shown schematically. The computer program product includes a computer program for executing computer processes on a computing device.

[0153] In one embodiment, the computer program product is provided using a signal bearer medium 900. The signal bearer medium 900 may include one or more program instructions that, when executed by one or more processors, can provide the above-mentioned... Figure 3 The described function or part of the function. Therefore, for example, refer to... Figure 3 In the embodiment shown, one or more features of S301 to S303 can be fulfilled by one or more instructions associated with the signal carrying medium 900. Furthermore, Figure 9 The program instructions in the document also describe example instructions.

[0154] In some examples, the signal carrying medium 900 may include a computer-readable medium 901, such as, but not limited to, a hard disk drive, a compact disc (CD), a digital video optical disc (DVD), a digital magnetic tape, a memory, a read-only memory (ROM), or a random access memory (RAM), and so on.

[0155] In some implementations, the signal carrying medium 900 may include a computer recordable medium 902, such as, but not limited to, a memory, a read / write (R / W) CD, a R / W DVD, and so on.

[0156] In some implementations, the signal carrying medium 900 may include a communication medium 903, such as, but not limited to, digital and / or analog communication media (e.g., fiber optic cables, waveguides, wired communication links, wireless communication links, etc.).

[0157] The signal-bearing medium 900 can be transmitted by a wireless communication medium 903. One or more program instructions may be, for example, computer-executable instructions or logic implementation instructions.

[0158] In some examples, the determining means of the device may be configured to provide various operations, functions, or actions in response to one or more program instructions in a computer-readable medium 901, a computer-recordable medium 902, and / or a communication medium 903.

[0159] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0160] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0161] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the constituent units can be selected to achieve the purpose of this embodiment, depending on actual needs.

[0162] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0163] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, essentially, or the part that contributes to the prior art, or a complete or partial classification of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0164] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for determining a device, characterized in that, The method is applied to a first device, which belongs to a first control device group among multiple control device groups, each of which corresponds to a different spatial region. Each control device group includes a terminal device in its corresponding spatial region. The method includes: Receive voice commands; Receive a first multicast message sent by a device in the first control device group; the first multicast message is used to enable the terminal device in the first control device group to know the voice command quality information of the second device, the second device being a device in the first control device group other than the first device. The system receives a second multicast message sent by a device within a target edge group; the second multicast message is used to inform terminal devices in the target edge group of the voice command quality information of a third device; the third device is a device in a second control device group; the target edge group includes terminal devices located near the boundary in the first control device group and the second control device group; the second control device group is a control device group spatially adjacent to the first control device group; the first multicast message and the second multicast message are target multicast messages. Based on the voice command quality information of the first device and the voice command quality information of the second device, determine whether the first device is the device with the best voice quality in the first control device group when receiving the voice command. When the first device is the device with the best voice quality in the first control device group, determine whether the first device belongs to the target edge group; If the first device does not belong to the target edge group, then the first device is determined to be the target device for executing the voice command; If the first device belongs to the target edge group, then based on the voice command quality information of the first device and the voice command quality information of the third device, it is determined whether the first device is the target device for executing the voice command.

2. The method according to claim 1, characterized in that, The target device is the device among the plurality of devices that receives the voice command with the best voice quality.

3. The method according to claim 1, characterized in that, The method further includes: Determine the number of relays for the target multicast message; If the number of relays of the target multicast message is less than a first preset threshold, then forward the target multicast message; or, If the number of relays of the target multicast message is greater than or equal to the first preset threshold number, the forwarding of the target multicast message shall be stopped.

4. The method according to claim 1, characterized in that, The boundary is the boundary between the spatial region corresponding to the first control device group and the spatial region corresponding to the second control device group.

5. The method according to claim 4, characterized in that, Before receiving the second multicast message sent by the third device, the method further includes: Obtain the number of times the third multicast message has been received, wherein the third multicast message is a multicast message from the second control device group; If the number of receptions is greater than or equal to a second preset threshold, the target edge group is added.

6. The method according to claim 5, characterized in that, After adding the target edge group, the method further includes: Obtain the number of times the third multicast message update has been received; If the number of updates received is less than the second preset threshold, the target edge group is exited.

7. A device for determining equipment, characterized in that, The device is applied to a first device, which belongs to a first control device group among multiple control device groups, each of which corresponds to a different spatial region. Each control device group includes a terminal device in its corresponding spatial region. The device includes: The receiving module is used to receive voice commands; The receiving module is further configured to receive a first multicast message sent by a device within the first control device group; the first multicast message is used to enable a terminal device in the first control device group to know the voice command quality information of a second device, wherein the second device is a device in the first control device group other than the first device; The receiving module is further configured to receive a second multicast message sent by a device within the target edge group; the second multicast message is used to enable terminal devices in the target edge group to obtain voice command quality information of a third device; the third device is a device in a second control device group; the target edge group includes terminal devices located near the boundary in the first control device group and the second control device group; the second control device group is a control device group that is spatially adjacent to the first control device group; the first multicast message and the second multicast message are target multicast messages; The processing module is used to determine, based on the voice command quality information of the first device and the voice command quality information of the second device, whether the first device is the device with the best voice quality in the first control device group that receives the voice command. The processing module is further configured to determine whether the first device belongs to the target edge group when the first device is the device with the best voice quality in the first control device group; The processing module is further configured to determine that the first device is the target device for executing the voice command if the first device does not belong to the target edge group; The processing module is further configured to, if the first device belongs to the target edge group, determine whether the first device is the target device for executing the voice command based on the voice command quality information of the first device and the voice command quality information of the third device.

8. A device for determining equipment, characterized in that, include: Processor and memory; The processor and the memory are coupled; The memory is used to store one or more programs, the one or more programs including computer-executable instructions, wherein when the determining device of the device is running, the processor executes the computer-executable instructions stored in the memory to cause the determining device of the device to perform the method as described in any one of claims 1-6.

9. A computer-readable storage medium storing instructions, characterized in that, When the computer executes the instruction, the computer performs the method as described in any one of claims 1-6.

10. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device, the computing device performs the method as described in any one of claims 1-6.