CN118869666B - Voice communication method, device, electronic equipment, medium and program product - Google Patents
- ️Fri Jan 03 2025
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein, but rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in one or more hardware modules or integrated circuits or in different networks and/or processor devices and/or microcontroller devices.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order and/or performed in parallel. Furthermore, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
It should be noted that the terms "first," "second," and the like in this disclosure are merely used to distinguish between different devices, modules, or units and are not used to define an order or interdependence of functions performed by the devices, modules, or units.
It should be noted that references to "one", "a plurality" and "a plurality" in this disclosure are intended to be illustrative rather than limiting, and those of ordinary skill in the art will appreciate that "one or more" is intended to be understood as "one or more" unless the context clearly indicates otherwise.
For ease of understanding, several terms referred to in this disclosure are explained first below.
IP (Internet Protocol, network protocol) is a method or protocol by which information is transferred from one computer to another over a network.
The IMS (IP Multimedia Subsystem ) is an IP multimedia system, is a brand new multimedia service form, and can meet the requirements of more novel and diversified multimedia services of the current terminal clients.
The SBC network element (Session Border Control, session edge control) is an important network node in the IMS network element, which is located at the border of the IMS network element and plays an important role in accessing the end user to the IMS core network.
AMR (Adaptive Multi-Rate) is an audio codec.
Stock general purpose handsets (Stock Universal Phone) generally refer to ordinary handsets in existing inventory, rather than handsets specifically tailored to a certain market or customer group.
Narrowband (narrow band) generally refers to a relatively narrow frequency band range for transmitting signals or information at a lower data rate.
The satellite communication module (SATELLITE COMMUNICATION MODULE) is an integrated device that may be built into the first terminal to enable communication between the first terminal and the satellite.
RTP (Real-time Transport Protocol) is a network protocol for transmitting multimedia data over the internet.
Standard Codec (Standard Codec) generally refers to widely accepted and adopted audio-video codecs, which are generally coding standards formulated and maintained by standards-setting organizations such as the international organization for standardization (ISO), the International Telecommunications Union (ITU), the International Electrotechnical Commission (IEC), and the like.
SSID (Service Set Identifier) is a name for identifying a wireless local area network (Wi-Fi) network.
The MAC address (MEDIA ACCESS Control address) is a unique identifier of the network device (e.g., satellite gateway).
With the development of communication technology, in fields such as mobile communication, the requirements of users for voice call quality are increasing.
The vocoders of the related art often cannot meet the requirements for high quality voice transmission in low rate scenarios, especially in bandwidth limited (e.g., narrowband) environments. In extreme scenarios such as high orbit satellites and submarine, the bandwidth of the communication network is usually less than 1 Kbps (kilobits per second), so that it is difficult for an audio codec (such as g.711 (working bit rate is 64 Kbps) and AMR (working bit rate is 4.75kbps to 23.85 kbps)) used in the communication network to guarantee high-quality voice call at a low code rate.
Based on the above, the disclosure provides a voice call method, a device, an electronic apparatus, a medium and a program product, which can be applied to realizing real-time voice call under the narrowband condition by one of two parties. For example, real-time, high quality voice call services applied in extremely narrow-band scenarios such as high-orbit satellites. As another example, the method is applied to deep sea exploration and scientific research underwater acoustic communication voice call services. As another example, a voice call service applied in an emergency disaster relief scenario. The embodiment of the disclosure can also be applied to voice real-time conversation under other narrowband conditions. According to the embodiment of the disclosure, the first terminal with smaller bandwidth (such as narrow band) adopts the first rate to encode so as to obtain the first voice code, the SBC network element analyzes the first voice code, and the second rate is used for recoding so as to obtain the second voice code, and the second rate is larger than the first rate, so that real-time voice communication between the first terminal and the second terminal is realized under the condition of insufficient bandwidth.
It is noted that embodiments of the present disclosure and technical features in the embodiments may be combined with each other without conflict.
Specific implementations of embodiments of the disclosure, which are not limited to the embodiments described below, are described in detail below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of a voice call system architecture according to an embodiment of the present disclosure, where the system may apply a voice call method or a voice call apparatus according to various embodiments of the present disclosure.
As shown in fig. 1, the system architecture may include a first terminal 101, a satellite 102, a ground gateway station 103, an SBC network element 104, an IMS network element 105, and a second terminal 106.
The first terminal 101, the satellite 102, the ground gateway station 103 and the SBC network element 104 are connected in a communication manner through a network, and the network may be a wired network or a wireless network. The second terminal 106 communicates with the SBC network element 104 through the IMS network element 105, thereby implementing a real-time voice call between the first terminal 101 and the second terminal 106.
The first terminal 101 and the second terminal 106 may be various electronic devices including, but not limited to, smartphones, tablets, laptop portable computers, desktop computers, wearable devices, augmented reality devices, virtual reality devices, and the like.
For example, the first terminal 101 may be a general mobile phone with a built-in satellite communication module, and the second terminal 106 is a general mobile phone, where the bandwidth for the first terminal 101 to communicate is smaller than the bandwidth for the second terminal to communicate. First terminal 101 performs information interaction with satellite 102 via a satellite communication module, and satellite 102 forwards information (e.g., a first encapsulated message) to SBC network element 104, e.g., satellite 102 forwards information via ground gateway station 103 to SBC network element 104 using a transparent forwarding mode. SBC network element 104 may communicate with satellite 102 via ground gateway station 103 and perform voice codec conversion and signaling protocol conversion functions. The second terminal 106 receives the information (such as the second voice code) sent by the SBC network element 104 through the IMS network element 105, and decodes and plays the information, thereby implementing a real-time voice call between the first terminal 101 and the second terminal 106.
It should be noted that, the first terminal 101 encodes the received voice message according to the first rate to obtain a first voice code, the SBC network element 104 decodes the first voice code and re-encodes the first voice code according to the second rate to obtain a second voice code, so as to implement voice codec conversion, and ensure that real-time voice can pass between the first terminal 101 and the second terminal 102 when the bandwidth of the first terminal 101 is smaller than that of the second terminal 106.
Fig. 2 is a schematic diagram of a voice call system architecture according to another embodiment of the present disclosure, where the system may apply the voice call method or the voice call apparatus according to the various embodiments of the present disclosure.
As shown in fig. 2, the system architecture may include a first terminal 101, a satellite 102, a ground gateway station 103, an SBC network element 104, an IMS network element 105, a second terminal 106, and a satellite gateway 107.
For example, the first terminal 101 may be a general-purpose mobile phone without a built-in satellite communication module, and the second terminal 106 is a general-purpose mobile phone, where the bandwidth for the first terminal 101 to communicate is smaller than the bandwidth for the second terminal to communicate. First terminal 101 performs information interaction with satellite 102 via satellite gateway 107, and satellite 102 forwards information (e.g., the first encapsulated message) to SBC network element 104, e.g., satellite 102 forwards information via ground gateway station 103 to SBC network element 104 using a transparent forwarding mode. SBC network element 104 may communicate with satellite 102 via ground gateway station 103 and perform voice codec conversion and signaling protocol conversion functions. The second terminal 106 receives the information (such as the second voice code) sent by the SBC network element 104 through the IMS network element 105, and decodes and plays the information, thereby implementing a real-time voice call between the first terminal 101 and the second terminal 106.
According to the embodiment of the disclosure, the general first terminal 101 does not need to be additionally provided with a satellite communication module, and can interact information with the satellite 102 through the satellite gateway 107, and the satellite gateway 107 can be deployed in the scenes of ships, high-speed rails, automobiles and the like. The first terminal 101 of the present disclosure can also realize satellite voice call without installing a satellite communication module.
The above-described exemplary embodiment is that the first terminal 101 calls and the second terminal 106 receives. Based on the two system architectures of fig. 1 and 2, the second terminal 106 may also be implemented to call, and the first terminal 101 receives.
The present exemplary embodiment will be described in detail below with reference to the accompanying drawings and examples.
Fig. 3 shows a flowchart of a voice call method in an embodiment of the present disclosure, which is applied to a first terminal, where the first terminal performs a voice call with a second terminal through a session edge control SBC network element, and a bandwidth for the first terminal to perform communication is smaller than a bandwidth for the second terminal to perform communication, as shown in fig. 3, a voice call method provided in an embodiment of the present disclosure may include the following steps S301 to S304.
S301, receiving a voice message.
In the embodiment of the disclosure, the voice message is sound information collected by the first terminal. Such as the sound made by a voice caller. As another example, sounds emitted by a machine (such as a smart speaker), embodiments of the present disclosure are not limited thereto.
In the embodiment of the present disclosure, the embodiment of the present disclosure is not limited as to how the first terminal receives the voice message. For example, a sound collector (e.g., a microphone) on the first terminal may receive a voice message from a voice caller.
S302, the voice message is encoded according to a first rate, and a first voice code is obtained.
In the embodiment of the disclosure, the bandwidth for the first terminal to communicate is smaller than the bandwidth for the second terminal to communicate, so that in order to realize real-time voice communication between the first terminal and the second terminal, the voice message is encoded at a smaller first rate under the condition of smaller bandwidth, so that effective transmission of the first voice code obtained by encoding is ensured, and conditions are provided for realizing real-time voice communication.
The bandwidth for the first terminal to communicate is illustratively narrowband, e.g., the bandwidth for the first terminal to communicate is less than 1 Kbps.
In the embodiment of the disclosure, the first rate is a coding rate capable of realizing the coding of the first terminal under the condition of insufficient bandwidth. The first rate is a low rate, e.g., the first rate is less than or equal to 1 Kbps.
Among speech coding techniques, a speech coding technique having a coding rate of 4.8Kbs or less is called a low-rate speech coding technique. The embodiments of the present disclosure are not limited as to how the first rate encoding is implemented, for example, by installing a low-speed codec on the first terminal. For another example, a software codec based on Artificial Intelligence (AI) technology is installed on the first terminal for the encoding and decoding process of the audio-video data (e.g., voice message). The AI soft coding and decoding can improve the coding efficiency, reduce the data transmission bandwidth requirement and keep good audio and video quality as much as possible.
S303, packaging the RTP data packet head on the first voice code to obtain a first packaging message.
In the embodiment of the disclosure, the RTP data packet header is packaged on the first voice coding, so that support can be provided for real-time multimedia application, and the instantaneity of transmission of the first voice coding is ensured.
S304, the first encapsulation message is sent to the SBC network element, so that the SBC network element analyzes the first encapsulation message, codes the analyzed voice message according to a second rate to obtain a second voice code, and the second voice code is sent to a second terminal, so that the second terminal decodes and plays the second voice code, and the first rate is smaller than the second rate.
In the embodiment of the disclosure, the second rate is a coding rate of a standard codec. For example, the coding rate of standard speech codecs such as g.711 and AMR.
In the embodiment of the disclosure, the SBC network element parses the first encapsulated message, parses the voice message, and performs rate conversion on the voice message to obtain a second voice code. That is, the first speech code after the first rate coding is decoded and restored, and then recoded by the second rate coding (standard coding algorithm coding).
Illustratively, a software codec and a standard codec are added to the SBC network element, the software codec being configured to perform decoding of the first speech coding. The standard codec is configured to encode the voice message obtained after decoding according to a second rate, thereby converting the nonstandard low-speed codec (first voice encoding) into the standard codec (second voice encoding), and thereby implementing a real-time voice call between the second terminal and the first terminal.
According to the embodiment of the disclosure, the first terminal with smaller bandwidth adopts the first rate to encode so as to obtain the first voice code, the SBC network element analyzes the first voice code, and the second rate is used for recoding so as to obtain the second voice code, and the second rate is larger than the first rate, so that real-time voice communication between the first terminal and the second terminal is realized under the condition of insufficient bandwidth.
The present disclosure is described below by way of several exemplary embodiments.
In an exemplary embodiment, the RTP data packet header may include a first terminal identifier and a first network identifier, the first terminal identifier is used for identifying a second terminal, the first network identifier is used for identifying an SBC network element, wherein a first encapsulation message is sent to the SBC network element to enable the SBC network element to analyze the first encapsulation message, the analyzed voice message is encoded according to a second rate to obtain a second voice code, the second voice code is sent to the second terminal to enable the second terminal to decode and play the second voice code, and the RTP data packet header may include sending the first encapsulation message to the SBC network element based on the first network identifier to enable the SBC network element to analyze the first encapsulation message, encode the analyzed voice message according to the second rate to obtain the second voice code, and sending the second voice code to the second terminal by utilizing the first terminal identifier to enable the second terminal to decode and play the second voice code.
In the embodiment of the present disclosure, the first terminal identifier may be an identifier of a second terminal, which is uniquely identified by a device ID (Identification) of the second terminal, a SIM (Subscriber Identity Module ) card identifier, or the like. For example, when the second terminal is a mobile phone, the first terminal identifier may be a mobile phone number of the second terminal.
The SBC network element analyzes the first encapsulation message, encodes the analyzed voice message according to the second rate to obtain a second voice code, and encapsulates the RTP packet header, where the RTP packet header includes a first terminal identifier (a mobile phone number of the second terminal), sends the second voice code encapsulating the RTP packet header to the IMS network element, and the IMS network element queries the actual address of the second terminal according to the first terminal identifier and sends the second voice code to the second terminal according to the actual address of the second terminal. It should be noted that, the IMS network element may configure a mapping table of correspondence between the first terminal identifier and the actual address, and according to the mapping table of correspondence, may query a time address corresponding to the first terminal identifier, so as to send the second speech code to the second terminal.
It should be noted that, in order to reduce the data transmission amount, the first terminal identifier may be located on the RTP packet header of the first encapsulation message sent by the first terminal to the SBC network element, so that the voice message can be ensured to be accurately transmitted from the first terminal to the second terminal, and meanwhile, the data transmission amount is reduced.
In the embodiment of the disclosure, the first network identifier may be a network identifier address of an SBC network element, for example, an IPv4 (Internet Protocol version, fourth major version of internet protocol) address, an IPv6 (Internet Protocol version, sixth major version of internet protocol) address, and so on.
According to the embodiment of the disclosure, the terminal identifier and the first network identifier are configured in the data packet header, so that the first encapsulation message can be accurately sent to the SBC network element, the conversion of the nonstandard code (the first voice code) into the standard code (the second voice code) is realized, the second voice code after the code conversion is accurately sent to the second terminal, and the real-time voice call between the first terminal and the second terminal is realized.
Furthermore, by performing low-rate coding under the condition of insufficient bandwidth, converting non-standard coding into standard coding at the SBC network element, and performing standard coding and decoding under the condition of sufficient bandwidth, effective real-time voice call can be realized.
In another exemplary embodiment, as shown in fig. 4, the method provided by the embodiment of the present disclosure may further include the following S401 to S403 before receiving the voice message.
S401, judging whether the first terminal is internally provided with a satellite communication module, if yes, executing S402, and if not, executing S403.
In the embodiment of the present disclosure, a manner of how to determine whether the first terminal has the satellite communication module built therein is not limited. For example, whether the satellite communication module is built in or not may be determined by whether the satellite positioning option exists in the setting interface of the first terminal. For another example, whether the satellite communication module is built in is determined by detecting factory settings of the first terminal.
S402, when the first terminal accesses a satellite through the satellite communication module, the encoding speed of the first terminal is configured to be a first speed.
In the embodiment of the disclosure, a low-speed codec is installed on a first terminal, and the low-speed codec is used for encoding a voice message according to a first rate to obtain a first voice code. Illustratively, the low-speed codec may be a software codec with a coding speed of 1 Kbps.
In the embodiment of the disclosure, when the first terminal accesses to the satellite through the satellite communication module, the encoding speed of the first terminal is configured to be a first rate. For example, when a first terminal accesses a satellite, the software codec of the first terminal configures the encoding speed to a first rate (such as the speed of a non-standard codec).
For example, after determining that the first terminal has the satellite communication module, determining whether the first terminal is directly connected to the satellite, if so, configuring the encoding speed as a non-standard encoding/decoding speed. If not, the encoding speed is configured as the speed of the standard encoding and decoding.
S403, when the first terminal is connected with the satellite gateway and the satellite is accessed through the satellite gateway, the encoding speed of the first terminal is configured to be a first speed.
In the embodiment of the disclosure, if the first terminal does not have a built-in satellite communication module, whether the first terminal is connected with the satellite gateway is determined, and if the first terminal is connected with the satellite gateway and is connected with a satellite through the satellite gateway, the encoding speed of the first terminal is configured to be the speed of non-standard encoding and decoding. If the first terminal is not connected with the satellite gateway, the encoding speed is configured to be the standard encoding and decoding speed.
In the embodiment of the disclosure, the first terminal without the built-in satellite communication module needs to negotiate a voice encoding and decoding mode with the satellite gateway. Illustratively, without modifying a communication protocol between the satellite gateway and the first terminal, identification information of the satellite gateway is employed to represent the satellite gateway, and the identification information may include one of a MAC address and a wireless network SSID name, which embodiments of the present disclosure are not limited thereto. When the first terminal is accessed into any wireless network to identify and match the identification information of the satellite gateway, the encoding and decoding of the voice call are switched to the AI-based soft encoding and decoding.
It should be noted that, the embodiment of the present disclosure is a voice call establishment procedure, that is, a mode of negotiating a voice codec, that is, a speed of configuring the codec, is required in a satellite voice passing establishment process.
According to the embodiment of the disclosure, the first terminal can realize real-time voice call with the second terminal through the satellite in two ways, that is, whether the first terminal is internally provided with the satellite communication module or not can realize satellite voice call, so that the application range of the disclosure is improved, and a solution is provided for realizing real-time voice call for more terminal equipment.
Based on the same inventive concept, the embodiments of the present disclosure also provide a voice call method, as described in the following embodiments. Since the principle of solving the problem of this method embodiment is similar to that of the above method embodiment, the implementation of this method embodiment may refer to the implementation of the above method embodiment, and the repetition is not repeated.
Fig. 5 shows a flowchart of a voice passing method in another embodiment of the present disclosure, which is applied to a session edge control SBC network element, where a first terminal performs a voice call with a second terminal through the SBC network element, and a bandwidth for the first terminal to communicate is smaller than a bandwidth for the second terminal to communicate, as shown in fig. 5, a voice call method provided in an embodiment of the present disclosure may include the following steps S501 to S504.
S501, a first encapsulation message sent by a first terminal is received, the first encapsulation message is obtained by the first terminal encapsulating a real-time transport protocol RTP data packet header on a first voice code, and the first voice code is obtained by the first terminal encoding the received voice message according to a first rate.
S502, analyzing the first encapsulation message to obtain a voice message.
In the embodiment of the disclosure, the SBC network element first decapsulates the first encapsulated message to a first speech coding, and then decodes the first speech coding to obtain the speech message.
S503, coding the voice message according to a second rate, so as to obtain a second voice code, wherein the second rate is larger than the first rate.
In the embodiment of the disclosure, since the bandwidth of the second terminal is sufficient, the second terminal can implement standard encoding and decoding, and the SBC network element converts the non-standard encoding into standard encoding (such as the second voice encoding), which is beneficial to implementing the real-time voice call between the first terminal and the second terminal.
And S504, the second voice code is sent to the second terminal, so that the second terminal decodes and plays the second voice code.
In the embodiment of the disclosure, the second terminal decodes the second speech code by using a standard codec, and plays the decoded speech through a player.
According to the embodiment of the disclosure, the first terminal with smaller bandwidth adopts the first rate to encode so as to obtain the first voice code, the SBC network element analyzes the first voice code, and the second rate is used for recoding so as to obtain the second voice code, and the second rate is larger than the first rate, so that real-time voice communication between the first terminal and the second terminal is realized under the condition of insufficient bandwidth.
The present disclosure is described below by way of several exemplary embodiments.
In an exemplary embodiment, the RTP data packet header may include a first terminal identifier and a first network identifier, the first terminal identifier is used for identifying a second terminal, the first network identifier is used for identifying an SBC network element, wherein receiving a first encapsulation message sent by the first terminal includes receiving the first encapsulation message sent by the first terminal by using the first network identifier, and sending a second voice code to the second terminal includes sending the second voice code to the second terminal by using the first terminal identifier, so that the second terminal decodes and plays the second voice code, and the first rate is smaller than the second rate.
The first terminal identifier and the first network identifier have been described in the above exemplary embodiments, and are not described herein.
For example, after receiving the first encapsulation message, the SBC network element may first determine whether the first encapsulation message is transmitted through the satellite-ground gateway station, and if so, parse the first encapsulation message. It should be noted that, whether the first encapsulated message is from the satellite gateway station or not may be determined by comparing the network identification addresses of the SBC network elements. For example, the ground gateway station connected to the satellite has a function of accessing to the internet, so that the ground gateway station can be allocated to a fixed IPv4 address and IPv6 address, and whether the first encapsulated message is transmitted through the ground gateway station is judged by a specific IP address (for example, an IPv4 address with a label).
According to the embodiment of the disclosure, the terminal identifier and the first network identifier are configured in the RTP data packet header, so that the first encapsulation message can be accurately sent to the SBC network element, the conversion of the nonstandard code (first voice code) into the standard code (second voice code) is realized, the second voice code after the code conversion is accurately sent to the second terminal, and the real-time voice call between the first terminal and the second terminal is realized.
Furthermore, by performing low-rate coding under the condition of insufficient bandwidth, converting non-standard coding into standard coding at the SBC network element, and performing standard coding and decoding under the condition of sufficient bandwidth, effective real-time voice call can be realized.
In another exemplary embodiment, before receiving the voice message, the method further includes judging whether the first terminal is internally provided with a satellite communication module, if yes, configuring the encoding speed of the first terminal to be a first speed when the first terminal accesses a satellite through the satellite communication module, and if not, configuring the encoding speed of the first terminal to be the first speed when the first terminal is connected with a satellite gateway and accesses the satellite through the satellite gateway.
Illustratively, the first terminal is provided with a low-speed codec for encoding the received voice message at a first rate to obtain a first voice code.
According to the embodiment of the disclosure, the first terminal without the satellite communication module can complete satellite voice communication in the coverage area of the ground-free mobile network.
According to the embodiment of the disclosure, the first terminal can realize real-time voice call with the second terminal through the satellite in two ways, that is, whether the first terminal is internally provided with the satellite communication module or not can realize satellite voice call, so that the application range of the disclosure is improved, and a solution is provided for realizing real-time voice call for more terminal equipment.
Based on the same inventive concept, the embodiments of the present disclosure also provide a voice call method, as described in the following embodiments. Since the principle of solving the problem of this method embodiment is similar to that of the above method embodiment, the implementation of this method embodiment may refer to the implementation of the above method embodiment, and the repetition is not repeated.
Fig. 6 shows a flow chart of a voice call method in yet another embodiment of the present disclosure. The voice call method provided in the embodiment of the present disclosure may include the following S601 to S604, as shown in fig. 6, where the bandwidth for the second terminal to communicate is greater than the bandwidth for the first terminal to communicate, where the second terminal is applied to the session edge control SBC network element to perform voice call with the first terminal through the SBC network element.
S601, receiving a second encapsulation message sent by a second terminal, wherein the second encapsulation message is obtained by encapsulating a real-time transport protocol RTP data packet header on a third voice code by the second terminal, and the third voice code is obtained by encoding the received voice message by the second terminal according to a second rate.
In the embodiment of the present disclosure, the second rate may be a codec speed of a standard codec. It should be noted that, in the embodiment of the present disclosure, the voice message is different from S301, and in the embodiment of the present disclosure, the voice message is a sound collected by the second terminal. For example, the sound made by the voice talker of the second terminal.
S602, analyzing the second encapsulation message to obtain a voice message.
Illustratively, the SBC network element decapsulates the second encapsulated message to obtain a third speech code, and decodes the third speech code via a standard codec on the SBC network element to obtain the speech message.
S603, encoding the voice message according to a first rate to obtain a fourth voice code, wherein the first rate is smaller than the second rate.
In the embodiment of the disclosure, the SBC network element encodes the voice message according to the first rate, so as to obtain a low-speed voice code (fourth voice code) that the first terminal can implement a real-time voice call.
In the embodiment of the present disclosure, the low-speed codec installed on the first terminal is not limited as long as it is a codec capable of implementing low-speed codec. For example, the low-speed Codec is one of a self-grinding vocoder, codec2 and LPCNet, and the self-grinding vocoder is a speech Codec that can achieve low-speed encoding and decoding, for example, the Codec speed of the self-grinding vocoder is less than 1 Kbps. The embodiments of the present disclosure are not limited with respect to how the self-developed vocoder is designed.
And S604, the fourth voice code is sent to the first terminal, so that the first terminal decodes and plays the fourth voice code.
According to the embodiment of the disclosure, the SBC network element converts the third voice code (standard code) into the fourth voice code (non-standard code) so as to be suitable for the real-time satellite voice passing of the first terminal under the condition of insufficient bandwidth, thereby ensuring the real-time voice communication between the first terminal and the second terminal under the condition of insufficient bandwidth.
In an exemplary embodiment, the RTP data packet header may include a second terminal identifier, where the second terminal identifier is used to identify the first terminal, before receiving the second encapsulation message sent by the second terminal, the method may further include obtaining registration information, where the registration information includes a terminal identifier of a terminal accessing the satellite and a network identifier corresponding to the terminal, where the network identifier is used to indicate an SBC network element accessed by the terminal through the satellite, determining whether the first terminal accesses the satellite based on the terminal identifier and the second terminal identifier, if so, obtaining a second network identifier corresponding to the first terminal, so that the second terminal sends the second encapsulation message to the SBC network element using the second network identifier, where sending the fourth speech code to the first terminal, so that the first terminal decodes and plays the fourth speech code, and may include sending the fourth speech code to the first terminal using the second terminal identifier, so that the first terminal decodes and plays the fourth speech code.
In the embodiment of the present disclosure, regarding what the second terminal identifier is specifically, the embodiment of the present disclosure is not limited, and for example, the second terminal identifier may be one of an IP address and a port number of the first terminal. The second network identifier may be a network identifier address of the SBC network element, such as an IPv4 address, an IPv6 address, etc.
In the embodiment of the disclosure, when the first terminal is switched to satellite access, registration information is sent to the IMS network element, and the IMS network element updates and records SBC network element information (second network identifier) accessed by the first terminal. That is, the registration information includes a terminal identification of a terminal accessing the satellite and a network identification corresponding to the terminal. It should be noted that the registration information on the IMS network element may have a plurality of terminal identifiers, where terminals corresponding to the terminal identifiers are all terminals connected through satellites. The IMS network element searches the same identifier in the plurality of terminal identifiers according to the second terminal identifier, if the same identifier exists, the IMS network element indicates that the first terminal which performs the real-time voice call with the second terminal is a satellite access network, acquires the second network identifier corresponding to the second terminal identifier, and realizes the real-time voice call with the first terminal through the SBC network element.
In the embodiment of the disclosure, the IMS network element searches the same identifier among the plurality of terminal identifiers according to the second terminal identifier, and if the same identifier does not exist, it indicates that the first terminal performing the real-time voice call with the second terminal has no access to the satellite, and can only communicate with the first terminal through the IMS network.
The embodiment of the disclosure firstly judges whether the first terminal accesses the satellite, and under the condition of accessing the satellite, the second terminal realizes real-time voice call with the first terminal through the SBC network element. In addition, in the broadband satellite access scene, the software codec (such as an AI ultra-low speed vocoder) can be called on the first terminal to complete the voice call, so that the flow resource consumed by the voice call is reduced, and the cost of the satellite voice call can also be reduced.
Because the communication bandwidth of the first terminal is insufficient, the real-time voice communication is performed by adopting a standard coding and decoding mode, the generated delay is serious, and even the voice communication cannot be performed. According to the embodiment of the disclosure, the first terminal adopts the low-speed codec or the ultra-low-speed codec, and performs real-time voice coding under the condition of insufficient bandwidth, the SBC network element converts the nonstandard coding into the standard coding, so that the second terminal can decode the standard coding conveniently, and the real-time voice communication between the first terminal and the second terminal is realized. It should be noted that, the bandwidth of the second terminal is larger, and coding and decoding of standard codec can be implemented. On the basis of not increasing the design cost of the second terminal, the real-time voice call between the first terminal and the second terminal is realized.
In addition, the SBC network element is responsible for converting between standard encoding and decoding and non-standard encoding and decoding, so that calculation force is shared, and the quality of real-time voice communication between the first terminal and the second terminal is further improved.
This disclosure is further illustrated by the following four examples.
In one embodiment, the session flow of the voice call is that the first terminal calls, and the first terminal sends a voice message to the second terminal.
As shown in fig. 7, the first terminal is a mobile phone accessing to a satellite, and two modes of accessing to the satellite by the first terminal are provided, one mode is that the first terminal is provided with a built-in satellite communication module, and the first terminal accesses to the satellite through the satellite communication module. The other is that the first terminal accesses the satellite through a satellite gateway (dashed connection in fig. 7).
The first terminal collects the voice message, based on a low-speed coder-decoder (such as an AI soft coder-decoder), and invokes a computing unit (such as a processor) to code the voice message (also called soft coding), so as to obtain a first voice code. The low-speed codec includes a low-speed encoder and a low-speed decoder. The vocoder model of the AI soft codec may be stored in the memory unit and called upon in use. The AI soft codec encodes a rate below 1 Kbps.
The first terminal encapsulates the first voice code on a media stream real-time transmission protocol (RTP) data packet header through an encapsulation unit to obtain a first encapsulation message, and transmits the first encapsulation message to the SBC network element through a satellite, wherein the RTP data packet header contains a network identification address (first network identification) of the SBC and an address (first terminal identification) of the second terminal, and the first network identification comprises, but is not limited to, an IPv4 address, an IPv6 address and the like. The first terminal identification includes, but is not limited to, an IP address, port number, etc. of the second terminal.
After receiving the first encapsulation message, the SBC network element judges whether the first encapsulation message is transmitted from a satellite gateway station or not, if yes, the first encapsulation message is decapsulated by a decapsulation unit to obtain a first voice code, the first voice code is decoded by a low-speed decoder to obtain a voice message, and the voice message is encoded by a standard encoder to obtain a second voice code, so that code rate conversion is realized. That is, the voice message encoded by the low-speed encoder is decoded and restored, and then recoded by adopting a standard encoding algorithm. It should be noted that, the method for determining whether the first encapsulated message is from the satellite gateway station and the ground gateway station is to compare the first network identifier. And finally, the second terminal receives the second voice code through IMS network route forwarding, and decodes and plays the second voice code by adopting a standard decoding algorithm. It should be noted that, before the SBC network element sends the second speech code to the second terminal, the second speech code may be encapsulated, for example, the SBC network element encapsulates the RTP packet header on the second speech code through the encapsulation unit, and sends the encapsulated RTP packet header to the second terminal. And the second terminal performs decapsulation through a decapsulation unit to obtain a second voice code.
In another embodiment, the conversation process of the voice conversation is that a first terminal calls, and a second terminal sends a voice message to the first terminal.
As shown in fig. 8, the first terminal is a mobile phone accessing to a satellite, and two modes of accessing to the satellite by the first terminal are provided, one mode is that the first terminal is provided with a built-in satellite communication module, and the first terminal accesses to the satellite through the satellite communication module. The other is that the first terminal accesses the satellite through a satellite gateway (dotted connection in fig. 8).
And after the second terminal collects the voice message, the voice message is encoded through a standard encoder to obtain a third voice code. That is, the voice message is encoded using a standard algorithm to obtain a third voice code. And encapsulating the RTP data packet header on the third voice code to obtain a second encapsulated message, wherein the RTP data packet header comprises the identification information (second terminal identification) of the first terminal for addressing within satellite coverage, and the second terminal identification comprises, but is not limited to, an IP address, a port number and the like of the first terminal.
The SBC network element receives the second encapsulation message through IMS network route forwarding, and decapsulates the second encapsulation message through a decapsulation unit to obtain a third voice code. And then the third voice code is decoded by a standard decoder to obtain the voice message. And then the voice message is encoded by the low-speed encoder to obtain a fourth voice code. And transmitting the fourth voice code to the first terminal so that the first terminal decodes and plays the fourth voice code through the low-speed decoder. It should be noted that, before the SBC network element sends the fourth speech code to the first terminal, the fourth speech code may be encapsulated, for example, the SBC network element encapsulates the RTP packet header on the fourth speech code through the encapsulation unit, and sends the encapsulated RTP packet header to the first terminal. The first terminal performs decapsulation through a decapsulation unit to obtain a fourth voice code. The first terminal decodes the fourth voice code through the low-speed decoder to obtain the voice message and plays the voice message. The storage unit is used for storing data (such as an encoding model) of the low-speed encoder, and the calculation force unit provides calculation force of decoding operation for encoding.
The fourth speech code or the fourth speech code encapsulated with the RTP packet header arrives at the first terminal via a terrestrial gateway station, satellite gateway (if any) transit. The first terminal analyzes the fourth voice code through the decapsulation unit, and decodes the original voice message through the low-speed decoder so as to play the original voice message.
In yet another embodiment, the session flow of the voice call is that the second terminal calls, and the second terminal sends a voice message to the first terminal.
The session flow of the embodiment of the present disclosure is the same as that of the embodiment of fig. 8, and is not repeated, but the difference is that whether the first terminal accesses the satellite is determined.
And after the second terminal collects the voice message, the voice message is encoded through a standard encoder to obtain a third voice code. And encapsulating the RTP data packet header on the third voice code to obtain a second encapsulation message, and further transmitting the second encapsulation message to the IMS network element. And then, the IMS network element judges whether the RTP data packet head is accessed through a satellite according to a second terminal identifier included in the RTP data packet head, if so, the second encapsulation message is forwarded to the SBC network element, and otherwise, the subsequent voice call session flow is consistent with the traditional IMS network. It should be noted that, when the first terminal switches to satellite access, the first terminal sends registration information to the IMS network element, and the IMS network element updates and records SBC network element information (second network identifier) accessed by the first terminal. The subsequent processing flow is consistent with the flow in fig. 8 after the SBC network element receives the second encapsulation message, which is not described herein.
In yet another embodiment, the session flow of the voice call is that the second terminal calls, and the first terminal sends a voice message to the second terminal.
The first terminal, which is connected (directly or indirectly) to the satellite, sends the voice message, and the second terminal, which is connected to the ground base station, receives the voice message, and the flow of the voice message is consistent with that of fig. 7, and will not be described again.
It should be noted that, by performing the real-time voice call according to the present disclosure, the computing resource consumption of the first terminal and the second terminal is 131.98 GFLOPS (Giga flowing-point Operations Per Second, billions of Floating point operations per second). The real-time voice call meets the quality requirement and consumes small amount of computing resources.
According to the embodiment of the disclosure, the AI soft coding and decoding model and the satellite communication module are deployed on the first terminal, and the linkage interaction of the SBC network element and the IMS network element is combined, so that the network bandwidth resource consumption of the voice call service can be reduced on the premise of ensuring the voice quality, and the cost of using satellite voice call by a user is further reduced.
The present disclosure provides methods for providing narrowband voice communications in extreme scenarios such as high orbit satellites, underwater submarines, etc., that address the challenges of limited bandwidth in communication networks. This is critical for real-time, high quality voice calls in narrowband communication networks.
Based on the same inventive concept, the embodiments of the present disclosure also provide a voice call apparatus, as described in the following embodiments. Since the principle of solving the problem of the embodiment of the device is similar to that of the embodiment of the method, the implementation of the embodiment of the device can be referred to the implementation of the embodiment of the method, and the repetition is omitted.
Fig. 9 shows a schematic diagram of a voice call device in an embodiment of the present disclosure, which is applied to a first terminal, where the first terminal performs a voice call with a second terminal through a session edge control SBC network element, and a bandwidth for the first terminal to perform communication is smaller than a bandwidth for the second terminal to perform communication, as shown in fig. 9, where the voice call device includes a first receiving module 901, a first encoding module 902, an encapsulating module 903, and a first sending module 904. The first receiving module 901 may be configured to receive a voice message, the first encoding module 902 may be configured to encode the voice message at a first rate to obtain a first voice code, the encapsulation module 903 may be configured to encapsulate a RTP packet header on the first voice code to obtain a first encapsulated message, and the first sending module 904 may be configured to send the first encapsulated message to the SBC network element, so that the SBC network element parses the first encapsulated message, and encodes the parsed voice message at a second rate to obtain a second voice code, and send the second voice code to the second terminal, so that the second terminal decodes and plays the second voice code, where the first rate is less than the second rate.
In an embodiment, the RTP packet header includes a first terminal identifier and a first network identifier, where the first terminal identifier is used to identify a second terminal, the first network identifier is used to identify the SBC network element, and the first sending module 904 is further configured to send the first encapsulation message to the SBC network element based on the first network identifier, so that the SBC network element parses the first encapsulation message, encodes the parsed voice message according to a second rate, and obtains a second voice code, and send the second voice code to the second terminal by using the first terminal identifier, so that the second terminal decodes and plays the second voice code.
In an embodiment, before receiving the voice message, the first receiving module 901 may be further configured to determine whether the first terminal has a satellite communication module, if so, configure the encoding speed of the first terminal to be a first rate when the first terminal accesses a satellite through the satellite communication module, and if not, configure the encoding speed of the first terminal to be a first rate when the first terminal connects a satellite gateway and accesses the satellite through the satellite gateway.
In an embodiment, the first terminal is provided with a low-speed codec, and the low-speed codec is configured to encode the voice message according to a first rate to obtain a first voice code.
The voice communication device disclosed by the embodiment of the disclosure adopts the first rate to encode at the first terminal with smaller bandwidth to obtain the first voice code, analyzes the first voice code at the SBC network element, and re-encodes the first voice code through the second rate to obtain the second voice code, wherein the second rate is larger than the first rate, so that the real-time voice communication between the first terminal and the second terminal is realized under the condition of insufficient bandwidth.
Based on the same inventive concept, the embodiments of the present disclosure also provide a voice call apparatus, as described in the following embodiments. Since the principle of solving the problem of the embodiment of the device is similar to that of the embodiment of the method, the implementation of the embodiment of the device can be referred to the implementation of the embodiment of the method, and the repetition is omitted.
Fig. 10 is a schematic diagram of a voice call device in another embodiment of the present disclosure, which is applied to a session edge control SBC network element, where a first terminal performs a voice call with a second terminal through the SBC network element, and a bandwidth for the first terminal to perform communication is smaller than a bandwidth for the second terminal to perform communication. As shown in fig. 10, the apparatus includes a second receiving module 1001, a first parsing module 1002, a second encoding module 1003, and a second transmitting module 1004.
The second receiving module 1001 may be configured to receive a first encapsulated message sent by the first terminal, where the first encapsulated message is obtained by encapsulating a RTP packet header with a first voice code by the first terminal, where the first voice code is obtained by encoding the received voice message by the first terminal according to a first rate, the first analyzing module 1002 may be configured to analyze the first encapsulated message to obtain a voice message, the second encoding module 1003 may be configured to encode the voice message according to a second rate to obtain a second voice code, where the second rate is greater than the first rate, and the second sending module 1004 may be configured to send the second voice code to the second terminal, so that the second terminal decodes and plays the second voice code.
In an embodiment, the RTP packet header includes a first terminal identifier and a first network identifier, where the first terminal identifier is used to identify a second terminal, the first network identifier is used to identify the SBC network element, the second receiving module 1001 is further configured to receive a first encapsulation message sent by the first terminal using the first network identifier, and the second sending module 1004 is further configured to send the second speech code to the second terminal using the first terminal identifier, so that the second terminal decodes and plays the second speech code, and the first rate is less than the second rate.
In an embodiment, before receiving the voice message, the second receiving module 1001 may be further configured to determine whether the first terminal has a satellite communication module, if so, configure the encoding speed of the first terminal to be a first rate when the first terminal accesses a satellite through the satellite communication module, and if not, configure the encoding speed of the first terminal to be a first rate when the first terminal connects to a satellite gateway and accesses the satellite through the satellite gateway.
In an embodiment, the first terminal is provided with a low-speed codec, and the low-speed codec is used for encoding the received voice message according to a first rate to obtain a first voice code.
The voice communication device disclosed by the embodiment of the disclosure adopts the first rate to encode at the first terminal with smaller bandwidth to obtain the first voice code, analyzes the first voice code at the SBC network element, and re-encodes the first voice code through the second rate to obtain the second voice code, wherein the second rate is larger than the first rate, so that the real-time voice communication between the first terminal and the second terminal is realized under the condition of insufficient bandwidth.
Based on the same inventive concept, the embodiments of the present disclosure also provide a voice call apparatus, as described in the following embodiments. Since the principle of solving the problem of the embodiment of the device is similar to that of the embodiment of the method, the implementation of the embodiment of the device can be referred to the implementation of the embodiment of the method, and the repetition is omitted.
Fig. 11 is a schematic diagram of a voice call apparatus according to another embodiment of the disclosure. The device for controlling the SBC network element by the session edge is applied to the voice communication between the second terminal and the first terminal through the SBC network element, and the bandwidth for the communication between the second terminal and the first terminal is larger than the bandwidth for the communication between the second terminal and the first terminal, as shown in fig. 11, may include a third receiving module 1101, a second analyzing module 1102, a third encoding module 1103 and a third sending module 1104. The third receiving module 1101 may be configured to receive a second encapsulated message sent by the second terminal, where the second encapsulated message is obtained by encapsulating a RTP packet header with a third voice code by the second terminal, where the third voice code is obtained by encoding the received voice message by the second terminal according to a second rate, the second analyzing module 1102 may be configured to analyze the second encapsulated message to obtain a voice message, the third encoding module 1103 may be configured to encode the voice message according to a first rate to obtain a fourth voice code, where the first rate is less than the second rate, and the third sending module 1104 may be configured to send the fourth voice code to the first terminal, so that the first terminal decodes and plays the fourth voice code.
In an embodiment, the RTP packet header includes a second terminal identifier, where the second terminal identifier is used to identify the first terminal, before receiving a second encapsulation message sent by the second terminal, the third receiving module 1101 may be further configured to obtain registration information, where the registration information includes a terminal identifier of a terminal accessing a satellite and a network identifier corresponding to the terminal, where the network identifier is used to indicate an SBC network element to which the terminal accesses the satellite, determine, based on the terminal identifier and the second terminal identifier, whether the first terminal accesses the satellite, if yes, obtain a second network identifier corresponding to the first terminal, so that the second terminal uses the second network identifier to send the second encapsulation message to the SBC network element, and the third sending module 1104 may be further configured to send, using the second terminal identifier, the fourth speech code to the first terminal, so that the first terminal decodes and plays the fourth speech code.
The voice call device disclosed by the embodiment of the disclosure judges whether the first terminal is accessed to the satellite, and under the condition of accessing to the satellite, the second terminal realizes real-time voice call with the first terminal through the SBC network element. In addition, in the broadband satellite access scene, the software codec (such as an AI ultra-low speed vocoder) can be called on the first terminal to complete the voice call, so that the flow resource consumed by the voice call is reduced, and the cost of the satellite voice call can also be reduced.
Those skilled in the art will appreciate that the various aspects of the present disclosure may be implemented as a system, method, or program product. Accordingly, aspects of the present disclosure may be embodied in the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, micro-code, etc.) or an embodiment combining hardware and software aspects that may be referred to herein collectively as a "circuit," module, "or" system.
An electronic device 1200 according to such an embodiment of the present disclosure is described below with reference to fig. 12. The electronic device 1200 shown in fig. 12 is merely an example, and should not be construed as limiting the functionality and scope of use of the disclosed embodiments.
As shown in fig. 12, the electronic device 1200 is in the form of a general purpose computing device. The components of the electronic device 1200 may include, but are not limited to, the at least one processing unit 1210, the at least one memory unit 1220, and a bus 1230 connecting the different system components (including the memory unit 1220 and the processing unit 1210).
Wherein the storage unit stores program code that is executable by the processing unit 1210 such that the processing unit 1210 performs steps according to various exemplary embodiments of the present disclosure described in the above-described "exemplary methods" section of the present specification.
The storage unit 1220 may include a readable medium in the form of a volatile storage unit, such as a Random Access Memory (RAM) 12201 and/or a cache memory 12202, and may further include a Read Only Memory (ROM) 12203.
Storage unit 1220 may also include a program/utility 12204 having a set (at least one) of program modules 12205, such program modules 12205 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
Bus 1230 may be a local bus representing one or more of several types of bus structures including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or using any of a variety of bus architectures.
The electronic device 1200 may also communicate with one or more external devices 1240 (e.g., keyboard, pointing device, bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 1200, and/or any devices (e.g., routers, modems, etc.) that enable the electronic device 1200 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 1250. Also, the electronic device 1200 may communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet through the network adapter 1260. As shown, the network adapter 1260 communicates with other modules of the electronic device 1200 over bus 1230. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with the electronic device 1200, including, but not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (may be a personal computer, a server, a terminal device, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
In the disclosed exemplary embodiments, a computer-readable storage medium, which may be a readable signal medium or a readable storage medium, is also provided. Fig. 13 illustrates a schematic diagram of a computer-readable storage medium in an embodiment of the present disclosure, where a program product capable of implementing the method of the present disclosure is stored on the computer-readable storage medium 1300 as illustrated in fig. 13.
In some possible implementations, various aspects of the disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to carry out the steps according to the various exemplary embodiments of the disclosure as described in the detailed description section of the disclosure, when the program product is run on the terminal device.
More specific examples of a computer-readable storage medium in the disclosure can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
In this disclosure, a computer readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Alternatively, the program code embodied on a computer readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
In particular implementations, the program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
Embodiments of the present disclosure provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the voice call method provided in the various alternatives in any of the embodiments of the disclosure.
Furthermore, although the steps of the methods in the present disclosure are depicted in a particular order in the drawings, this does not require or imply that the steps must be performed in that particular order, or that all illustrated steps be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform, etc.
From the description of the above embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (may be a personal computer, a server, a mobile terminal, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any adaptations, uses, or adaptations of the disclosure following the general principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope of the disclosure being indicated by the following claims.