Self-adaptive multi-client voice communication method and system and electronic equipment

By combining SSDP and TCP protocols, the adaptability and stability of multi-client voice calls are achieved, solving the problems of non-scalability and insufficient real-time performance of terminal devices in existing technologies, and improving audio quality and user experience.

CN120710993APending Publication Date: 2025-09-26AISPEECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511036792.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-25
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

Existing voice communication technology is limited to the interaction of two terminals or a fixed number of terminals. It cannot adaptively increase or decrease terminal devices, and there are problems such as message lag and lack of real-time performance.

Method used

It uses SSDP protocol and multicast technology to discover new devices, uses TCP protocol for one-to-many voice data interaction to ensure the timeliness of call data, and improves audio quality through signal processing module.

Benefits of technology

It achieves adaptability of multi-client voice calls, improves the stability and audio quality of terminal devices, and reduces application deployment costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120710993A_ABST
    Figure CN120710993A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a self-adaptive multi-client voice communication method and system and electronic equipment. The method comprises the following steps: starting a simple discovery protocol service, establishing a multicast communication SSDP server side, enabling a client side to broadcast equipment information of the client side according to an open system interconnection mode, enabling the SSDP server side to judge whether the client side has the same group in a manager or not by utilizing a group identifier, and if yes, sending the SSDP server side to the manager; if yes, the client establishes a TCP socket with other clients in the same group according to a TCP service address and a port, and equipment information of the client is stored in a manager; the client obtains an input voice call through the audio acquisition module, determines a plurality of other clients in the same group from the manager, and sends the voice call to the plurality of other clients in the same group at the same time; and playing the audio by using the call playing module to complete the voice call of the multiple clients. According to the embodiment of the invention, interactive clients can be added at any time, and the stability is high. The application deployment cost is reduced, and the call audio quality is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of voice communications, and in particular to an adaptive multi-client voice call method, system and electronic equipment. Background Art

[0002] A voice call is a communication method that uses voice and a transmission medium. Existing voice communication methods include: 1. A first terminal sends a voice message to a server, which sends the voice message to a second terminal. The server then sends a reply voice message back to the first terminal. During the voice call, the first and second terminals use action and expression commands to display corresponding three-dimensional virtual images, thereby enhancing the convenience and fun of communication between users. 2. When a first terminal receives an incoming voice call and determines that the voice call has timed out and not been answered, or that the first terminal is already on a call, the first terminal obtains the user location reported by multiple terminals. Based on the user locations reported by these multiple terminals, the first terminal determines the second terminal closest to the user from these multiple terminals. The first terminal then transfers the incoming voice call to the second terminal for answering. In this way, incoming calls and voice calls are transferred between communication devices, preventing users from missing calls on their communication devices and improving the user experience.

[0003] In the process of implementing the present invention, the inventors discovered that there are at least the following problems in the related art: 1. The first terminal is bound to the second terminal, which can only interact with both ends. The two terminals use a centralized center to forward messages. All messages are concentrated on one server and use a first-in-first-out processing method, which will cause message delays.

[0004] 2. The multi-terminal call transfer method uses fixed terminal communication. The number of interactive terminals cannot be changed after implementation. Therefore, it can only realize communication with a fixed number of terminals and cannot adaptively increase or decrease terminal devices. In addition, judgment is made terminal by terminal during communication, and message communication cannot meet real-time requirements. Summary of the Invention

[0005] In order to at least solve the problem that the existing client-based voice communication technology is limited to the interaction of two terminals or a fixed number of terminals and cannot achieve adaptive multi-terminal interaction, and secondly, there is also the problem of voice communication lag and messages cannot meet real-time requirements.

[0006] In a first aspect, an embodiment of the present invention provides an adaptive multi-client voice call method, comprising: Initiate a Simple Discovery Protocol service, establish an SSDP server for multicast communication, and enable the client to broadcast its own device information in an open system interconnection manner, wherein the device information includes: a group identifier, a device name, a TCP service address, and a port. The SSDP server uses the group identifier to determine whether the client is in the same group in the manager. If so, establish a TCP socket with other clients in the same group according to the TCP service address and port, and store the client's device information in the manager to complete the adaptive addition of the client. The client obtains an input voice call through an audio acquisition module, determines multiple other clients in the same group from the manager, and simultaneously sends the voice call to the multiple other clients in the same group through the SSDP server; Multiple other clients under the same group start the TCP service, receive the voice call, input the voice call into the data processing module, output the optimized audio, and play the optimized audio using the call playback module to complete the multi-client voice call.

[0007] In a second aspect, an embodiment of the present invention provides an adaptive multi-client voice call system, including: A device adaptive management module is configured to initiate a Simple Discovery Protocol service and establish an SSDP server for multicast communication, so that the client broadcasts its own device information in an open system interconnection manner, wherein the device information includes: a group identifier, a device name, a TCP service address, and a port. The SSDP server uses the group identifier to determine whether the client is in the same group in the manager. If so, the SSDP server establishes a TCP socket with other clients in the same group according to the TCP service address and port, and stores the client's device information in the manager to complete the adaptive addition of the client. An audio sending module, configured for the client to obtain an input voice call through the audio acquisition module, determine multiple other clients in the same group from the manager, and simultaneously send the voice call to the multiple other clients in the same group through the SSDP server; The audio receiving module is used for multiple other clients under the same group to start TCP service, receive the voice call, input the voice call to the data processing module, output optimized audio, and play the optimized audio using the call playing module to complete the voice call of multiple clients.

[0008] According to a third aspect, an electronic device is provided, comprising: at least one processor, and a memory communicatively connected to the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can perform the steps of the adaptive multi-client voice call method of any embodiment of the present invention.

[0009] In a fourth aspect, an embodiment of the present invention provides a storage medium on which a computer program is stored, characterized in that when the program is executed by a processor, the steps of the adaptive multi-client voice call method of any embodiment of the present invention are implemented.

[0010] In a fifth aspect, an embodiment of the present invention provides a computer program product, including a computer program / instruction, characterized in that when the computer program / instruction is executed by a processor, the steps of the adaptive multi-client voice call method of any embodiment of the present invention are implemented.

[0011] The beneficial effects of the embodiments of the present invention are: this method supports simultaneous multi-client voice calls, largely meeting the requirements of multi-terminal voice interaction scenarios. It also allows for the addition of interactive clients at any time, facilitating end users to adaptively add or remove device terminals, and exhibits high stability. Compared to existing dual-terminal, fixed-terminal voice call solutions on the market, this method better meets customer needs, reduces application deployment costs, and improves call audio quality. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following is a brief introduction to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0013] Figure 1 This is a flow chart of an adaptive multi-client voice call method provided by one embodiment of the present invention; Figure 2 This is an example flow chart of an adaptive multi-client voice call method provided by one embodiment of the present invention; Figure 3 This is a schematic structural diagram of an adaptive multi-client voice call system provided by one embodiment of the present invention; Figure 4 A schematic structural diagram of an embodiment of an electronic device for adaptive multi-client voice communication provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0014] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0015] like Figure 1 FIG. 1 is a flow chart of an adaptive multi-client voice call method provided by an embodiment of the present invention, comprising the following steps: S11: Starting the Simple Discovery Protocol service, establishing an SSDP server for multicast communication, and enabling the client to broadcast its own device information in an open system interconnection manner, wherein the device information includes: group identifier, device name, TCP service address and port. The SSDP server uses the group identifier to determine whether the client is in the same group in the manager. If so, the client establishes a TCP socket with other clients in the same group according to the TCP service address and port, and stores the client's device information in the manager to complete the adaptive addition of the client. S12: The client obtains an input voice call through the audio acquisition module, determines multiple other clients in the same group from the manager, and simultaneously sends the voice call to the multiple other clients in the same group through the SSDP server; S13: Multiple other clients in the same group start the TCP service, receive the voice call, input the voice call into the data processing module, output the optimized audio, and play the optimized audio using the call playback module to complete the multi-client voice call.

[0016] With the development of network technology, more and more applications are equipped with voice call functions. Users can run the application in the client they are using to make voice calls with other users. For example, internal company network conferences. To achieve multi-client voice calls, existing technologies generally use broadcast technology and the UDP (Open Systems Interconnection) protocol for data transmission, making it easier for applications to support multi-client voice calls. However, this application considers that broadcast is a network communication method in which data is sent to all devices in the network rather than to a specific recipient. Due to this characteristic, broadcast may cause packet loss in some cases.

[0017] The problems with existing technologies that cause packet loss are: 1. Network congestion: When there are many devices on the network, such as a switch interface with a large number of monitoring devices connected, network congestion may occur, leading to severe packet loss. In this case, broadcast messages may be discarded during transmission due to insufficient network resources.

[0018] 2. Broadcast storm: In some cases, broadcasting may trigger a broadcast storm, that is, a large number of broadcast messages are transmitted infinitely in the network, resulting in excessive use of network resources and packet loss.

[0019] 3. Protocol Characteristics: UDP is a connectionless, unreliable network communication protocol that does not guarantee reliable data transmission. Therefore, when using UDP for broadcasting, it is uncertain whether the data will successfully reach the destination, which can also lead to packet loss.

[0020] To solve the above problems, this application uses SSDP (Simple Service Discovery Protocol) and multicast technology to discover new devices or new services in multi-client voice calls, and then adaptively adds new devices to the same group. It then uses the reliable, connection-oriented TCP protocol to conduct one-to-many voice data interaction to ensure the timeliness of call data.

[0021] In step S11, the Simple Discovery Protocol (SSDP) service is started, an SSDP server for multicast communication is established, and the multicast address 239.255.255.250 is bound. SSDP provides a mechanism for network clients to discover network services, implemented using a multicast method based on notifications and discovery routing. On the SSDP server, two types of SSDP request messages are sent via the SSDP multicast address: 1. Discovery request (also known as query request). When a service detects an HTTP UDP discovery request that matches its own service, it sends an HTTP UDP unicast response. 2. Presence notification. The SSDP service sends an HTTP UDP notification message to the multicast address to announce its presence.

[0022] Multiple clients use UDP to establish a UDP client and send device information (group ID, device name, TCP service address and port).

[0023] The SSDP server uses the group identifier to determine whether the client exists in the same group in the manager, including: if not, establishing the client's group in the manager.

[0024] Assume that when establishing multi-client communication for the first time, there is no client in the group. For example, client: IoT device 1, group ID: IoT_Group_A, device name: Client_01, TCP service address: 192.168.1.100, port: 5000.

[0025] { "group_id": "IoT_Group_A", "device_name": "Client_01", "tcp_address": "192.168.1.100", "tcp_port": 5000 } At this time, the group "IoT_Group_A" is created.

[0026] Similarly, join the client: conference device 1, group ID: Meet_Group_B, device name: conversational_device_01, TCP service address: 10.0.0.15, port 8080.

[0027] { "group_id": "Meet_Group_B", "device_name": "conversational_device_01", "tcp_address": "10.0.0.15", "tcp_port": 8080 } At this time, the group "Meet_Group_B" is established.

[0028] Add IoT device 2 and conference device 2: IoT device 2, group ID: IoT_Group_A, device name: Client_02, TCP service address: 192.168.1.101, port: 5020.

[0029] { "group_id": "IoT_Group_A", "device_name": "Client_02", "tcp_address": "192.168.1.101", "tcp_port": 5020} Conference device 2, group ID: Meet_Group_B, device name: conversational_device_02, TCP service address: 10.0.0.16, port: 8081.

[0030] { "group_id": "Meet_Group_B", "device_name": "conversational_device_02", "tcp_address": "10.0.0.16", "tcp_port": 8081 } At this point, IoT Device 2 and Meeting Device 2 are new devices. The SSDP server checks to see if it has discovered new devices in the same group. Based on the group ID and device name, if they are in the same group (IoT Device 1 and IoT Device 2 both belong to IoT_Group_A, Meeting Device 1 and Meeting Device 2 both belong to Meet_Group_B), a TCP client socket is established based on the TCP service address and port. The device is then added to the manager, which stores: IoT_Group_A group has devices {IoT device 1, IoT device 2}; Meet_Group_B contains devices {meeting device 1, meeting device 2}.

[0031] If they are not in the same device group, the process ends.

[0032] At this time, if a new conference device 3 is added, the newly added conference device 3 also uses UDP to establish a UDP client and send its own device information (group ID, device name, TCP service address and port).

[0033] Conference device 3, group ID: Meet_Group_B, device name: conversational_device_03, TCP service address: 10.0.0.17, port: 8082.

[0034] { "group_id": "Meet_Group_B", "device_name": "conversational_device_03", "tcp_address": "10.0.0.17", "tcp_port": 8082 } At this time, conference device 3 enters that it belongs to the Meet_Group_B group and joins it, obtaining the Meet_Group_B group {conference device 1, conference device 2, conference device 3}.

[0035] On the contrary, if you want to reduce the device conference device 3, also find the corresponding group Meet_Group_B according to the group ID, and locate the corresponding data from the manager using the device name, and then delete it. The reduction of the device is relatively simpler and will not be repeated here.

[0036] Through the above steps, adaptive management of multiple devices is achieved. Although packet loss is possible when broadcasting with the fast and lightweight UDP protocol, this method does not use UDP for voice call transmission. Instead, it establishes TCP clients. TCP itself requires a three-way handshake when new clients join, which can result in latency. This method leverages the SSDP protocol to communicate using specific multicast addresses and ports. For example, SSDP clients initiate device discovery requests by sending messages to specific multicast addresses (such as 239.255.255.250) and ports (such as 1900). Devices respond to these requests by sending NOTIFY messages, notifying other devices of their presence and service information. This mechanism enables SSDP to effectively discover and utilize services in multicast-supported networks. Overall, the SSDP protocol relies on multicast technology to implement its device and service discovery capabilities, thereby improving the efficiency and scalability of network services.

[0037] In step S12, for example, a client that has already established TCP uses its audio capture module to capture the user's voice call. The manager then queries devices in the same group. For example, if the audio capture module of conference device 1 captures the user's voice call, the manager will find that the following is stored in the manager: Meet_Group_B: {Conference Device 1, Conference Device 2, Conference Device 3, Conference Device 4}. The TCP client then sends the voice call to the other devices (Conference Device 2, Conference Device 3, Conference Device 4). If there are no devices in Meet_Group_B, the call ends and is not transmitted to IoT_Group_A.

[0038] In step S13, multiple clients within Meet_Group_B (for example, conference devices 2, 3, and 4 in the example above) receive a voice call from conference device 1 based on the activated TCP service. Each client then feeds the received audio into the signal processing module, which performs echo cancellation, voice noise reduction, voice enhancement, and multi-channel signal merging, ultimately outputting high-quality audio. Finally, the processed, high-quality audio is fed into the playback module, allowing other users to hear the voice call sent by conference device 1 through their clients, achieving the same audio quality as the other end. Devices within the same group each enable the TCP service to facilitate communication with other devices within the group. The data processing module performs echo cancellation, voice noise reduction, voice enhancement, and multi-channel signal merging on the voice call. Upon receiving audio data from other terminals, the device uses the signal processing technology in the data processing module to integrate the multiple audio signals into a single channel, producing a clear, seamless audio output, which is then played through the speaker. This process involves individually adjusting the frequency, dynamics, timbre, positioning, reverberation, and soundstage of each original signal to ensure that each track is optimized.

[0039] like Figure 2 The following is a simplified flowchart of this method, with three scenarios for simple explanation: Scenario 1: Device Adaptive Management Step 1: Start the Simple Discovery Protocol service SSDP and bind the multicast address 239.255.255.250; Step 2: Create a UDP client and send device information (group ID, device name, TCP service address and port); Step 3: Check if the SSDP server has discovered a new device in the same group. If so, establish a TCP client socket and add the device to the manager. If not, create a new group and the process ends.

[0040] Scenario 2: Multi-client audio call transmission Step 1: Input audio; Step 2: The audio acquisition module performs audio acquisition; Step 3: Check if there is a device in the device manager. If there is a device, send the captured audio to other terminal devices through the TCP client; if there is no device, end.

[0041] Scenario 3: Multi-client audio reception Step 1: Start the TCP service; Step 2: The server receives the voice call audio; Step 3: The received audio is sent to the signal processing module for echo cancellation, voice noise reduction, voice enhancement, multi-channel signal merging and other operations, and then outputs high-quality audio; Step 4: Send the processed audio to the playback module so that other terminals can hear the sound and achieve the effect of a voice call with the other end.

[0042] This implementation demonstrates that this method supports simultaneous multi-client voice calls, largely meeting the requirements of multi-terminal voice interaction scenarios. Furthermore, it allows for the addition of new clients at any time, allowing end users to adaptively add or remove devices, while maintaining high stability. Compared to existing dual-client, fixed-terminal voice call solutions on the market, this method better meets customer needs, reduces application deployment costs, and improves call audio quality.

[0043] As an embodiment, after completing the adaptive addition of the client, the method further includes: The client obtains an input voice call through the audio acquisition module, inputs the voice call into the data processing module, outputs optimized audio, determines multiple other clients in the same group from the manager, and simultaneously sends the optimized audio to the multiple other clients in the same group through the SSDP server; Multiple other clients in the same group start the TCP service, receive the optimized audio, and play the optimized audio using the call playback module to complete the multi-client voice call.

[0044] In this embodiment, the signal processing module is placed on the sending end for processing. The purpose of this design is to ensure that multiple other clients in the same group can output audio with the same sound quality, and the signal processing only needs to be performed once, which consumes relatively little computing power.

[0045] As an implementation manner, after completing the adaptive addition of the client, the method further includes: The client obtains an input voice call through the audio acquisition module, determines multiple other clients in the same group from the manager, processes the voice call data through the SSDP server to obtain optimized audio, and simultaneously sends the optimized audio to the multiple other clients in the same group; Multiple other clients in the same group start the TCP service, receive the optimized audio, and play the optimized audio using the call playback module to complete the multi-client voice call.

[0046] In this embodiment, the signal processing module is placed in the SSDP server for processing. The purpose of this design is to take into account that the computing power performance of the client may be insufficient, further reduce the client's occupied resources, reduce CPU computing power and memory usage, and ensure that every other client can play the optimized voice call.

[0047] like Figure 3 FIG2 is a schematic structural diagram of an adaptive multi-client voice call system provided by an embodiment of the present invention. The system can execute the adaptive multi-client voice call method described in any of the above embodiments and be configured in a terminal.

[0048] The embodiment provides an adaptive multi-client voice call system 10 including a device adaptive management module 11 , an audio sending module 12 and an audio receiving module 13 .

[0049] Among them, the device adaptive management module 11 is used to start the Simple Discovery Protocol service and establish a multicast communication SSDP server, so that the client broadcasts the client's own device information in an open system interconnection manner. The device information includes: group identifier, device name, TCP service address and port. The SSDP server uses the group identifier to determine whether the client is in the same group in the manager. If so, the client establishes a TCP socket with other clients in the same group according to the TCP service address and port, and stores the client's device information in the manager to complete the adaptive addition of the client. The audio sending module 12 is used for the client to obtain the input voice call through the audio acquisition module, determine multiple other clients in the same group from the manager, and simultaneously send the voice call to the multiple other clients in the same group through the SSDP server. The audio receiving module 13 is used for the multiple other clients in the same group to start the TCP service, receive the voice call, input the voice call to the data processing module, output optimized audio, and play the optimized audio using the call playback module to complete the multi-client voice call.

[0050] An embodiment of the present invention further provides a non-volatile computer storage medium storing computer executable instructions, wherein the computer executable instructions can execute the adaptive multi-client voice call method in any of the above method embodiments; As an embodiment, the non-volatile computer storage medium of the present invention stores computer-executable instructions, and the computer-executable instructions are configured as follows: Initiate a Simple Discovery Protocol service, establish an SSDP server for multicast communication, and enable the client to broadcast its own device information in an open system interconnection manner, wherein the device information includes: a group identifier, a device name, a TCP service address, and a port. The SSDP server uses the group identifier to determine whether the client is in the same group in the manager. If so, establish a TCP socket with other clients in the same group according to the TCP service address and port, and store the client's device information in the manager to complete the adaptive addition of the client. The client obtains an input voice call through an audio acquisition module, determines multiple other clients in the same group from the manager, and simultaneously sends the voice call to the multiple other clients in the same group through the SSDP server; Multiple other clients under the same group start the TCP service, receive the voice call, input the voice call into the data processing module, output the optimized audio, and play the optimized audio using the call playback module to complete the multi-client voice call.

[0051] A non-volatile computer-readable storage medium can be used to store non-volatile software programs, non-volatile computer executable programs, and modules, such as the program instructions / modules corresponding to the methods described in the embodiments of the present invention. One or more program instructions stored in the non-volatile computer-readable storage medium, when executed by a processor, perform the adaptive multi-client voice call method described in any of the aforementioned method embodiments.

[0052] Figure 4 FIG. 1 is a schematic diagram of the hardware structure of an electronic device for an adaptive multi-client voice call method provided by another embodiment of the present application. Figure 4 As shown, the device includes: One or more processors 410 and memory 420, Figure 4 The apparatus of the adaptive multi-client voice call method may further include: an input device 430 and an output device 440 .

[0053] The processor 410, the memory 420, the input device 430 and the output device 440 may be connected via a bus or other means. Figure 4 The bus connection is taken as an example.

[0054] Memory 420, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer executable programs, and modules, such as the program instructions / modules corresponding to the adaptive multi-client voice call method in the embodiments of the present application. Processor 410 executes the non-volatile software programs, instructions, and modules stored in memory 420 to execute various server functional applications and data processing, thereby implementing the adaptive multi-client voice call method in the above-mentioned method embodiment.

[0055] The memory 420 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and applications required for at least one function; the data storage area may store data, etc. In addition, the memory 420 may include a high-speed random access memory and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 420 may optionally include a memory remotely located relative to the processor 410, and these remote memories may be connected to the mobile device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0056] The input device 430 can receive input digital or character information. The output device 440 can include a display device such as a display screen.

[0057] The one or more modules are stored in the memory 420 and, when executed by the one or more processors 410 , perform the adaptive multi-client voice call method in any of the above method embodiments.

[0058] The above-mentioned product can execute the method provided in the embodiment of this application, and has the functional modules and beneficial effects corresponding to the execution method. For technical details not fully described in this embodiment, please refer to the method provided in the embodiment of this application.

[0059] The non-volatile computer-readable storage medium may include a program storage area and a data storage area, wherein the program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created based on the use of the device, etc. In addition, the non-volatile computer-readable storage medium may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state memory device. In some embodiments, the non-volatile computer-readable storage medium may optionally include a memory remotely located relative to the processor, and these remote memories may be connected to the device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0060] An embodiment of the present invention also provides an electronic device, comprising: at least one processor, and a memory communicatively connected to the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can perform the steps of the adaptive multi-client voice call method of any embodiment of the present invention.

[0061] The electronic devices of the embodiments of the present application exist in various forms, including but not limited to: (1) Mobile communication devices: These devices are characterized by their mobile communication capabilities and their primary purpose is to provide voice and data communications. These terminals include smartphones, multimedia phones, feature phones, and low-end phones.

[0062] (2) Ultra-mobile personal computer devices: These devices fall under the category of personal computers and have computing and processing capabilities, and generally also have mobile Internet access. These terminals include PDAs, MIDs, and UMPC devices, such as tablet computers.

[0063] (3) Portable entertainment devices: These devices can display and play multimedia content. They include audio and video players, handheld game consoles, e-books, smart toys, and portable car navigation devices.

[0064] (4) Other electronic devices with data processing functions.

[0065] In this document, relational terms such as first and second are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "include" and "comprise" include not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article or device. In the absence of further limitations, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device that includes the elements.

[0066] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.

[0067] Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented using software plus a necessary general-purpose hardware platform, or of course, hardware. Based on this understanding, the essence of the above technical solution, or the portion that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, or an optical disk, and includes a number of instructions for causing a computer device (such as a personal computer, server, or network device) to execute the methods described in each embodiment or certain portions of the embodiments.

[0068] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.

Claims

1. An adaptive multi-client voice call method, comprising: Starting a Simple Discovery Protocol service, establishing an SSDP server for multicast communication, and enabling the client to broadcast its own device information in an open system interconnection manner, wherein the device information includes: a group identifier, a device name, a TCP service address, and a port. The SSDP server uses the group identifier to determine whether the client is in the same group in the manager. If so, the client establishes a TCP socket with other clients in the same group according to the TCP service address and port, and stores the client's device information in the manager to complete the adaptive addition of the client. The client obtains an input voice call through an audio acquisition module, determines multiple other clients in the same group from the manager, and simultaneously sends the voice call to the multiple other clients in the same group through the SSDP server; Multiple other clients under the same group start the TCP service, receive the voice call, input the voice call into the data processing module, output the optimized audio, and play the optimized audio using the call playback module to complete the multi-client voice call.

2. The method according to claim 1, wherein After completing the adaptive addition of the client, the method further includes: The client obtains an input voice call through the audio acquisition module, inputs the voice call into the data processing module, outputs optimized audio, determines multiple other clients in the same group from the manager, and simultaneously sends the optimized audio to the multiple other clients in the same group through the SSDP server; Multiple other clients in the same group start the TCP service, receive the optimized audio, and play the optimized audio using the call playback module to complete the multi-client voice call.

3. The method according to claim 1, wherein After completing the adaptive addition of the client, the method further includes: The client obtains an input voice call through the audio acquisition module, determines multiple other clients in the same group from the manager, processes the voice call data through the SSDP server to obtain optimized audio, and simultaneously sends the optimized audio to the multiple other clients in the same group; Multiple other clients in the same group start the TCP service, receive the optimized audio, and play the optimized audio using the call playback module to complete the multi-client voice call.

4. The method according to claim 1, wherein The data processing module is used to perform echo cancellation, voice noise reduction, voice enhancement and multi-channel signal merging processing on voice calls.

5. The method according to claim 1, wherein The SSDP server determines, by using the group identifier, whether the client is in the same group in the manager, including: If not, create the client's group in the manager.

6. The method according to claim 1, wherein The multicast address of the SSDP server is 239.255.255.

250.

7. An adaptive multi-client voice call system, comprising: A device adaptive management module is configured to initiate a Simple Discovery Protocol service and establish an SSDP server for multicast communication, so that the client broadcasts its own device information in an open system interconnection manner, wherein the device information includes: a group identifier, a device name, a TCP service address, and a port. The SSDP server uses the group identifier to determine whether the client is in the same group in the manager. If so, the SSDP server establishes a TCP socket with other clients in the same group according to the TCP service address and port, and stores the client's device information in the manager to complete the adaptive addition of the client. An audio sending module, configured for the client to obtain an input voice call through the audio acquisition module, determine multiple other clients in the same group from the manager, and simultaneously send the voice call to the multiple other clients in the same group through the SSDP server; The audio receiving module is used for multiple other clients under the same group to start TCP service, receive the voice call, input the voice call to the data processing module, output optimized audio, and play the optimized audio using the call playing module to complete the voice call of multiple clients.

8. A storage medium having a computer program product stored thereon, characterized in that: When the program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

9. A computer program product having instructions embedded on a storage medium, wherein the instructions implement the steps of the method according to any one of claims 1 to 6.

10. An electronic device comprising: At least one processor, and a memory communicatively connected to the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the steps of the method according to any one of claims 1 to 6.