Communication method, apparatus, and related device

CN122994286APending Publication Date: 2026-10-27VIVO MOBILE COMM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510540447.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-27
Publication Date
2026-10-27

AI Technical Summary

Technical Problem

[0004]本申请实施例提供一种通信方法、装置及相关设备,能够解决基于AI的语音编解码中若主叫方仅向被叫方传输编解码速率会导致通话失败的问题

Benefits of technology

[0030]在本申请实施例中,第一设备向第二设备发送第一消息,第一消息包括第一参数集合中每个参数的第一参数值,第一参数值用于计算与第一设备支持的第一编解码对应的编解码速率,第一编解码包括基于AI的编解码;第一设备获取来自第二设备的第二消息,第二消息包括第一参数集合中每个参数的第二参数值,第二参数值用于计算与第二设备支持的第一编解码对应的编解码速率;第一设备根据所述第二消息,确定所述第一编解码对应的编解码速率。通过该第一消息使得第二设备能够获知用于计算与第一设备支持的第一编解码对应的编解码速率的相关参数信息,通过第二消息使得第一设备能够获知用于计算与第二设备支持的第一编解码对应的编解码速率的相关参数信息,从而实现第一设备与第二设备交互第一编解码对应的编解码速率的相关参数信息的目的,这样,便于后续通信双方基于交互的参数信息进行通信,避免出现由于对通信信息无法解密而导致通信失败的问题。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122994286A_ABST
    Figure CN122994286A_ABST
Patent Text Reader

Abstract

The application discloses a communication method, device and related equipment, and belongs to the technical field of coding and decoding. The communication method comprises the following steps: a first device sends a first message to a second device, wherein the first message comprises a first parameter value of each parameter in a first parameter set, and the first parameter value is used for calculating a coding rate corresponding to a first coding supported by the first device, wherein the first coding comprises artificial intelligence (AI) based coding; the first device acquires a second message from the second device, wherein the second message comprises a second parameter value of each parameter in the first parameter set, and the second parameter value is used for calculating a coding rate corresponding to the first coding supported by the second device; and the first device determines the coding rate corresponding to the first coding according to the second message.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of encoding and decoding technology, specifically relating to a communication method, apparatus and related equipment. Background Technology

[0002] In related voice call technologies, the Session Description Protocol (SDP) offer uses numbers to indicate the codec rate. For example, 0 indicates a supported codec rate of 4.75 kbit / sec, 1 indicates a supported codec rate of 5.15 kbit / sec, 2 indicates a supported codec rate of 5.90 kbit / sec, and 4 indicates a supported codec rate of 7.40 kbit / sec.

[0003] However, in AI-based voice codec technology, the codec rate is obtained through multiple codec parameters. If the caller only transmits the codec rate to the called party, the called party cannot determine the codec parameter information corresponding to that codec rate, resulting in the inability to perform voice decoding and causing the call to fail. Summary of the Invention

[0004] This application provides a communication method, apparatus, and related equipment that can solve the problem that if the calling party only transmits the encoding / decoding rate to the called party in AI-based voice encoding / decoding, the call will fail.

[0005] Firstly, a communication method is provided, including:

[0006] The first device sends a first message to the second device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to a first encoding / decoding supported by the first device. The first encoding / decoding includes encoding / decoding based on artificial intelligence (AI).

[0007] The first device receives a second message from the second device. The second message includes a second parameter value for each parameter in the first parameter set. The second parameter value is used to calculate the codec rate corresponding to the first codec supported by the second device.

[0008] The first device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

[0009] Secondly, a communication method is provided, including:

[0010] The second device acquires a first message sent by the first device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the first device. The first encoding / decoding includes AI-based encoding / decoding.

[0011] The second device sends a second message to the first device according to the first message, wherein the second message contains a second parameter value for each parameter in the first parameter set, and the second parameter value is used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the second device;

[0012] The second device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

[0013] Thirdly, a communication device is provided, comprising:

[0014] A first sending module is configured to send a first message to a second device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to a first encoding / decoding supported by the communication device. The first encoding / decoding includes encoding / decoding based on artificial intelligence (AI).

[0015] A first receiving module is configured to acquire a second message from the second device, the second message including a second parameter value for each parameter in the first parameter set, the second parameter value being used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the second device;

[0016] The first processing module is used to determine the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

[0017] Fourthly, a communication device is provided, comprising:

[0018] The second receiving module is used to acquire a first message sent by the first device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the communication device. The first encoding / decoding includes AI-based encoding / decoding.

[0019] The third sending module is used to send a second message to the first device according to the first message, wherein the second message contains a second parameter value for each parameter in the first parameter set, and the second parameter value is used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the second device;

[0020] The third processing module is used to determine the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

[0021] Fifthly, a communication device is provided, the device being configured to perform the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.

[0022] In a sixth aspect, an electronic device is provided, the terminal including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect, or implementing the steps of the method as described in the second aspect.

[0023] A seventh aspect provides an electronic device, including a processor and a communication interface, wherein the communication interface is configured to send a first message to a second device, the first message including a first parameter value for each parameter in a first parameter set, the first parameter value being used to calculate a codec rate corresponding to a first codec supported by the first device, wherein the first codec includes an AI-based codec; and to acquire a second message from the second device, the second message including a second parameter value for each parameter in the first parameter set, the second parameter value being used to calculate a codec rate corresponding to the first codec supported by the second device; the processor is configured to determine the codec rate corresponding to the first codec based on the second message;

[0024] Alternatively, the communication interface is used to acquire a first message sent by a first device, the first message including a first parameter value for each parameter in a first parameter set, the first parameter value being used to calculate the encoding / decoding rate corresponding to the first codec supported by the first device, the first codec including AI-based encoding / decoding; according to the first message, a second message is sent to the first device, the second message including a second parameter value for each parameter in the first parameter set, the second parameter value being used to calculate the encoding / decoding rate corresponding to the first codec supported by the second device; the processor is used to determine the encoding / decoding rate corresponding to the first codec according to the second message.

[0025] Eighthly, an electronic device is provided, comprising: a memory configured to store video data, and processing circuitry configured to implement the steps of the method described in the first aspect, or the steps of the method described in the second aspect.

[0026] A ninth aspect provides a readable storage medium on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect, or implement the steps of the method described in the second aspect.

[0027] In a tenth aspect, a coding / decoding system is provided, comprising: an encoding end device and a decoding end device, wherein the encoding end device is configured to perform the steps of the method described in the first aspect, and the decoding end device is configured to perform the steps of the method described in the second aspect.

[0028] Eleventhly, a chip is provided, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being configured to run a program or instructions to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.

[0029] In a twelfth aspect, a computer program / program product is provided, which is stored in a storage medium and is executed by at least one processor to implement the steps of the method as described in the first aspect, or to implement the steps of the method as described in the second aspect.

[0030] In this embodiment, a first device sends a first message to a second device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to a first codec supported by the first device. The first codec includes AI-based encoding / decoding. The first device receives a second message from the second device. The second message includes a second parameter value for each parameter in the first parameter set. The second parameter value is used to calculate the encoding / decoding rate corresponding to the first codec supported by the second device. The first device determines the encoding / decoding rate corresponding to the first codec based on the second message. The first message enables the second device to obtain relevant parameter information for calculating the encoding / decoding rate corresponding to the first codec supported by the first device. The second message enables the first device to obtain relevant parameter information for calculating the encoding / decoding rate corresponding to the first codec supported by the second device. This achieves the purpose of the first device and the second device exchanging relevant parameter information about the encoding / decoding rate corresponding to the first codec. This facilitates subsequent communication between the two parties based on the exchanged parameter information, avoiding communication failures due to the inability to decrypt communication information. Attached Figure Description

[0031] Figure 1 One of the flowcharts illustrating the communication method according to an embodiment of this application;

[0032] Figure 2 A second flowchart illustrating the communication method according to an embodiment of this application;

[0033] Figure 3 One of the schematic diagrams of a communication device according to an embodiment of this application;

[0034] Figure 4A second schematic diagram of the communication device according to an embodiment of this application;

[0035] Figure 5 A structural block diagram illustrating an embodiment of the electronic device of this application;

[0036] Figure 6 This is a structural block diagram illustrating the terminal in an embodiment of this application. Detailed Implementation

[0037] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.

[0038] The terms "first," "second," etc., used in this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, the first object can be one or more. Furthermore, "or" in this application indicates at least one of the connected objects. For example, the scope of protection for "A or B" covers at least three scenarios: Scenario 1: including A but not B; Scenario 2: including B but not A; Scenario 3: including both A and B. In addition, the terms "A and / or B," "at least one of A and B," and "at least one of A or B" also cover at least the above three scenarios. The character " / " generally indicates that the preceding and following objects are in an "or" relationship. "At least one" in this application can be understood or replaced with "one or more."

[0039] To enable those skilled in the art to better understand the embodiments of this application, the following description will be provided first.

[0040] (1) Voice call process related to IP Multimedia Subsystem (IMS);

[0041] Step 1: UE-1 initiates a call request (invite) to the Proxy-Call Session Control Function (P-CSCF). The request includes a Session Description Protocol (SDP) offer. The SDP offer contains parameters for voice / video calls supported by the UE, such as supported voice codec, video codec, packetization time (ptime), mode-set, etc. The mode-set is used to indicate the encoding mode supported by the UE.

[0042] For example, an SDP offer includes the following:

[0043] m=audio 49152RTP / AVP 97 98 99 100;

[0044] a = rtpmap:97AMR / 8000 / 1;

[0045] a=fmtp:97mode-set=0,1,2,3,4;

[0046] a = rtpmap:98AMR / 8000 / 1;

[0047] a=fmtp:98mode-set=5,6,7;

[0048] a = rtpmap:99AMR / 8000 / 1;

[0049] a=fmtp:99mode-change-capability=2; max-red=220;

[0050] a = rtpmap:100AMR / 8000 / 1;

[0051] a=fmtp:100mode-change-capability=2; max-red=220; octet-align=1;

[0052] a = ptime:20;

[0053] a = maxptime:240.

[0054] In the example above, UE-1 supports four voice coding methods:

[0055] 97 indicates that the UE supports Adaptive Multi-Rate (AMR), and the supported rates include 4.75 kbit / sec, 5.15 kbit / sec, 5.90 kbit / sec, 6.70 kbit / sec, and 7.40 kbit / sec;

[0056] 98 indicates that the UE supports AMR, and the supported rates include 7.95 kbit / sec, 10.2 kbit / sec, and 12.2 kbit / sec;

[0057] 99 indicates that the UE supports AMR, a bandwidth-saving mode;

[0058] 100 indicates that the UE supports AMR, byte alignment mode.

[0059] For example, the encoding methods corresponding to the mode-set of AMR are shown in Table 1:

[0060] Table 1

[0061] Frame Content Mode Indicator AMR 4.75kbit / sec 0 AMR 5.15kbit / sec 1 AMR 5.90kbit / sec 2 AMR 6.70kbit / sec 3 AMR 7.40kbit / sec 4 AMR 7.95kbit / sec 5 AMR 10.2kbit / sec 6 AMR 12.2kbit / sec 7

[0062] It should be noted that this call process is illustrated using a voice call as an example. This call process can be applied to video calls, augmented reality (AR) calls, avatar calls, and so on.

[0063] Step 2: The P-CSCF sends a 100trying message to UE-1 to notify UE-1 that it has received the invite message.

[0064] Step 3: The P-CSCF sends the invite message to UE-2 through the Serving-Call Session Control Function (S-CSCF) and the called IMS network.

[0065] Step 4: UE-2 replies to P-CSCF with a 183 response message through the called IMS network and S-CSCF. The response message carries an SDP answer, which contains at least one codec selected by UE-2 from the voice codecs provided by UE-1. For example, UE-2 selects 97 and 98.

[0066] Step 5: The P-CSCF sends the SDP answer to UE-1. In step 5, the P-CSCF can establish a bearer for UE-1 to transmit voice. For example, in a 5G communication system, this is a QoS flow with a Quality of Service (QoS) level of 1, and in a 4G communication system, it is an Evolved Packet System Bearer (EPS bearer) with a QoS level of 1.

[0067] Step 6: UE-1 sends a Provisional Response ACK (PRACK) to UE-2 to notify UE-2 that it has received the 183 response message.

[0068] Step 7: UE-2 replies with a 200 OK message to UE-1 in response to the PRACK.

[0069] Step 8: UE-1 sends an Update message to UE-2. This Update message contains an SDP offer, which includes the codec selected by UE-1 for this call, such as 97 (AMR-WB, byte-aligned mode).

[0070] The Update message is also used to notify UE-2 that its voice bearer has been established.

[0071] Step 9: UE-2 responds to the Update message with a 200 OK response, carrying the SDP answer.

[0072] Step 10: UE-2 starts ringing for background users and sends a 180 ringing message to UE-1.

[0073] Step 11: When the user of UE-2 answers the call, UE-2 replies with 200 OK, which is then routed to UE-1.

[0074] Step 12: UE-1 sends an ACK to UE-2.

[0075] After completing step 12 above, UE-1 and UE-2 begin their call.

[0076] The communication method provided in this application will be described in detail below with reference to the accompanying drawings and through some embodiments and application scenarios.

[0077] like Figure 1 As shown in the embodiment of this application, a communication method is provided, including:

[0078] Step 101: The first device sends a first message to the second device. The first message includes a first parameter value for each parameter in the first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the first device. The first encoding / decoding includes encoding / decoding based on artificial intelligence (AI).

[0079] The first device in this application embodiment includes a first terminal, and the second device includes a second terminal or a network-side device. For example, the network-side device may be a P-CSCF or an IMS application server (AS).

[0080] In some embodiments of this application, the first encoding / decoding described above may be encoding / decoding of voice data or encoding / decoding of video data.

[0081] In some implementations, each parameter in the first parameter set includes one or more first parameter values. It can be understood that the first parameter value for each parameter includes one or more values.

[0082] For example, the first parameter set includes two parameters, and the first message includes one or more first parameter values ​​of the first parameter and one or more first parameter values ​​of the second parameter.

[0083] In some implementations, the first parameter value can be the first parameter value of one or more parameters in the first parameter set, and the first parameter value of each parameter includes one or more values.

[0084] For example, the first parameter set includes the first parameter, and the first parameter value of the first parameter may include one or more values ​​of the first parameter.

[0085] As another optional implementation, the first message includes at least one set of parameter values, each set of parameter values ​​including one parameter value for each parameter in the first parameter set. It is understood that the first parameter value for each parameter in the first parameter set included in the first message can be a set of indications. The parameter value for each parameter included in each set of parameter values ​​in the first message is a parameter value supported by the first device.

[0086] For example, the first parameter set includes the number of codebook layers, the codebook size, and the aggregation level. The first message includes three sets of parameter values: the first set of parameter values ​​includes: the number of codebook layers supported by the first device (3), the size of the codebook supported by the first device (8), and the aggregation level supported by the first device (1); the second set of parameter values ​​includes: the number of codebook layers supported by the first device (4), the size of the codebook supported by the first device (10), and the aggregation level supported by the first device (2); and the third set of parameter values ​​includes: the number of codebook layers supported by the first device (5), the size of the codebook supported by the first device (16), and the aggregation level supported by the first device (3). Optionally, the first message also includes: the priority of each set of parameter values ​​in the at least one set of parameter values. For example, the priority of the first set of parameter values ​​is 1, the priority of the second set of parameter values ​​is 2, and the priority of the third set of parameter values ​​is 3.

[0087] Step 102: The first device obtains a second message from the second device. The second message includes a second parameter value for each parameter in the first parameter set. The second parameter value is used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the second device.

[0088] In some embodiments of this application, the second parameter value can be the second parameter value of one or more parameters in the first parameter set, and the second parameter value of each parameter includes one or more values.

[0089] For example, the first parameter set includes a first parameter and a second parameter, the second parameter value includes the second parameter value of the first parameter and the second parameter value of the second parameter, the second parameter value of the first parameter may include one or more values ​​of the first parameter, and the second parameter value of the second parameter may include one or more values ​​of the first parameter.

[0090] As an optional implementation, the second message includes at least one set of parameter values, each set of parameter values ​​including one parameter value for each parameter in the first parameter set. It is understood that the first parameter value for each parameter in the first parameter set included in the second message can be a set of indications.

[0091] In one implementation, the second message includes at least one set of parameter values ​​that are supported by the second device. It can be understood that the parameter values ​​of each parameter included in each set of parameter values ​​in the second message are parameter values ​​supported by the second device.

[0092] In this embodiment of the application, after receiving the first message, the second device sends a second message to the first device, so that the first device can determine the relevant parameters of the encoding and decoding rate corresponding to the first encoding and decoding supported by the second device based on the second message.

[0093] In some embodiments of this application, the first message is carried by a Session Description Protocol (SDP) proposal, and the second message is carried by an SDP response.

[0094] Step 103: The first device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

[0095] In this embodiment of the application, the first device can determine the relevant parameters for calculating the codec rate corresponding to the first codec supported by the second device based on the second message, and then use the determined relevant parameters to determine the codec rate corresponding to the first codec.

[0096] In this embodiment, a first device sends a first message to a second device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to a first codec supported by the first device. The first codec includes AI-based encoding / decoding. The first device receives a second message from the second device. The second message includes a second parameter value for each parameter in the first parameter set. The second parameter value is used to calculate the encoding / decoding rate corresponding to the first codec supported by the second device. The first device determines the encoding / decoding rate corresponding to the first codec based on the second message. The first message enables the second device to obtain relevant parameter information for calculating the encoding / decoding rate corresponding to the first codec supported by the first device. The second message enables the first device to obtain relevant parameter information for calculating the encoding / decoding rate corresponding to the first codec supported by the second device. This achieves the purpose of the first device and the second device exchanging relevant parameter information about the encoding / decoding rate corresponding to the first codec. This facilitates subsequent communication between the two parties based on the exchanged parameter information, avoiding communication failures due to the inability to decrypt communication information.

[0097] In some embodiments of this application, the parameters in the first parameter set include at least one of the following:

[0098] The number of layers in the codebook;

[0099] Codebook size;

[0100] Aggregation level, wherein the aggregation level is the aggregation level of a neural network encoding unit or a neural network decoding unit;

[0101] Forward duration, which indicates the duration of a frame during AI-based encoding and decoding.

[0102] The number of codebook layers mentioned above can include the maximum supported codebook layer (max-codebook-layer).

[0103] In some implementations, the aforementioned frame comprises a first number of audio samples. The duration of this frame is the same as the duration corresponding to the first number of audio samples. The first number of audio samples in this frame include n audio samples corresponding to the overlap amount and m audio samples corresponding to the forward duration, where m and n are both integers. The overlap amount refers to the overlapping portion between two adjacent frames.

[0104] In some implementations, the encoding / decoding rate is based on at least one of the following: codebook-layer, codebook-size, aggregation-level, and step-time.

[0105] For example, speech encoding / decoding rate = codebook-layer * codebook-size * aggregation-level / step-time;

[0106] Among them, codebook-layer is the number of layers in the codebook of AI speech encoding and decoding. The larger the number, the clearer the speech and the richer the details.

[0107] codebook-size is the size of the codebook for AI speech encoding and decoding. The larger the codebook, the more bits are needed for identification, and the more accurately the sound can be reproduced. For example, a codebook with 256 entries requires 8 bits for identification.

[0108] Step-time is the forward time of each encoded frame during AI speech encoding and decoding;

[0109] The aggregation-level is used to represent the number of neural network codec units. For example, an aggregation level of L represents L neural network codec units.

[0110] In this embodiment of the application, the first device provides the second device with a first parameter value of at least one of the following: the number of layers in the codebook, the size of the codebook, the aggregation level, and the advance duration, so that the second device can know the parameter values ​​of the relevant parameters used by the first device to calculate the coding rate of the first edit code.

[0111] In some embodiments of this application, the parameters in the first parameter set further include at least one of the following:

[0112] A1: Frame size or frame duration;

[0113] The size of a frame can be represented by the number of samples it contains. The duration of a frame can be represented by the temporal length of the samples it contains.

[0114] A2: The size of the overlap or the duration of the overlap, where the size of the overlap refers to the size of the overlap between two adjacent frames, and the duration of the overlap refers to the duration of the overlap between two adjacent frames.

[0115] The magnitude of this overlap can be represented by the number of samples contained in the overlapping portion.

[0116] In some implementations of this application, frame-time = overlap-time + step-time; or frame-size = overlap-size + step-size, where the overlap amount is an optional feature. If this feature is not enabled, overlap-size or overlap-time is 0, frame-time = step-time, and frame-size = step-size. Knowing the two parameters frame-time, overlap-time, and step-time, the third parameter can be obtained through calculation. Therefore, only two parameters of frame-time, overlap-time, and step-time need to be interacted. Similarly, only two parameters of frame-size, overlap-size, and overlap-size need to be interacted. Here, step-size is the number of samples advanced per frame during AI-based encoding and decoding.

[0117] A3: Time-frequency domain transformation factor;

[0118] In some implementations, the time-frequency domain transformation factor is obtained by performing time-frequency domain transformation on the audio data. For example, based on the time-frequency domain transformation coefficients, time-frequency domain transformation is performed on each x time-domain audio sample to obtain a set of frequency domain coefficients. This set of frequency domain coefficients contains M frequency domain coefficients, where M is the time-frequency domain transformation factor.

[0119] A4: Neural network sampling factor, which includes at least one of a neural network upsampling factor and a neural network downsampling factor. For example, assuming the neural network sampling factor is D, the neural network downsampling factor transforms N sets of neural network coefficients into N / D sets of neural network coefficients, and the neural network upsampling factor transforms N sets of neural network coefficients into N*D sets of neural network coefficients.

[0120] In some embodiments of this application, as a first implementation: the second parameter value is the parameter value selected by the second device from the first parameter values;

[0121] Alternatively, as a second implementation: the second parameter value includes parameter values ​​related to the first codec supported by the second device.

[0122] Optionally, in the first implementation described above, where the second parameter value is a parameter value selected by the second device from the first parameter values, the second parameter value can be the second parameter value of one or more parameters in the first parameter set, with each parameter having a single second parameter value. This can be understood as the second parameter value of the first parameter in the first parameter set being a parameter value selected by the second device from the first parameter values ​​of the first parameter.

[0123] For example, the first parameter in the first parameter set includes the number of layers in the codebook, and the first parameter value for the number of layers in the codebook includes 3, 4, 5, and 6. The second parameter value for the number of layers in the codebook is 3, which is selected by the second device from the first parameter values.

[0124] In one optional implementation, the second message includes a set of parameter values ​​selected by the second device. Specifically, the second device selects a set of parameter values ​​from at least one set of parameter values ​​sent by the first device.

[0125] In one implementation, the method by which the second device selects a set of parameter values ​​from at least one set of parameter values ​​sent by the first device may include at least one of the following: selecting a set of parameter values ​​based on the priority of each set of parameter values; and selecting a set of parameter values ​​based on their arrangement position. For example, selecting the set of parameter values ​​with the highest priority, or selecting the set of parameter values ​​that appears first in the arrangement position.

[0126] For example, the first parameter set includes the number of codebook layers, the codebook size, and the aggregation level. The first message includes three sets of parameter values: the first set includes: the number of codebook layers supported by the first device (3), the codebook size supported by the first device (8), and the aggregation level supported by the first device (1); the second set includes: the number of codebook layers supported by the first device (4), the codebook size supported by the first device (10), and the aggregation level supported by the first device (2); and the third set includes: the number of codebook layers supported by the first device (5), the codebook size supported by the first device (16), and the aggregation level supported by the first device (3). The second device can select the set of parameter values ​​with the highest priority from the three sets, for example, selecting the first set of parameter values.

[0127] Optionally, in the second implementation described above, where the second parameter value includes parameter values ​​related to the first encoding / decoding supported by the second device, the second parameter value can be the second parameter value of one or more parameters in the first parameter set, and the second parameter value of each parameter includes one or more values. For example, the parameters in the first parameter set include the number of layers in the codebook, and the second parameter value for the number of layers in the codebook includes 5, 6, and 7.

[0128] In the first implementation described above, the second device can select a parameter value from the first parameter values ​​supported by the first device as the communication parameter value. In the second implementation described above, the first device can select a parameter value supported by both the first parameter value supported by the first device and the second parameter value supported by the second device for communication. Therefore, the solution of this application embodiment enables both communicating parties to flexibly select appropriate parameters for communication.

[0129] In some embodiments of this application, regarding the second implementation described above, when the second parameter value includes parameter values ​​related to the first codec supported by the second device, the first device determines the codec rate corresponding to the first codec based on the second message, including:

[0130] If at least one parameter value in the second parameter value of the first parameter is the same as the first parameter value of the first parameter, a parameter value is determined from the at least one same parameter value, and the first parameter includes any one parameter in the first parameter set;

[0131] The encoding / decoding rate corresponding to the first encoding / decoding is determined based on a parameter value determined from at least one of the same parameter values.

[0132] In this implementation, if there is an intersection between the second parameter value of the first parameter and the first parameter value of the first parameter, a parameter value is selected from the intersection.

[0133] In embodiments of this application, when the parameter values ​​in the first parameter set include at least one parameter value for each parameter in the first parameter set, the first device determines a parameter value from the same at least one parameter value according to a first selection strategy. The first selection strategy may include at least one of the following: randomly selecting a parameter value; selecting the parameter value with the largest value or selecting the parameter value with the smallest value; or selecting the parameter value that appears first in the order of arrangement.

[0134] For example, the first device provides a first message in the SDP offer, which includes the number of codebook tiers supported by the calling party, the codebook size, and the aggregation level. The number of codebook tiers can include multiple values, such as 3, 4, 5, and 6; the codebook size can include multiple values, such as 8, 10, and 16; and the aggregation level can include multiple values, such as 1, 2, and 3.

[0135] The second device feeds back the number of codebook layers supported by the second device, the codebook size, and the aggregation level to the first device via SDP answer. The number of codebook layers can include multiple values, such as 5, 6, and 7; the codebook size can include multiple values, such as 16 and 32; and the aggregation level can include multiple values, such as 2 and 3.

[0136] Then, select parameter values ​​supported by both parties for voice communication. For example, select 5 for the number of codebook layers, 16 for the codebook size, and 2 for the aggregation level.

[0137] It should be noted that the first parameter may include at least one of the following:

[0138] The number of layers in the codebook;

[0139] Codebook size;

[0140] Aggregation level, wherein the aggregation level is the aggregation level of a neural network encoding unit or a neural network decoding unit;

[0141] Forward duration, which indicates the duration of a frame during AI-based encoding and decoding.

[0142] Optionally, the first parameter may also include at least one of the following:

[0143] Frame size or frame duration;

[0144] The magnitude of the overlap or the duration of the overlap, wherein the magnitude of the overlap refers to the size of the overlapping portion between two adjacent frames, and the duration of the overlap refers to the duration of the overlapping portion between two adjacent frames;

[0145] Time-frequency domain transformation factor;

[0146] Neural network sampling factor.

[0147] In some embodiments of this application, the communication method of this application further includes:

[0148] A first indication message is sent, which instructs the first device to determine, based on the second message, a parameter value for calculating the codec rate corresponding to the first codec. For example, the first indication message may indicate a parameter value determined by the first device from at least one parameter value, wherein the at least one parameter value is the same as the first parameter value among the second parameter values ​​of the first parameter.

[0149] The first indication information enables the second device to determine the parameter value selected by the first device, thereby enabling the second device to communicate with the first device based on the parameter value indicated by the first indication information.

[0150] It should be noted that if there is a parameter value in the second parameter of the first parameter that is the same as the first parameter value of the first parameter, the aforementioned first indication information may not be sent.

[0151] In some embodiments of this application, for the first implementation described above, the communication method of this application further includes:

[0152] The first instruction information is added to the header of the voice packet, which is obtained by encoding a frame.

[0153] By adding first indication information to the header of the voice packet, the second device can determine the parameter value selected by the first device before decoding the voice packet data, and select a suitable decoder based on the parameter value.

[0154] In some embodiments of this application, when the second parameter value is a parameter value selected by the second device from the first parameter values, the first device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message, including:

[0155] The encoding / decoding rate corresponding to the first encoding / decoding is determined based on the parameter value selected by the second device from the first parameter values.

[0156] In one optional embodiment, the parameter value selected by the second device from the first parameter values ​​includes the parameter values ​​of one or more parameters in the first parameter set, and the parameter values ​​of the parameter include one or more parameter values. If the parameter values ​​of the parameter include only one parameter value, the first indication information is not sent.

[0157] When the parameter value includes multiple parameter values, determining the edit code rate corresponding to the first edit code based on the parameter value selected by the second device from the first parameter values ​​includes:

[0158] The first device determines a parameter value for each parameter in the first parameter set based on the parameter value selected by the second device from the first parameter values;

[0159] The first device determines the edit code rate corresponding to the first codec based on a parameter value of each parameter in the determined first parameter set.

[0160] The method in this application embodiment also includes:

[0161] Send a first indication message, which is used to instruct the first device to determine the parameter value for calculating the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

[0162] For example, the first device provides a first message in the SDP offer, which includes the number of codebook tiers supported by the calling party, the codebook size, and the aggregation level. The number of codebook tiers can include multiple values, such as 3, 4, 5, and 6; the codebook size can include multiple values, such as 8, 10, and 16; and the aggregation level can include multiple values, such as 1, 2, and 3.

[0163] The second device selects a suitable set of parameter values ​​from the parameter values ​​provided in the first message. Specifically, it selects a codebook layer number, a codebook size, and an aggregation level. For example, it selects 3 codebook layers, 8 codebook sizes, and 3 aggregation levels. The parameter values ​​selected by the second device are the aforementioned second parameter values. The second device feeds back to the first device via the SDP answer. Both communicating devices consistently use the parameters in the SDP answer for communication.

[0164] For example, regarding the first message mentioned above, the second device selects multiple parameter values ​​from the parameter values ​​provided in the first message and sends them to the first device. Specifically, the number of codebook layers is selected as 3 or 4, the codebook size as 8 or 10, and the aggregation level as 1 or 2. Then, the first device determines a set of parameter values ​​based on the multiple parameter values ​​selected by the second device. For example, the number of codebook layers is 3, the codebook size is selected as 8, and the aggregation level is selected as 1, and instructs the second device on the selected set of parameter values ​​through the first instruction information.

[0165] In one embodiment, when the second message includes at least one set of parameter values, and when at least one set of parameter values ​​in the first message and at least one set of parameter values ​​in the second message are the same as at least one set of parameter values, the first device and / or the second device can determine a set of parameter values ​​from the same at least one set of parameter values, and determine the encoding / decoding rate corresponding to the first encoding / decoding based on the determined set of parameter values.

[0166] It should be noted that having the same set of parameter values ​​means that the set of parameter values ​​in the first message is the same as the set of parameter values ​​in the second message.

[0167] In one embodiment, the method by which the first device and the second device determine a set of parameter values ​​from the same at least one set of parameter values ​​includes at least one of the following: determining a set of parameter values ​​based on the priority of the same at least one set of parameter values; and selecting a set of parameter values ​​based on their arrangement position. For example, selecting the set of parameter values ​​with the highest priority, or selecting the set of parameter values ​​that appears first in the arrangement position.

[0168] For example, the first parameter set includes the number of codebook layers, the codebook size, and the aggregation level. The first message includes three sets of parameter values: the first set includes 3 codebook layers supported by the first device, 8 codebook sizes supported by the first device, and 1 aggregation level supported by the first device; the second set includes 4 codebook layers supported by the first device, 10 codebook sizes supported by the first device, and 2 aggregation levels supported by the first device; the third set includes 5 codebook layers supported by the first device, 16 codebook sizes supported by the first device, and 3 aggregation levels supported by the first device. The second message includes two sets of parameter values: the first set includes 3 codebook layers supported by the second device, 8 codebook sizes supported by the second device, and 1 aggregation level supported by the second device; the second set includes 4 codebook layers supported by the second device, 10 codebook sizes supported by the second device, and 2 aggregation levels supported by the second device. The first and second messages contain two sets of identical parameter values: the first set of parameter values ​​includes 3 levels of the codebook, 8 codebook sizes, and 1 supported aggregation level; the second set of parameter values ​​includes 4 levels of the supported codebook, 10 supported codebook sizes, and 2 supported aggregation levels. The first device and / or the second device can select the first set of parameter values ​​with the highest priority.

[0169] In this embodiment, the first device and the second device determine a set of parameter values ​​from the same set of at least one set of parameter values ​​based on the same selection strategy. This ensures the consistency of the set of parameter values ​​selected by the first device and the second device, and eliminates the need to send the first instruction information again, thus reducing signaling overhead.

[0170] The communication method of this application will be described below with reference to embodiments.

[0171] Example 1: A first device provides at least one parameter value from a first parameter set via an SDP offer, wherein each parameter includes at least one parameter value. A second device selects a parameter value from the parameter values ​​provided by the first device for each parameter, obtaining a set of parameter values, and feeds it back to the first device via an SDP answer. Optionally, the second device may select the parameter value randomly, or by selecting the maximum or minimum parameter value.

[0172] Implementation method 1:

[0173] The parameters such as octet-align, codebook-layer, max-codebook-layer, codebook-size, and aggregation-level are carried in a single line 'a'.

[0174] Specifically, the SDP offer includes:

[0175] m = audio 49170RTP / AVP 100;

[0176] a=rtpmap:100AI-CODEC / 16000;

[0177] a=fmtp:100octet-align=1; codebook-layer=3,4,5,6; max-codebook-layer=8;

[0178] codebook-size=8,10,16; aggregation-level=1,2,3;

[0179] a = ptime:40;

[0180] a = maxptime:320;

[0181] a = frame-size: 960;

[0182] a = frame-time:60;

[0183] a = step-size: 640;

[0184] a = step-time:40;

[0185] a = overlap-size: 320;

[0186] a = overlap-time:20;

[0187] a = M:40;

[0188] a = D:8;

[0189] It should be noted that frame-size, frame-time, step-time, step-time, overlap-size, overlap-time, M, and D can also be carried using an attribute (attribute, a) line.

[0190] Here, we take carrying it through line a as an example. It can also be carried through other lines x, such as the bandwidth (b) line, the information (i) line, or by adding an artificial intelligence (AI) line. This application does not restrict this.

[0191] SDP answers include:

[0192] m=audio 49170 RTP / AVP 100;

[0193] a=rtpmap:100 AI-CODEC / 16000;

[0194] a=fmtp:100 octet-align=1; codebook-layer=5; codebook-size=16; aggregation-level=3;

[0195] a=ptime:40;

[0196] a=frame-size:960;

[0197] a=frame-time:60;

[0198] a=step-size:640;

[0199] a=step-time:40;

[0200] a=overlap-size:320;

[0201] a=overlap-time:20;

[0202] a=M:40;

[0203] a=D:8;

[0204] Implementation 2:

[0205] A plurality of a lines carry parameters such as octet-align, codebook-layer, max-codebook-layer, codebook-size, and aggregation-level.

[0206] The SDP offer includes:

[0207] m=audio 49170 RTP / AVP 100;

[0208] a=rtpmap:100 AI-CODEC / 16000;

[0209] a=octet-align:1;

[0210] a=codebook-layer:3,4,5,6;

[0211] a=max-codebook-layer:8;

[0212] a=codebook-size:8,10,16;

[0213] a=aggregation-level:1,2,3;

[0214] a=ptime:40

[0215] a=maxptime:320

[0216] a=frame-size:960;

[0217] a=frame-time:60;

[0218] a=overlap-size:320;

[0219] a=overlap-time:20;

[0220] a=M:40;

[0221] a=D:8.

[0222] The SDP answer comprises:

[0223] m=audio 49170 RTP / AVP 100;

[0224] a=rtpmap:100 AI-CODEC / 16000;

[0225] a=octet-align:1;

[0226] a=codebook-layer:5;

[0227] a=max-codebook-layer:8;

[0228] a=codebook-size:16;

[0229] a=aggregation-level:3; a=ptime:40

[0230] a=frame-size:960;

[0231] a=frame-time:60;

[0232] a=overlap-size:320;

[0233] a=overlap-time:20;

[0234] a=M:40;

[0235] a = D:8.

[0236] Example 2: A first device provides at least one set of parameter values ​​from a first parameter set via an SDP offer, wherein each set of parameter values ​​includes one parameter value for each parameter in the first parameter set; a second device provides at least one set of parameter values ​​from a first parameter set supported by the second device via an SDP answer, wherein each set of parameter values ​​includes one parameter value for each parameter in the first parameter set. The first and second devices use the same first selection strategy to select a set of parameter values ​​that both support. This first selection strategy may include at least one of the following: selecting the set of parameter values ​​with the highest priority; selecting the set of parameter values ​​that appears first in the order of priority.

[0237] Specifically, the SDP offer includes:

[0238] m=audio 49170RTP / AVP 100 101 102;

[0239] a=rtpmap:100AI-CODEC / 8000;

[0240] a=fmtp:100octet-align=1; codebook-layer=3; codebook-size=8; aggregation-level=1;

[0241] a=rtpmap:101AI-CODEC / 8000;

[0242] a=fmtp:101octet-align=1; codebook-layer=4; codebook-size=10; aggregation-level=2;

[0243] a=rtpmap:102AI-CODEC / 8000;

[0244] a=fmtp:102octet-align=1; codebook-layer=5; codebook-size=16; aggregation-level=3;

[0245] a = ptime:80;

[0246] a = maxptime:320;

[0247] a = frame-size: 640;

[0248] a = frame-time:80;

[0249] a = step-size: 640;

[0250] a = step-time: 80;

[0251] a = M:40;

[0252] a = D:8;

[0253] SDP answers include:

[0254] m=audio 49170RTP / AVP 100 101;

[0255] a=rtpmap:100AI-CODEC / 8000;

[0256] a=fmtp:100octet-align=1; codebook-layer=3; codebook-size=8; aggregation-level=1;

[0257] a=rtpmap:101AI-CODEC / 8000;

[0258] a=fmtp:101octet-align=1; codebook-layer=4; codebook-size=10; aggregation-level=2;

[0259] a = ptime:80;

[0260] a = frame-size: 640;

[0261] a = frame-time:80;

[0262] a = step-size: 640;

[0263] a = step-time: 80;

[0264] a = M:40;

[0265] a = D:8;

[0266] It should be noted that, similar to Example 1, frame-size, frame-time, step-size, step-time, M, and D can be carried using multiple lines a or a single line a.

[0267] Example 3: A first device provides at least one parameter value from a first set of parameters supported by the first device via an SDP offer, wherein each parameter includes at least one parameter value; a second device provides multiple parameter values ​​from the first set of parameters supported by the second device, wherein each parameter includes at least one parameter value, and feeds this information back to the first device via an SDP answer. The first device selects a parameter value supported by both devices for each parameter in the first set, obtaining a set of parameter values, and notifies the second device of this set of parameter values ​​using a first indication message. Optionally, the second device may select parameter values ​​randomly, or by selecting the maximum or minimum parameter value.

[0268] Specifically, the SDP offer includes:

[0269] m = audio 49170RTP / AVP 100;

[0270] a=rtpmap:100AI-CODEC / 8000;

[0271] a=fmtp:100octet-align=1; codebook-layer=3,4,5,6; codebook-size=8,10,16;

[0272] aggregation-level = 1, 2, 3;

[0273] a = ptime:80;

[0274] a = maxptime:320;

[0275] a = frame-size: 640;

[0276] a = frame-time:80;

[0277] a = step-size: 640;

[0278] a = step-time: 80;

[0279] a = M:40;

[0280] a = D:8;

[0281] SDP answers include:

[0282] m = audio 49170RTP / AVP 100;

[0283] a=rtpmap:100AI-CODEC / 8000;

[0284] a=fmtp:100octet-align=1; codebook-layer=5,6; codebook-size=10,16;

[0285] aggregation-level = 2,3;

[0286] a = ptime:80;

[0287] a = frame-size: 640;

[0288] a = frame-time:80;

[0289] a = step-size: 640;

[0290] a = step-time: 80;

[0291] a = M:40;

[0292] a = D:8;

[0293] It should be noted that, similar to Example 1, frame-size, frame-time, step-size, step-time, M, and D can be carried using multiple lines a or a single line a.

[0294] It should be noted that after the first device receives multiple sets of parameter values ​​carried by the SDP answer, it can randomly select either the set of parameter values ​​with the largest value or the set of parameter values ​​with the smallest value.

[0295] Example 4: A first device provides at least one parameter value from a first parameter set via an SDP offer, wherein each parameter includes at least one parameter value. A second device provides multiple parameter values ​​from the first parameter set supported by the second device via an SDP answer, wherein each parameter includes at least one parameter value. For each parameter in the first parameter set, the first and second devices select a parameter value from the mutually supported parameter values ​​using the same first selection strategy, thus obtaining a set of parameter values. This first selection strategy may include: selecting the parameter value with the largest value, selecting the parameter value with the smallest value, or selecting the parameter value that appears first in the order of the parameters.

[0296] Specifically, the SDP offer includes:

[0297] m = audio 49170RTP / AVP 100;

[0298] a=rtpmap:100AI-CODEC / 8000;

[0299] a=fmtp:100 octet-align=1; codebook-layer=3,4,5,6; max-codebook-layer=8;

[0300] codebook-size=8,10,16; aggregation-level=1,2,3;

[0301] a=ptime:80;

[0302] a=maxptime:320;

[0303] a=frame-size:640;

[0304] a=frame-time:80;

[0305] a=step-size:640;

[0306] a=step-time:80;

[0307] a=M:40;

[0308] a=D:8;

[0309] The SDP answer includes:

[0310] m=audio 49170 RTP / AVP 100;

[0311] a=rtpmap:100 AI-CODEC / 8000;

[0312] a=fmtp:100 octet-align=1; codebook-layer=5,6,7; codebook-size=16,32;

[0313] aggregation-level=2,3;

[0314] a=ptime:80;

[0315] a=frame-size:640;

[0316] a=frame-time:80;

[0317] a=step-size:640;

[0318] a=step-time:80;

[0319] a=M:40;

[0320] a = D:8;

[0321] It should be noted that, similar to Example 1, frame-size, frame-time, step-size, step-time, M, and D can be carried using multiple lines a or a single line a.

[0322] The solution in this application embodiment, based on the characteristics of AI encoding and decoding, allows the communicating parties to interact with relevant parameters, making it easier and more flexible for both parties to select appropriate parameters for communication.

[0323] like Figure 2 As shown in the embodiments of this application, a communication method is also provided, including:

[0324] Step 201: The second device obtains the first message sent by the first device. The first message includes the first parameter value of each parameter in the first parameter set. The first parameter value is used to calculate the encoding and decoding rate corresponding to the first encoding and decoding supported by the first device. The first encoding and decoding includes AI-based encoding and decoding.

[0325] The first device in this application embodiment includes a first terminal, and the second device includes a second terminal or a network-side device. For example, the network-side device may be a P-CSCF or an IMS application server (AS).

[0326] In some embodiments of this application, the first encoding / decoding described above may be encoding / decoding of voice data or encoding / decoding of video data.

[0327] In some embodiments of this application, the first encoding / decoding described above may be encoding / decoding of voice data or encoding / decoding of video data.

[0328] In some implementations, each parameter in the first parameter set includes one or more first parameter values. It can be understood that the first parameter value for each parameter includes one or more values.

[0329] For example, the first parameter set includes two parameters, and the first message includes one or more first parameter values ​​of the first parameter and one or more first parameter values ​​of the second parameter.

[0330] In some implementations, the first parameter value can be the first parameter value of one or more parameters in the first parameter set, and the first parameter value of each parameter includes one or more values.

[0331] For example, the first parameter set includes the first parameter, and the first parameter value of the first parameter may include one or more values ​​of the first parameter.

[0332] As another optional implementation, the first message includes at least one set of parameter values, each set of parameter values ​​including one parameter value for each parameter in the first parameter set. It is understood that the first parameter value for each parameter in the first parameter set included in the first message can be a set of indications. The parameter value for each parameter included in each set of parameter values ​​in the first message is a parameter value supported by the first device.

[0333] For example, the first parameter set includes the number of codebook layers, the codebook size, and the aggregation level. The first message includes three sets of parameter values: the first set of parameter values ​​includes: the number of codebook layers supported by the first device (3), the size of the codebook supported by the first device (8), and the aggregation level supported by the first device (1); the second set of parameter values ​​includes: the number of codebook layers supported by the first device (4), the size of the codebook supported by the first device (10), and the aggregation level supported by the first device (2); and the third set of parameter values ​​includes: the number of codebook layers supported by the first device (5), the size of the codebook supported by the first device (16), and the aggregation level supported by the first device (3). Optionally, the first message also includes: the priority of each set of parameter values ​​in the at least one set of parameter values. For example, the priority of the first set of parameter values ​​is 1, the priority of the second set of parameter values ​​is 2, and the priority of the third set of parameter values ​​is 3.

[0334] Step 202: The second device sends a second message to the first device according to the first message, wherein the second message contains the second parameter value of each parameter in the first parameter set, and the second parameter value is used to calculate the encoding and decoding rate corresponding to the first encoding and decoding supported by the second device;

[0335] In some embodiments of this application, the second parameter value can be the second parameter value of one or more parameters in the first parameter set, and the second parameter value of each parameter includes one or more values.

[0336] For example, the first parameter set includes a first parameter and a second parameter, the second parameter value includes the second parameter value of the first parameter and the second parameter value of the second parameter, the second parameter value of the first parameter may include one or more values ​​of the first parameter, and the second parameter value of the second parameter may include one or more values ​​of the first parameter.

[0337] As an optional implementation, the second message includes at least one set of parameter values, each set of parameter values ​​including one parameter value for each parameter in the first parameter set. It is understood that the first parameter value for each parameter in the first parameter set included in the second message can be a set of indications.

[0338] In one implementation, the second message includes at least one set of parameter values ​​that are supported by the second device. It can be understood that the parameter values ​​of each parameter included in each set of parameter values ​​in the second message are parameter values ​​supported by the second device.

[0339] In this embodiment of the application, after receiving the first message, the second device sends a second message to the first device, so that the first device can determine the relevant parameters of the codec rate corresponding to the first codec supported by the second device based on the second message.

[0340] In some embodiments of this application, the first message is carried by a Session Description Protocol (SDP) proposal, and the second message is carried by an SDP response.

[0341] Step 203: The second device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

[0342] In this embodiment, a first message enables the second device to obtain relevant parameter information for calculating the codec rate corresponding to the first codec supported by the first device, and a second message enables the first device to obtain relevant parameter information for calculating the codec rate corresponding to the first codec supported by the second device. This achieves the purpose of the first device and the second device exchanging relevant parameter information on the codec rate corresponding to the first codec. This facilitates subsequent communication between the two parties based on the exchanged parameter information and avoids communication failures due to the inability to decrypt the communication information.

[0343] In some implementations of this application, the parameters in the first parameter set include at least one of the following:

[0344] The number of layers in the codebook;

[0345] Codebook size;

[0346] Aggregation level, wherein the aggregation level is a neural network encoding / decoding unit;

[0347] Forward duration, which indicates the duration of a frame during AI-based encoding and decoding.

[0348] In some embodiments of this application, the parameters in the first parameter set further include at least one of the following:

[0349] Maximum supported codebook depth;

[0350] The size or duration of a frame;

[0351] The magnitude of the overlap or the duration of the overlap, wherein the magnitude of the overlap refers to the size of the overlapping portion between two adjacent frames, and the duration of the overlap refers to the duration of the overlapping portion between two adjacent frames;

[0352] Time-frequency domain transformation factor;

[0353] Neural network sampling factor.

[0354] It should be noted that the parameters in the first parameter set have been described in detail in the method embodiment on the first device side, and will not be repeated here.

[0355] In some embodiments of this application, as a first implementation: the second parameter value is the parameter value selected by the second device from the first parameter values;

[0356] Alternatively, as a second implementation: the second parameter value includes parameter values ​​related to the first codec supported by the second device.

[0357] Optionally, in the first implementation described above, where the second parameter value is a parameter value selected by the second device from the first parameter values, the second parameter value can be the second parameter value of one or more parameters in the first parameter set, with each parameter having a single second parameter value. This can be understood as the second parameter value of the first parameter in the first parameter set being a parameter value selected by the second device from the first parameter values ​​of the first parameter.

[0358] For example, the first parameter in the first parameter set includes the number of layers in the codebook, and the first parameter value for the number of layers in the codebook includes 3, 4, 5, and 6. The second parameter value for the number of layers in the codebook is 3, which is selected by the second device from the first parameter values.

[0359] In one optional implementation, the second message includes a set of parameter values ​​selected by the second device. Specifically, the second device selects a set of parameter values ​​from at least one set of parameter values ​​sent by the first device.

[0360] In one implementation, the method by which the second device selects a set of parameter values ​​from at least one set of parameter values ​​sent by the first device may include at least one of the following: selecting a set of parameter values ​​based on the priority of each set of parameter values; and selecting a set of parameter values ​​based on their arrangement position. For example, selecting the set of parameter values ​​with the highest priority, or selecting the set of parameter values ​​that appears first in the arrangement position.

[0361] For example, the first parameter set includes the number of codebook layers, the codebook size, and the aggregation level. The first message includes three sets of parameter values: the first set includes: the number of codebook layers supported by the first device (3), the codebook size supported by the first device (8), and the aggregation level supported by the first device (1); the second set includes: the number of codebook layers supported by the first device (4), the codebook size supported by the first device (10), and the aggregation level supported by the first device (2); and the third set includes: the number of codebook layers supported by the first device (5), the codebook size supported by the first device (16), and the aggregation level supported by the first device (3). The second device can select the set of parameter values ​​with the highest priority from the three sets, for example, selecting the first set of parameter values.

[0362] Optionally, in the second implementation described above, where the second parameter value includes parameter values ​​related to the first encoding / decoding supported by the second device, the second parameter value can be the second parameter value of one or more parameters in the first parameter set, and the second parameter value of each parameter includes one or more values. For example, the parameters in the first parameter set include the number of layers in the codebook, and the second parameter value for the number of layers in the codebook includes 5, 6, and 7.

[0363] In the first implementation described above, the second device can select a parameter value from the first parameter values ​​supported by the first device as the communication parameter value. In the second implementation described above, the first device can select a parameter value supported by both the first parameter value supported by the first device and the second parameter value supported by the second device for communication. Therefore, the solution of this application embodiment enables both communicating parties to flexibly select appropriate parameters for communication.

[0364] In some embodiments of this application, the second device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message, including:

[0365] The second device obtains first indication information according to the second message. The first indication information is used to indicate the parameter value determined by the first device according to the second message for calculating the encoding and decoding rate corresponding to the first encoding and decoding.

[0366] The encoding / decoding rate corresponding to the first encoding / decoding is determined based on the parameter value indicated by the first indication information.

[0367] In some embodiments of this application, obtaining the first indication information includes:

[0368] The first indication information is obtained from the header of the voice packet, which is obtained by encoding a frame.

[0369] The first implementation method has been described in detail in the method embodiment on the first device side, and will not be repeated here.

[0370] In some embodiments of this application, when the second parameter value is a parameter value selected by the second device from the first parameter values, the second device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message, including:

[0371] The first codec rate is determined based on the parameter value selected by the second device from the first parameter values, wherein the parameter value selected by the second device is a parameter value related to the first codec supported by the second device.

[0372] This embodiment has been described in detail in the method embodiment on the first device side, and will not be repeated here.

[0373] In some embodiments of this application, when the second parameter value includes parameter values ​​related to the first codec supported by the second device, the second device determines the codec rate corresponding to the first codec based on the second message, including:

[0374] If at least one parameter value in the second parameter value of the first parameter is the same as the first parameter value of the first parameter, a parameter value is determined from the at least one same parameter value, and the first parameter includes any one parameter in the first parameter set;

[0375] The encoding / decoding rate corresponding to the first encoding / decoding is determined based on a parameter value determined from at least one of the same parameter values.

[0376] In this embodiment of the application, when the parameter values ​​of the parameters in the first parameter set include at least one set of parameter values ​​for each parameter in the first parameter set, the second device determines a parameter value from the same at least one parameter value according to the first selection strategy. The first selection strategy may include at least one of the following: randomly selecting a parameter value; selecting the parameter value with the largest value or the parameter value with the smallest value, or selecting the parameter value that appears first in the order of arrangement.

[0377] It should be noted that the first selection strategy used by the first device is the same as the first selection strategy used by the second device.

[0378] In one embodiment, when the second message includes at least one set of parameter values, and when at least one set of parameter values ​​in the first message and at least one set of parameter values ​​in the second message are the same as at least one set of parameter values, the first device and / or the second device can determine a set of parameter values ​​from the same at least one set of parameter values, and determine the encoding / decoding rate corresponding to the first encoding / decoding based on the determined set of parameter values.

[0379] It should be noted that having the same set of parameter values ​​means that the set of parameter values ​​in the first message is the same as the set of parameter values ​​in the second message.

[0380] In one embodiment, the method by which the first device and the second device determine a set of parameter values ​​from the same at least one set of parameter values ​​includes at least one of the following: determining a set of parameter values ​​based on the priority of the same at least one set of parameter values; and selecting a set of parameter values ​​based on their arrangement position. For example, selecting the set of parameter values ​​with the highest priority, or selecting the set of parameter values ​​that appears first in the arrangement position.

[0381] For example, the first parameter set includes the number of codebook layers, the codebook size, and the aggregation level. The first message includes three sets of parameter values: the first set includes 3 codebook layers supported by the first device, 8 codebook sizes supported by the first device, and 1 aggregation level supported by the first device; the second set includes 4 codebook layers supported by the first device, 10 codebook sizes supported by the first device, and 2 aggregation levels supported by the first device; the third set includes 5 codebook layers supported by the first device, 16 codebook sizes supported by the first device, and 3 aggregation levels supported by the first device. The second message includes two sets of parameter values: the first set includes 3 codebook layers supported by the second device, 8 codebook sizes supported by the second device, and 1 aggregation level supported by the second device; the second set includes 4 codebook layers supported by the second device, 10 codebook sizes supported by the second device, and 2 aggregation levels supported by the second device. The first and second messages contain two sets of identical parameter values: the first set of parameter values ​​includes 3 levels of the codebook, 8 codebook sizes, and 1 supported aggregation level; the second set of parameter values ​​includes 4 levels of the supported codebook, 10 supported codebook sizes, and 2 supported aggregation levels. The first device and / or the second device can select the first set of parameter values ​​with the highest priority.

[0382] In this embodiment, the first device and the second device determine a set of parameter values ​​from the same set of at least one set of parameter values ​​based on the same selection strategy. This ensures the consistency of the set of parameter values ​​selected by the first device and the second device, and eliminates the need to send the first instruction information again, thus reducing signaling overhead.

[0383] In this embodiment, a first message enables the second device to obtain relevant parameter information for calculating the codec rate corresponding to the first codec supported by the first device, and a second message enables the first device to obtain relevant parameter information for calculating the codec rate corresponding to the first codec supported by the second device. This achieves the purpose of the first device and the second device exchanging relevant parameter information on the codec rate corresponding to the first codec. This facilitates subsequent communication between the two parties based on the exchanged parameter information and avoids communication failures due to the inability to decrypt the communication information.

[0384] The communication method provided in this application can be executed by a communication device. As an example, the device can be an electronic device or a component within an electronic device, such as a chip or circuit. This application uses the execution of the communication method by a communication device as an example to illustrate the communication device provided in this application.

[0385] like Figure 3 As shown, this application provides a communication device 300, including:

[0386] The first sending module 301 is used to send a first message to the second device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to a first encoding / decoding supported by the communication device. The first encoding / decoding includes encoding / decoding based on artificial intelligence (AI).

[0387] The first receiving module 302 is used to obtain a second message from the second device. The second message includes a second parameter value for each parameter in the first parameter set. The second parameter value is used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the second device.

[0388] The first processing module 303 is used to determine the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

[0389] In some embodiments of this application, the parameters in the first parameter set include at least one of the following:

[0390] The number of layers in the codebook;

[0391] Codebook size;

[0392] Aggregation level, wherein the aggregation level is the aggregation level of the neural network encoding and decoding unit;

[0393] Forward duration, which indicates the duration of a frame during AI-based encoding and decoding.

[0394] In some embodiments of this application, the parameters in the first parameter set further include at least one of the following:

[0395] Maximum supported codebook depth;

[0396] The size or duration of a frame;

[0397] The magnitude of the overlap or the duration of the overlap, wherein the magnitude of the overlap refers to the size of the overlapping portion between two adjacent frames, and the duration of the overlap refers to the duration of the overlapping portion between two adjacent frames;

[0398] Time-frequency domain transformation factor;

[0399] Neural network sampling factor.

[0400] In some embodiments of this application, the second parameter value is the parameter value selected by the second device from the first parameter values;

[0401] Alternatively, the second parameter value may include parameter values ​​related to the first codec supported by the second device.

[0402] In some embodiments of this application, where the second parameter value includes parameter values ​​related to the first codec supported by the second device, the first processing module is configured to:

[0403] If at least one parameter value in the second parameter value of the first parameter is the same as the first parameter value of the first parameter, a parameter value is determined from the at least one same parameter value, and the first parameter includes any one parameter in the first parameter set;

[0404] The encoding / decoding rate corresponding to the first encoding / decoding is determined based on a parameter value determined from at least one of the same parameter values.

[0405] In some embodiments of this application, when the second parameter value is a parameter value selected by the second device from the first parameter values, the first processing module is used to:

[0406] The encoding / decoding rate corresponding to the first encoding / decoding is determined based on the parameter value selected by the second device from the first parameter values.

[0407] In some embodiments of this application, it also includes:

[0408] The second sending module is used to send first indication information, which instructs the first device to determine the parameter value for calculating the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

[0409] In some embodiments of this application, it also includes:

[0410] The second processing module is used to add the first indication information to the header of the voice packet, wherein the voice packet is obtained by encoding a frame.

[0411] In some embodiments of this application, the first message is carried by a Session Description Protocol (SDP) proposal, and the second message is carried by an SDP response.

[0412] like Figure 4 As shown, this application embodiment also provides a communication device 400, including:

[0413] The second receiving module 401 is used to acquire a first message sent by the first device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the communication device. The first encoding / decoding includes AI-based encoding / decoding.

[0414] The third sending module 402 is used to send a second message to the first device according to the first message, wherein the second message contains a second parameter value for each parameter in the first parameter set, and the second parameter value is used to calculate the encoding and decoding rate corresponding to the first encoding and decoding supported by the second device.

[0415] The third processing module 403 is used to determine the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

[0416] In some embodiments of this application, the parameters in the first parameter set include at least one of the following:

[0417] The number of layers in the codebook;

[0418] Codebook size;

[0419] Aggregation level, wherein the aggregation level is a neural network encoding / decoding unit;

[0420] Forward duration, which indicates the duration of a frame during AI-based encoding and decoding.

[0421] In some embodiments of this application, the parameters in the first parameter set further include at least one of the following:

[0422] Maximum supported codebook depth;

[0423] The size or duration of a frame;

[0424] The magnitude of the overlap or the duration of the overlap, wherein the magnitude of the overlap refers to the size of the overlapping portion between two adjacent frames, and the duration of the overlap refers to the duration of the overlapping portion between two adjacent frames;

[0425] Time-frequency domain transformation factor;

[0426] Neural network sampling factor.

[0427] In some embodiments of this application, the second parameter value is the parameter value selected by the second device from the first parameter values;

[0428] Alternatively, the second parameter value may include parameter values ​​related to the first codec supported by the second device.

[0429] In some embodiments of this application, the third processing module is used for:

[0430] According to the second message, first indication information is obtained, and the first indication information is used to instruct the first device to determine the parameter value for calculating the encoding and decoding rate corresponding to the first encoding and decoding according to the second message;

[0431] The encoding / decoding rate corresponding to the first encoding / decoding is determined based on the parameter value indicated by the first indication information.

[0432] In some embodiments of this application, the third processing module is used for:

[0433] The first indication information is obtained from the header of the voice packet, which is obtained by encoding a frame.

[0434] In some embodiments of this application, when the second parameter value is a parameter value selected by the second device from the first parameter values, the third processing module is used to:

[0435] The first codec rate is determined based on the parameter value selected by the second device from the first parameter values, wherein the parameter value selected by the second device is a parameter value related to the first codec supported by the second device.

[0436] In some embodiments of this application, where the second parameter value includes parameter values ​​supported by the second device related to the first codec, a fourth processing module is further included for:

[0437] If at least one parameter value in the second parameter value of the first parameter is the same as the first parameter value of the first parameter, a parameter value is determined from the at least one same parameter value, and the first parameter includes any one parameter in the first parameter set;

[0438] The encoding / decoding rate corresponding to the first encoding / decoding is determined based on a parameter value determined from at least one of the same parameter values.

[0439] In some embodiments of this application, the first message is carried by a Session Description Protocol (SDP) proposal, and the second message is carried by an SDP response.

[0440] In this embodiment, the first message enables the second device to obtain relevant parameter information for calculating the codec rate corresponding to the first codec supported by the first device, and the second message enables the first device to obtain relevant parameter information for calculating the codec rate corresponding to the first codec supported by the second device. This achieves the purpose of the first device and the second device exchanging relevant parameter information on the codec rate corresponding to the first codec. This facilitates subsequent communication between the two parties based on the exchanged parameter information and avoids communication failures due to the inability to decrypt the communication information.

[0441] The communication device provided in this application embodiment can achieve... Figures 1 to 2 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.

[0442] like Figure 5 As shown, this application embodiment also provides an electronic device 500, including a processor 501 and a memory 502. The memory 502 stores a program or instructions that can run on the processor 501. For example, when the electronic device 500 is an encoding device, the program or instructions executed by the processor 501 implement the various steps of the communication method embodiment executed by the first device described above, and can achieve the same technical effect. When the electronic device 500 is a decoding device, the program or instructions executed by the processor 501 implement the various steps of the communication method embodiment executed by the second device described above, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0443] This application also provides an electronic device, including: a memory configured to store video data; and a processing circuit configured to implement the steps of the communication method embodiments described above.

[0444] This application embodiment also provides an electronic device, including a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement, for example... Figure 1 or Figure 2 The steps in the method embodiment shown are illustrated. This device embodiment corresponds to the above method embodiment, and all implementation processes and methods of the above method embodiments can be applied to this terminal embodiment and achieve the same technical effect.

[0445] The processor or processing circuit in this application embodiment may include general-purpose processors, special-purpose processors, etc., such as central processing units (CPUs), microprocessors, digital signal processors (DSPs), artificial intelligence (AI) processors, graphics processing units (GPUs), application-specific integrated circuits (ASICs), network processors (NPs), field-programmable gate arrays (FPGAs), or other programmable logic devices, gate circuits, transistors, discrete hardware components, etc. The communication interface in this application embodiment may include transceivers, pins, circuits, buses, etc.

[0446] The aforementioned electronic devices can be terminals or other devices besides terminals, such as servers, network attached storage (NAS), etc.

[0447] Among them, the terminal can also be called user equipment (UE), which can be a mobile phone, tablet computer, laptop computer, notebook computer, personal digital assistant (PDA), handheld computer, netbook, ultra-mobile personal computer (UMPC), mobile internet device (MID), augmented reality (AR), virtual reality (VR) device, mixed reality (MR) device, robot, wearable device, flight vehicle, vehicle user equipment (VUE), shipborne equipment, pedestrian user equipment (PUE), smart home (home devices with wireless communication functions, such as refrigerators, televisions, washing machines or furniture, etc.), game console, personal computer (PC), ATM or self-service machine, etc. Wearable devices include: smartwatches, smart bracelets, smart earphones, smart glasses, smart jewelry (smart bracelets, smart chains, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. Among these, in-vehicle devices can also be referred to as in-vehicle terminals, in-vehicle controllers, in-vehicle modules, in-vehicle components, in-vehicle chips, or in-vehicle units, etc. It should be noted that the embodiments in this application do not limit the specific type of terminal.

[0448] A server can be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server. A cloud server can provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), or cloud computing services based on big data and artificial intelligence platforms.

[0449] Taking electronic devices as terminals as an example, Figure 6 A schematic diagram of the hardware structure of a terminal to implement an embodiment of this application.

[0450] The terminal 600 includes, but is not limited to, at least some of the following components: radio frequency unit 601, network module 602, audio output unit 603, input unit 604, sensor 605, display unit 606, user input unit 607, interface unit 608, memory 609, and processor 610.

[0451] Those skilled in the art will understand that the terminal 600 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 610 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 6 The terminal structure shown does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.

[0452] It should be understood that, in this embodiment, the input unit 604 may include a graphics processor 6041 and a microphone 6042. The graphics processor 6041 processes image data of static images or videos obtained by an image acquisition device (such as a camera) in video acquisition mode or image acquisition mode, or it may process the obtained point cloud data. The display unit 606 may include a display panel 6061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit 607 includes at least one of a touch panel 6071 and other input devices 6072. The touch panel 6071 is also called a touch screen. The touch panel 6071 may include two parts: a touch detection device and a touch controller. Other input devices 6072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.

[0453] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 601 can transmit it to the processor 610 for processing; in addition, the radio frequency unit 601 can send uplink data to the network-side device. Typically, the radio frequency unit 601 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, duplexers, etc.

[0454] The memory 609 can be used to store software programs or instructions, as well as various data. The memory 609 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 609 may include volatile memory or non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 609 in this embodiment includes, but is not limited to, these and any other suitable types of memory.

[0455] Processor 610 may include one or more processing units; optionally, processor 610 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 610.

[0456] In one embodiment of this application, a radio frequency unit 601 is configured to send a first message to a second device, the first message including a first parameter value for each parameter in a first parameter set, the first parameter value being used to calculate a codec rate corresponding to a first codec supported by the first device, wherein the first codec includes an AI-based codec; acquire a second message from the second device, the second message including a second parameter value for each parameter in the first parameter set, the second parameter value being used to calculate a codec rate corresponding to the first codec supported by the second device; and a processor 610 is configured to determine the codec rate corresponding to the first codec based on the second message.

[0457] In one embodiment of this application, a radio frequency unit 601 is configured to acquire a first message sent by a first device, the first message including a first parameter value for each parameter in a first parameter set, the first parameter value being used to calculate the encoding / decoding rate corresponding to the first codec supported by the first device, the first codec including AI-based encoding / decoding; based on the first message, a second message is sent to the first device, the second message including a second parameter value for each parameter in the first parameter set, the second parameter value being used to calculate the encoding / decoding rate corresponding to the first codec supported by the second device; and a processor 610 is configured to determine the encoding / decoding rate corresponding to the first codec based on the second message.

[0458] In this embodiment, the first message enables the second device to obtain relevant parameter information for calculating the codec rate corresponding to the first codec supported by the first device, and the second message enables the first device to obtain relevant parameter information for calculating the codec rate corresponding to the first codec supported by the second device. This achieves the purpose of the first device and the second device exchanging relevant parameter information on the codec rate corresponding to the first codec. This facilitates subsequent communication between the two parties based on the exchanged parameter information and avoids communication failures due to the inability to decrypt the communication information.

[0459] It is understood that the implementation process of each implementation method mentioned in this embodiment can refer to the relevant description of the communication method in the method embodiment and achieve the same or corresponding technical effect. To avoid repetition, it will not be described again here.

[0460] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described communication method embodiments and achieve the same technical effects. To avoid repetition, they will not be described again here.

[0461] The processor mentioned above is the processor in the terminal described in the above embodiments. The readable storage medium includes computer-readable storage media, such as ROM, RAM, magnetic disk, or optical disk. In some examples, the readable storage medium may be a non-transient readable storage medium.

[0462] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described communication method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0463] It should be understood that the chips mentioned in the embodiments of this application may include system-on-a-chip (also known as system chip, chip system, or system-on-a-chip) or discrete display chips, etc.

[0464] This application also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above-described communication method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0465] This application also provides a communication system, including: an encoding end device and a decoding end device. The encoding end device can be used to execute the steps of the communication method executed by the first device as described above, and the decoding end device can be used to execute the steps of the communication method executed by the second device as described above.

[0466] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0467] From the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of computer software products plus necessary general-purpose hardware platforms, and of course, they can also be implemented by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, magnetic disk, optical disk, etc.), and the computer software product includes several instructions to cause the terminal or network-side device to execute the methods described in the various embodiments of this application.

[0468] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other implementations under the guidance of this application without departing from the spirit and scope of the claims. All of these implementations are within the protection scope of this application.

Claims

1. A communication method, characterized in that, include: The first device sends a first message to the second device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to a first encoding / decoding supported by the first device. The first encoding / decoding includes encoding / decoding based on artificial intelligence (AI). The first device receives a second message from the second device. The second message includes a second parameter value for each parameter in the first parameter set. The second parameter value is used to calculate the codec rate corresponding to the first codec supported by the second device. The first device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

2. The method according to claim 1, characterized in that, The parameters in the first parameter set include at least one of the following: The number of layers in the codebook; Codebook size; Aggregation level, wherein the aggregation level is the aggregation level of the neural network encoding and decoding unit; Forward duration, which indicates the duration of a frame during AI-based encoding and decoding.

3. The method according to claim 2, characterized in that, The parameters in the first parameter set also include at least one of the following: The size or duration of a frame; The magnitude of the overlap or the duration of the overlap, wherein the magnitude of the overlap refers to the size of the overlapping portion between two adjacent frames, and the duration of the overlap refers to the duration of the overlapping portion between two adjacent frames; Time-frequency domain transformation factor; Neural network sampling factor.

4. The method according to any one of claims 1 to 3, characterized in that, The second parameter value is the parameter value selected by the second device from the first parameter value; Alternatively, the second parameter value may include parameter values ​​related to the first codec supported by the second device.

5. The method according to claim 4, characterized in that, When the second parameter value includes parameter values ​​related to the first codec supported by the second device, the first device determines the codec rate corresponding to the first codec based on the second message, including: If at least one parameter value in the second parameter value of the first parameter is the same as the first parameter value of the first parameter, a parameter value is determined from the at least one same parameter value, and the first parameter includes any one parameter in the first parameter set; The encoding / decoding rate corresponding to the first encoding / decoding is determined based on a parameter value determined from at least one of the same parameter values.

6. The method according to claim 4, characterized in that, When the second parameter value is the parameter value selected by the second device from the first parameter values, the first device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message, including: The encoding / decoding rate corresponding to the first encoding / decoding is determined based on the parameter value selected by the second device from the first parameter values.

7. The method according to claim 5 or 6, characterized in that, Also includes: Send a first indication message, which is used to instruct the first device to determine the parameter value for calculating the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

8. The method according to claim 7, characterized in that, Also includes: The first instruction information is added to the header of the voice packet, which is obtained by encoding a frame.

9. The method according to any one of claims 1 to 8, characterized in that, The first message is carried by a Session Description Protocol (SDP) proposal, and the second message is carried by an SDP response.

10. A communication method, characterized in that, include: The second device acquires a first message sent by the first device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to a first encoding / decoding supported by the first device. The first encoding / decoding includes AI-based encoding / decoding. The second device sends a second message to the first device according to the first message, wherein the second message contains a second parameter value for each parameter in the first parameter set, and the second parameter value is used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the second device; The second device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

11. The method according to claim 10, characterized in that, The parameters in the first parameter set include at least one of the following: The number of layers in the codebook; Codebook size; Aggregation level, wherein the aggregation level is a neural network encoding / decoding unit; Forward duration, which indicates the duration of a frame during AI-based encoding and decoding.

12. The method according to claim 11, characterized in that, The parameters in the first parameter set also include at least one of the following: The size or duration of a frame; The magnitude of the overlap or the duration of the overlap, wherein the magnitude of the overlap refers to the size of the overlapping portion between two adjacent frames, and the duration of the overlap refers to the duration of the overlapping portion between two adjacent frames; Time-frequency domain transformation factor; Neural network sampling factor.

13. The method according to any one of claims 10 to 12, characterized in that, The second parameter value is the parameter value selected by the second device from the first parameter value; Alternatively, the second parameter value may include parameter values ​​related to the first codec supported by the second device.

14. The method according to claim 13, characterized in that, include: The second device obtains first indication information according to the second message. The first indication information is used to indicate the parameter value determined by the first device according to the second message for calculating the encoding and decoding rate corresponding to the first encoding and decoding. The encoding / decoding rate corresponding to the first encoding / decoding is determined based on the parameter value indicated by the first indication information.

15. The method according to claim 14, characterized in that, The acquisition of the first indication information includes: The first indication information is obtained from the header of the voice packet, which is obtained by encoding a frame.

16. The method according to claim 13, characterized in that, When the second parameter value is the parameter value selected by the second device from the first parameter values, the second device determines the encoding / decoding rate corresponding to the first encoding / decoding based on the second message, including: The first codec rate is determined based on the parameter value selected by the second device from the first parameter values, wherein the parameter value selected by the second device is a parameter value related to the first codec supported by the second device.

17. The method according to claim 13, characterized in that, When the second parameter value includes parameter values ​​related to the first codec supported by the second device, the second device determines the codec rate corresponding to the first codec based on the second message, including: If at least one parameter value in the second parameter value of the first parameter is the same as the first parameter value of the first parameter, a parameter value is determined from the at least one same parameter value, and the first parameter includes any one parameter in the first parameter set; The encoding / decoding rate corresponding to the first encoding / decoding is determined based on a parameter value determined from at least one of the same parameter values.

18. The method according to any one of claims 1 to 17, characterized in that, The first message is carried by a Session Description Protocol (SDP) proposal, and the second message is carried by an SDP response.

19. A communication device, characterized in that, include: A first sending module is configured to send a first message to a second device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to a first encoding / decoding supported by the communication device. The first encoding / decoding includes encoding / decoding based on artificial intelligence (AI). A first receiving module is configured to acquire a second message from the second device, the second message including a second parameter value for each parameter in the first parameter set, the second parameter value being used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the second device; The first processing module is used to determine the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

20. The apparatus according to claim 19, characterized in that, The parameters in the first parameter set include at least one of the following: The number of layers in the codebook; Codebook size; Aggregation level, wherein the aggregation level is the aggregation level of the neural network encoding and decoding unit; Forward duration, which indicates the duration of a frame during AI-based encoding and decoding.

21. The apparatus according to claim 20, characterized in that, The parameters in the first parameter set also include at least one of the following: The size or duration of a frame; The magnitude of the overlap or the duration of the overlap, wherein the magnitude of the overlap refers to the size of the overlapping portion between two adjacent frames, and the duration of the overlap refers to the duration of the overlapping portion between two adjacent frames; Time-frequency domain transformation factor; Neural network sampling factor.

22. The apparatus according to any one of claims 19 to 21, characterized in that, The second parameter value is the parameter value selected by the second device from the first parameter value; Alternatively, the second parameter value may include parameter values ​​related to the first codec supported by the second device.

23. The apparatus according to claim 22, characterized in that, When the second parameter value includes parameter values ​​related to the first codec supported by the second device, the first processing module is configured to: If at least one parameter value in the second parameter value of the first parameter is the same as the first parameter value of the first parameter, a parameter value is determined from the at least one same parameter value, and the first parameter includes any one parameter in the first parameter set; The encoding / decoding rate corresponding to the first encoding / decoding is determined based on a parameter value determined from at least one of the same parameter values.

24. The apparatus according to claim 22, characterized in that, When the second parameter value is the parameter value selected by the second device from the first parameter values, the first processing module is used to: The encoding / decoding rate corresponding to the first encoding / decoding is determined based on the parameter value selected by the second device from the first parameter values.

25. The apparatus according to claim 23 or 24, characterized in that, Also includes: The second sending module is used to send first indication information, which instructs the communication device to determine, based on the second message, the parameter value used to calculate the encoding / decoding rate corresponding to the first encoding / decoding.

26. The apparatus according to claim 25, characterized in that, Also includes: The second processing module is used to add the first indication information to the header of the voice packet, wherein the voice packet is obtained by encoding a frame.

27. The apparatus according to any one of claims 19 to 26, characterized in that, The first message is carried by a Session Description Protocol (SDP) proposal, and the second message is carried by an SDP response.

28. A communication device, characterized in that, include: The second receiving module is used to acquire a first message sent by the first device. The first message includes a first parameter value for each parameter in a first parameter set. The first parameter value is used to calculate the encoding / decoding rate corresponding to a first encoding / decoding supported by the communication device. The first encoding / decoding includes AI-based encoding / decoding. The third sending module is used to send a second message to the first device according to the first message, wherein the second message contains a second parameter value for each parameter in the first parameter set, and the second parameter value is used to calculate the encoding / decoding rate corresponding to the first encoding / decoding supported by the communication device. The third processing module is used to determine the encoding / decoding rate corresponding to the first encoding / decoding based on the second message.

29. The apparatus according to claim 28, characterized in that, The parameters in the first parameter set include at least one of the following: The number of layers in the codebook; Codebook size; Aggregation level, wherein the aggregation level is a neural network encoding / decoding unit; Forward duration, which indicates the duration of a frame during AI-based encoding and decoding.

30. The apparatus according to claim 29, characterized in that, The parameters in the first parameter set also include at least one of the following: The size or duration of a frame; The magnitude of the overlap or the duration of the overlap, wherein the magnitude of the overlap refers to the size of the overlapping portion between two adjacent frames, and the duration of the overlap refers to the duration of the overlapping portion between two adjacent frames; Time-frequency domain transformation factor; Neural network sampling factor.

31. The apparatus according to any one of claims 28 to 30, characterized in that, The second parameter value is the parameter value selected by the communication device from the first parameter value; Alternatively, the second parameter value may include parameter values ​​related to the first codec supported by the communication device.

32. The apparatus according to claim 31, characterized in that, The third processing module is used for: According to the second message, first indication information is obtained, and the first indication information is used to instruct the first device to determine the parameter value for calculating the encoding and decoding rate corresponding to the first encoding and decoding according to the second message; The encoding / decoding rate corresponding to the first encoding / decoding is determined based on the parameter value indicated by the first indication information.

33. The apparatus according to claim 32, characterized in that, The third processing module is used for: The first indication information is obtained from the header of the voice packet, which is obtained by encoding a frame.

34. The apparatus according to claim 31, characterized in that, When the second parameter value is the parameter value selected by the communication device from the first parameter value, the third processing module is used to: The first codec rate is determined based on the parameter value selected by the communication device from the first parameter values, wherein the parameter value selected by the communication device is a parameter value related to the first codec supported by the communication device.

35. An electronic device, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, the program or instructions being executed by the processor to implement the steps of the communication method as described in any one of claims 1 to 9, or to implement the steps of the communication method as described in any one of claims 10 to 18.

36. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the communication method as described in any one of claims 1 to 9, or implement the steps of the communication method as described in any one of claims 10 to 18.

37. A chip, characterized in that, The chip includes a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run programs or instructions to implement the steps of the communication method as described in any one of claims 1 to 9, or to implement the steps of the communication method as described in any one of claims 10 to 18.