Communication method and device

CN121220102APending Publication Date: 2025-12-26HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380097601.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-05-12
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

When transmitting large-scale data, the existing technology is difficult to effectively reduce transmission overhead, resulting in waste of resources and inefficiency. Especially when the base station transmits model weights or gradient transmissions in artificial intelligence models or distributed federated learning to the terminal, the transmission overhead increases significantly. .

Method used

By grouping data and determining the appropriate codebook based on the data distribution characteristics, the data is encoded using quantization techniques, thereby reducing the number of codewords and transmission overhead. The specific method includes determining N groups of second data of data and determining M code books based on these data. The M code books correspond one by one to the N groups of data, and are used to quantify the data, thereby reducing transmission overhead.

Benefits of technology

Through quantitative technology, the transmission overhead is significantly reduced, the data transmission efficiency is improved, the accuracy and transmission efficiency of group data with relatively concentrated data distribution are ensured, and the actual transmission needs are met.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121220102A_ABST
    Figure CN121220102A_ABST
Patent Text Reader

Abstract

A communication method and apparatus are used for reducing transmission overhead. In the method, first data is determined as N groups of second data, if the first data is determined as the N groups of second data with concentrated data distribution according to the data distribution condition, and corresponding M codebooks are determined according to the N groups of second data, the N groups of second data can be quantized through the M codebooks. The transmission overhead can be reduced by quantizing the first data, and the number of code words can be reduced by quantizing each group of second data with relatively concentrated data distribution, so that the transmission overhead is further reduced. Therefore, when the information used for indicating the M codebooks is sent, the N groups of second data can be quantized by using the M codebooks, so that the transmission overhead can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Communication method and device Technical Field

[0001] The present application relates to the field of communications, and in particular to a communication method and device. Background Art

[0002] With the development of communication technology, the demand for data transmission between devices has gradually increased. Currently, more and more devices are beginning to transmit large amounts of data. For example, base stations transmit extremely large artificial intelligence (AI) models to terminals. In distributed federated learning, each terminal sends the model weights or gradients trained using local sample data to a central server. The central server aggregates the model weights or gradients sent by each terminal and sends the results to each terminal.

[0003] However, transmitting large amounts of data will incur a huge transmission overhead. Therefore, how to reduce the transmission overhead when transmitting large amounts of data is a hot topic in current research.

[0004] Summary of the Invention

[0005] Embodiments of the present application provide a communication method and apparatus for reducing overhead when transmitting large amounts of data.

[0006] To achieve the above objectives, this application adopts the following technical solutions:

[0007] In a first aspect, a communication method is provided, performed by a first device, the method comprising: determining N groups of second data for the first data, and sending information indicating M codebooks; the M codebooks are determined based on the N groups of second data, the M codebooks correspond one-to-one to the N groups of second data, and the M codebooks are used to quantize the N groups of second data, where N is an integer greater than 1 and M is a positive integer less than or equal to N.

[0008] Based on the method described in the first aspect, it can be seen that by grouping the first data, for example, determining the first data into N groups of second data with relatively concentrated data distribution based on data distribution, and determining M corresponding codebooks based on the N groups of second data, the N groups of second data can be quantized separately using the M codebooks. Quantizing the first data can reduce transmission overhead, and quantizing each group of second data with relatively concentrated data distribution can reduce the number of codewords, further reducing transmission overhead. Therefore, sending information indicating the M codebooks can indicate that the N groups of second data have been quantized separately using the M codebooks, thereby reducing transmission overhead.

[0009] In one possible design, each of the M codebooks corresponds to at least one codebook set. The codebook set is related to data distribution characteristics, and the codebook set includes at least one codebook to achieve diversity in codebook selection, thereby enabling the selection of a codebook that is most suitable for current data transmission.

[0010] In one possible implementation, the codebook set is determined based on a correspondence between data distribution characteristics and codebooks, to ensure that a codebook determined from the codebook set meets data transmission requirements.

[0011] In one possible implementation, the i-th codebook among the M codebooks is a codebook with the lowest transmission overhead in the codebook set to which the i-th codebook belongs, and i is an integer greater than or equal to 1 and less than or equal to M. In this way, the transmission overhead corresponding to the M codebooks can be further reduced.

[0012] In one possible implementation, the data distribution characteristics include a data distribution slope and / or data expectation. The data distribution slope can be the probability density function distribution slope or the cumulative distribution function distribution slope corresponding to the data. That is, the data distribution slope can reflect the distribution of the data. For example, a larger data distribution slope indicates a more concentrated data distribution. Data expectation can also reflect the distribution of the data. Therefore, the degree of data distribution concentration can be accurately reflected based on the data distribution slope and / or data expectation.

[0013] In a possible implementation, the quantization error of the codebooks in the codebook set is less than or equal to the quantization error threshold, which can ensure the accuracy of quantizing the N groups of second data using the M codebooks.

[0014] Furthermore, the quantization error threshold is preconfigured or predefined, or may be determined in any other possible manner, such as dynamically generated according to actual conditions. There is no specific limitation on this, and a suitable manner may be selected according to actual conditions.

[0015] In one possible design, the transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold. The transmission overhead may be the maximum number of bits allowed for transmission, thereby ensuring that the transmission overhead meets actual transmission requirements and avoids excessive transmission overhead.

[0016] In one possible implementation, the transmission overhead includes at least one of the following: codebook indication overhead, group identifier overhead, or quantized transmission overhead of N sets of second data. The codebook indication overhead is the transmission overhead of information indicating M codebooks. When the information includes M codebooks, the codebook indication overhead is the overhead of transmitting M codebooks; or, when the information includes indexes of M codebooks, the codebook indication overhead is the overhead of transmitting M codebooks. The group identifier overhead is the overhead required to transmit the group identifiers of the N sets of second data, where the group identifiers of the N sets of second data are used to indicate the correspondence between the N sets of second data and the first data. The quantized transmission overhead of the N sets of second data is the overhead required to transmit the N sets of second data quantized by the M codebooks. When transmitting different data, the overhead corresponding to the data can be determined. For example, when only information indicating M codebooks is transmitted, the transmission overhead is the codebook indication overhead. For another example, when information indicating M codebooks, a group identifier, and N sets of quantized second data are transmitted, the transmission overhead is the codebook indication overhead, the group identifier overhead, and the quantized transmission overhead of the N sets of second data. That is to say, the transmission overheads corresponding to the M codebooks can be flexibly determined according to actual transmission conditions.

[0017] In one possible design scheme, the method described in the first aspect further includes: sending first information, where the first information indicates the transmission overhead corresponding to the M codebooks, for other devices, such as network-side devices, to determine the M codebooks based on the transmission overhead corresponding to the M codebooks, thereby reducing the overhead of the local device and improving operating efficiency.

[0018] In one possible design scheme, the method described in the first aspect also includes: receiving second information, where the second information indicates the use of M codebooks, or the second information indicates M codebooks, that is, the specific codebook to be used can also be indicated by other devices to reduce the overhead of the local device and improve operating efficiency.

[0019] In one possible design scheme, the method described in the first aspect further includes: sending codewords corresponding to the N groups of quantized second data and / or group identifiers of the N groups of second data, so that the receiving device can restore the quantized data corresponding to the first data based on the information indicating the M codebooks, the codewords corresponding to the N groups of quantized second data, and the group identifiers, thereby using the quantized data.

[0020] In one possible implementation, the sending order of the codewords corresponding to the N groups of second data after quantization is any one of the following: according to the order of the group identifiers of the N groups of second data, according to the order after the codewords of the quantized groups of second data are interleaved, or according to the order of the data in the first data. Among them, according to the order of the group identifiers of the N groups of second data means that the codewords corresponding to the N groups of second data after quantization are sent in sequence according to the group order. In this way, there is no need to sort the data before transmission for the codewords, which can reduce power consumption. According to the order after the codewords of the quantized groups of second data are interleaved or according to the order of the data in the first data, an interleaving function can be provided to avoid the loss of a certain group of data due to continuous deep fading of the channel. It can be understood that the transmission order of the N groups of second data after quantization can be flexibly selected according to actual conditions.

[0021] In a second aspect, a communication method is provided, performed by a second device, the method comprising: receiving information indicating M codebooks; and determining the M codebooks based on the information. The M codebooks are determined based on N sets of second data, the M codebooks corresponding one-to-one to the N sets of second data, the M codebooks are used to quantize the N sets of second data, the N sets of second data are determined based on first data, N is an integer greater than 1, and M is a positive integer less than or equal to N.

[0022] In one possible design, each codebook in the M codebooks corresponds to at least one codebook set, the codebook set is related to data distribution characteristics, and the codebook set includes at least one codebook.

[0023] In a possible implementation, the codebook set is determined according to a correspondence between data distribution characteristics and codebooks.

[0024] In a possible implementation, the i-th codebook among the M codebooks is a codebook with the smallest transmission overhead in the codebook set to which the i-th codebook belongs, and i is an integer greater than or equal to 1 and less than or equal to M.

[0025] In one possible implementation, the data distribution feature includes a data distribution slope and / or data expectation.

[0026] In a possible implementation, a quantization error of a codebook in the codebook set is less than or equal to a quantization error threshold.

[0027] Furthermore, the quantization error threshold is preconfigured or predefined.

[0028] In one possible design, the transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold.

[0029] In a possible implementation, the transmission overhead includes at least one of the following: codebook indication overhead, group identifier overhead, or transmission overhead after the N groups of second data are quantized.

[0030] In a possible design scheme, the method described in the second aspect also includes: receiving first information, where the first information indicates the transmission overhead corresponding to the M codebooks.

[0031] In a possible design scheme, the method described in the second aspect also includes: sending second information, where the second information indicates the use of M codebooks, or the second information indicates M codebooks.

[0032] In a possible design scheme, the method described in the second aspect further includes: receiving codewords corresponding to the quantized N groups of second data and / or group identifiers of the N groups of second data.

[0033] In a possible implementation, the method described in the second aspect further includes: determining quantized data corresponding to the first data based on the M codebooks, the codewords corresponding to the N groups of quantized second data, and the group identifiers.

[0034] In one possible implementation, the codewords corresponding to the N groups of quantized second data are sent in any one of the following order: according to the order of the group identifiers of the N groups of second data, according to the order after codeword interleaving of each group of quantized second data, or according to the order of data in the first data.

[0035] In addition, the technical effects of the communication method described in the second aspect can refer to the technical effects of the communication method described in the first aspect, and will not be repeated here.

[0036] In a third aspect, a communication device is provided. The communication device includes: a module for executing the method described in the first aspect, such as a transceiver module and a processing module. For example, the processing module is configured to determine N sets of second data from the first data; and the transceiver module is configured to send information indicating M codebooks. The M codebooks are determined based on the N sets of second data, each corresponding one-to-one to the N sets of second data, and are used to quantize the N sets of second data, where N is an integer greater than 1 and M is a positive integer less than or equal to N.

[0037] In one possible implementation, the transceiver module may include a sending module and a receiving module, wherein the sending module is used to implement the sending function of the communication device described in the third aspect, and the receiving module is used to implement the receiving function of the communication device described in the third aspect.

[0038] In a possible implementation, the communication device described in the third aspect may further include a storage module, wherein the storage module stores a program or instruction. When the processing module executes the program or instruction, the communication device may execute the method described in the first aspect.

[0039] It can be understood that the communication device described in the third aspect can be a terminal, such as a remote device, or a chip (system) or other parts or components that can be set in the terminal, or a device including a terminal. This application does not limit this.

[0040] In addition, the technical effects of the communication device described in the third aspect can refer to the technical effects of the method described in the first aspect, and will not be repeated here.

[0041] In a fourth aspect, a communication device is provided. The communication device includes: a module for executing the method described in the second aspect, such as a transceiver module and a processing module. For example, the transceiver module is configured to receive information indicating M codebooks; and the processing module is configured to determine the M codebooks based on the information. The M codebooks are determined based on N sets of second data, the M codebooks have a one-to-one correspondence with the N sets of second data, the M codebooks are used to quantize the N sets of second data, the N sets of second data are determined based on the first data, N is an integer greater than 1, and M is a positive integer less than or equal to N.

[0042] In one possible implementation, the transceiver module may include a sending module and a receiving module, wherein the sending module is used to implement the sending function of the communication device described in the fourth aspect, and the receiving module is used to implement the receiving function of the communication device described in the fourth aspect.

[0043] In one possible implementation, the communication device described in the fourth aspect may further include a storage module, wherein the storage module stores a program or instruction. When the processing module executes the program or instruction, the communication device may execute the method described in the second aspect.

[0044] It can be understood that the communication device described in the fourth aspect can be a terminal, such as a remote device, or a chip (system) or other parts or components that can be set in the terminal, or a device including a terminal. This application does not limit this.

[0045] In addition, the technical effects of the communication device described in the fourth aspect can refer to the technical effects of the method described in the second aspect, and will not be repeated here.

[0046] In a fifth aspect, a communication device is provided, comprising: a processor configured to execute the method described in any possible implementation of the first aspect.

[0047] In one possible design solution, the communication device described in the fifth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the fifth aspect to communicate with other communication devices.

[0048] In one possible design, the communication device described in the fifth aspect may further include a memory. The memory may be integrated with the processor or provided separately. The memory may be used to store the computer program and / or data involved in the method described in the first aspect.

[0049] In an embodiment of the present application, the communication device described in the fifth aspect may be the terminal described in the first aspect, or a chip (system) or other parts or components that may be set in the terminal, or a device that includes the terminal.

[0050] In addition, the technical effects of the communication device described in the fifth aspect can refer to the technical effects of the method described in any implementation method of the first aspect, and will not be repeated here.

[0051] In a sixth aspect, a communication device is provided, comprising: a processor configured to execute the method described in any possible implementation of the second aspect.

[0052] In one possible design solution, the communication device described in the sixth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the sixth aspect to communicate with other communication devices.

[0053] In one possible design, the communication device described in the sixth aspect may further include a memory. The memory may be integrated with the processor or provided separately. The memory may be used to store the computer program and / or data involved in the method described in the second aspect.

[0054] In an embodiment of the present application, the communication device described in the sixth aspect may be the terminal described in the second aspect, or a chip (system) or other parts or components that may be set in the terminal, or a device that includes the terminal.

[0055] In addition, the technical effects of the communication device described in the sixth aspect can refer to the technical effects of the method described in any implementation method of the second aspect, and will not be repeated here.

[0056] In a seventh aspect, a communication device is provided, comprising: a processor coupled to a memory, the processor configured to execute a computer program stored in the memory, so that the communication device executes the method described in any possible implementation of the first aspect.

[0057] In one possible design solution, the communication device described in the sixth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the seventh aspect to communicate with other communication devices.

[0058] In an embodiment of the present application, the communication device described in the sixth aspect may be the terminal described in the first aspect, or a chip (system) or other parts or components that may be set in the terminal, or a device that includes the terminal.

[0059] In addition, the technical effects of the communication device described in the seventh aspect can refer to the technical effects of the method described in any implementation method of the first aspect, and will not be repeated here.

[0060] In an eighth aspect, a communication device is provided, comprising: a processor coupled to a memory, the processor configured to execute a computer program stored in the memory, so that the communication device executes the method described in any possible implementation of the second aspect.

[0061] In one possible design solution, the communication device described in the eighth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the eighth aspect to communicate with other communication devices.

[0062] In an embodiment of the present application, the communication device described in the eighth aspect may be the terminal described in the second aspect, or a chip (system) or other parts or components that may be set in the terminal, or a device that includes the terminal.

[0063] In addition, the technical effects of the communication device described in the eighth aspect can refer to the technical effects of the method described in any implementation method of the second aspect, and will not be repeated here.

[0064] In a ninth aspect, a communication device is provided, comprising: a processor and a memory; the memory is used to store a computer program, and when the processor executes the computer program, the communication device executes the method described in any one of the implementation methods in the first aspect.

[0065] In one possible design solution, the communication device described in aspect 9 may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in aspect 9 to communicate with other communication devices.

[0066] In an embodiment of the present application, the communication device described in the ninth aspect may be the terminal described in the first aspect, or a chip (system) or other parts or components that may be set in the terminal, or a device that includes the terminal.

[0067] In addition, the technical effects of the communication device described in the ninth aspect can refer to the technical effects of the method described in any implementation method of the first aspect, and will not be repeated here.

[0068] In the tenth aspect, a communication device is provided, comprising: a processor and a memory; the memory is used to store a computer program, and when the processor executes the computer program, the communication device executes the method described in any one of the implementation methods in the second aspect.

[0069] In one possible design solution, the communication device described in the tenth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the tenth aspect to communicate with other communication devices.

[0070] In an embodiment of the present application, the communication device described in the tenth aspect may be the terminal described in the second aspect, or a chip (system) or other parts or components that may be set in the terminal, or a device that includes the terminal.

[0071] In addition, the technical effects of the communication device described in the tenth aspect can refer to the technical effects of the method described in any implementation method of the second aspect, and will not be repeated here.

[0072] In an eleventh aspect, a communication system is provided, comprising: an apparatus for executing the method according to the first aspect, and / or an apparatus for executing the method according to the second aspect.

[0073] In a twelfth aspect, a computer-readable storage medium is provided, comprising: a computer program or instructions; when the computer program or instructions are run on a computer, the computer executes the method described in any possible implementation method of the first aspect or the second aspect.

[0074] In a thirteenth aspect, a computer program product is provided, comprising a computer program or instructions, which, when executed on a computer, enables the computer to execute the method described in any possible implementation of the first aspect or the second aspect.

[0075] In a fourteenth aspect, a chip is provided, comprising a processor coupled to a memory, wherein the processor is configured to execute a computer program stored in the memory so that the chip executes the method described in any possible implementation manner in the first aspect.

[0076] In the fifteenth aspect, a chip is provided, comprising a processor coupled to a memory, the processor being configured to execute a computer program stored in the memory so that the chip executes the method described in any possible implementation manner in the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0077] FIG1 is a schematic diagram of a scalar quantization method provided in an embodiment of the present application;

[0078] FIG2 is a schematic diagram of a vector quantization method provided in an embodiment of the present application;

[0079] FIG3 is a schematic diagram of the architecture of a communication system provided in an embodiment of the present application;

[0080] FIG4 is a flow chart of a communication method according to an embodiment of the present application;

[0081] FIG5 is a schematic diagram of the PDF distribution slope provided in an embodiment of the present application;

[0082] FIG6 is a schematic diagram of the CDF distribution slope provided in an embodiment of the present application;

[0083] FIG7 is a schematic diagram of uniformly quantizing two-dimensional data in the entire space according to an embodiment of the present application;

[0084] FIG8 is a schematic diagram of the distribution of raw data provided in an embodiment of the present application;

[0085] FIG9 is a schematic diagram of dividing first data according to a PDF curve provided in an embodiment of the present application;

[0086] FIG10 is a first schematic diagram of a transmission sequence of third data provided in an embodiment of the present application;

[0087] FIG11 is a second schematic diagram of the transmission sequence of the third data provided in an embodiment of the present application;

[0088] FIG12 is a third schematic diagram of the transmission sequence of the third data provided in an embodiment of the present application;

[0089] FIG13 is a fourth schematic diagram of the transmission sequence of the third data provided in an embodiment of the present application;

[0090] FIG14 is a second flow chart of the communication method provided in an embodiment of the present application;

[0091] FIG15 is a first structural diagram of a communication device provided in an embodiment of the present application;

[0092] FIG16 is a second structural diagram of the communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0093] To facilitate understanding, the relevant technologies involved in the embodiments of this application are first described below.

[0094] 1. Scalar Quantization

[0095] Scalar quantization can be viewed as one-dimensional vector quantization, meaning each piece of data is independently quantized. As shown in Figure 1 and Table 1, data values ​​in the range [-1, 1] can be mapped to 0, with the corresponding quantization bit being 00; data values ​​in the range [1, 3] can be mapped to 2, with the corresponding quantization bit being 01; data values ​​in the range [3, 5] can be mapped to 4, with the corresponding quantization bit being 10; and data values ​​in the range [5, 7] can be mapped to 6, with the corresponding quantization bit being 11.

[0096] Table 1

[0097] For example, when sending original data, the transmitting device may quantize the original data according to the above mapping relationship. For example, if the original data is -0.5, 1.2, 4.5, 3.5, and 6.1, the original data may be mapped to corresponding values, namely 0, 2, 4, 4, and 6, respectively, according to the mapping relationship. In other words, the quantized data corresponding to the original data are 0, 2, 4, 4, and 6. During transmission, the bits corresponding to the quantized data may be transmitted, namely 00, 01, 10, 10, and 11. After receiving each bit, the receiving device may determine the data corresponding to each bit according to the above mapping relationship, thereby obtaining the quantized data corresponding to the original data, namely 0, 2, 4, 4, and 6.

[0098] As can be seen, if the transmitting device directly sends the original data, 160 bits are required, meaning each piece of data needs to be represented by 32 bits. However, if the transmitting device sends the quantized data corresponding to the original data, only 10 bits are required. Therefore, compared to directly sending each piece of data, scalar quantization of each piece of data before sending it can significantly reduce transmission overhead.

[0099] 2. Vector Quantization

[0100] Vector quantization first groups the raw data according to dimension d, then quantizes each group individually, with d data items forming a group. As shown in Table 2 below, the codebook in vector quantization includes the number of codewords (denoted as k), the dimension of the quantized data (denoted as d), and the mapping between codewords and quantized data. The number of codewords is also called the codebook size, and the dimension of the quantized data is also called the codebook dimension. log2k can represent the number of bits required for a group of data. As shown in Figure 2, taking two-dimensional vector quantization as an example, the raw data is grouped according to dimension 2, with each pair of raw data forming a group. In Figure 2, each black dot corresponds to a group of raw data, each star corresponds to a codeword, and each codeword has a dimension of 2. The total number of star points is k, meaning there are k codewords. Each star point corresponds to one or more black dots, and the entire area is divided into multiple regions based on the correspondence between raw data and codewords.

[0101] Table 2

[0102] For example, there are 4800 original data in total, and the codebook used for the original data is the codebook shown in Table 2, that is, the number of codewords in the codebook is 256, and the codebook dimension is 16. The original data is grouped according to the codeword dimension, that is, 16 original data are grouped together, and the 4800 original data can be divided into 300 groups of data. After mapping these 300 groups of data to the quantized data in Table 2, the codewords of the quantized data corresponding to each group of original data can be determined, that is, 300 codewords can be determined. After determining the codewords, the transmitting device can send these 300 codewords to the receiving device. After receiving these 300 codewords, the receiving device can determine the quantized data corresponding to each codeword according to the codebook in Table 2, thereby obtaining the quantized data corresponding to the 4800 original data.

[0103] As can be seen, if the transmitting device directly sends 4800 raw data, it requires 153600 bits, that is, each raw data typically requires 32 bits. However, if the raw data is quantized before transmission, only 2400 bits are required, that is, each codeword requires 8 bits. In other words, compared to directly sending the raw data, quantizing the raw data before transmission significantly reduces transmission overhead.

[0104] The technical solution in this application will be described below with reference to the accompanying drawings.

[0105] The technical solutions of the embodiments of the present application can be applied to various communication systems, such as wireless fidelity (WiFi) systems, vehicle-to-everything (V2X) communication systems, device-to-device (D2D) communication systems, Internet of Vehicles communication systems, 4th generation (4G) mobile communication systems, such as long term evolution (LTE) systems, world-wide interoperability for microwave access (WiMAX) communication systems, 5th generation (5G) mobile communication systems, such as new radio (NR) systems, and future communication systems, such as 6th generation (6G) mobile communication systems.

[0106] This application will present various aspects, embodiments, or features in the context of systems that may include multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all of the devices, components, modules, etc. discussed in conjunction with the figures. Furthermore, combinations of these aspects may also be used.

[0107] Additionally, in the embodiments of this application, words such as "exemplarily" and "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as an "exemplary" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of the word "exemplary" is intended to present concepts in a concrete manner.

[0108] In the embodiments of the present application, the terms "information," "signal," "message," "channel," and "signaling" may sometimes be used interchangeably. It should be noted that, when the distinction between them is not emphasized, the meanings they intend to convey are the same. The terms "of," "corresponding," and "corresponding" may sometimes be used interchangeably. It should be noted that, when the distinction between them is not emphasized, the meanings they intend to convey are the same.

[0109] In the embodiments of the present application, sometimes a subscript such as W1 may be mistakenly written as a non-subscript form such as W1. When the difference is not emphasized, the meanings to be expressed are the same.

[0110] The network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field will know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0111] To facilitate understanding of the embodiments of the present application, a communication system applicable to the embodiments of the present application is first described in detail using the communication system shown in Figure 3 as an example. For example, Figure 3 is a schematic diagram of the architecture of a communication system applicable to the communication method provided in the embodiments of the present application.

[0112] As shown in FIG3 , the communication system mainly includes: a first device and a second device.

[0113] Among them, the first device and the second device can be network devices or modules (chips or circuits) within the network device, or they can be terminal devices or modules (chips or circuits) within the terminal device, such as the first device is a terminal and the second device is a network device, or the first device is a network device and the second device is a terminal, or both the first device and the second device are terminals, or both the first device and the second device are network devices, which is not limited here.

[0114] The network device is located on the network side of the communication system, and the device with wireless transceiver function may be provided in the chip or chip system of the device. The network device includes, but is not limited to, an access point (AP) in a wireless fidelity (WiFi) system, such as a home gateway, a router, a server, a switch, a bridge, etc., an evolved Node B (eNB), a radio network controller (RNC), a Node B (NB), a base station controller (BSC), a base transceiver station (BTS), a home base station (e.g., home evolved NodeB, or home Node B, HNB), a baseband unit (BBU), a wireless relay node, a wireless backhaul node, a transmission and reception point (TRP or transmission point, TP), etc. It can also be 5G, such as a gNB in ​​a new radio (NR) system, or a transmission point (TRP or TP), one or a group of antenna panels (including multiple antenna panels) of a base station in a 5G system, or a network node constituting a gNB or a transmission point, such as a baseband unit (BBU) or a distributed unit (DBU). unit (DU), road side unit (RSU) with base station function, etc.

[0115] The terminal device is a terminal that accesses the communication system and has a wireless transceiver function or a chip or chip system that can be set at the terminal. The terminal device can also be called a user device, an access terminal, a user unit, a user station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a terminal, a wireless communication device, a user agent or a user device. The terminal device in the embodiment of the present application can be a mobile phone, a tablet computer, a computer with a wireless transceiver function, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical care, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, a vehicle-mounted terminal, an RSU with terminal function, etc. The terminal device of the present application can also be a vehicle-mounted module, vehicle-mounted module, vehicle-mounted component, vehicle-mounted chip or vehicle-mounted unit built into the vehicle as one or more components or units. The vehicle can implement the communication method provided by the present application through the built-in vehicle-mounted module, vehicle-mounted module, vehicle-mounted component, vehicle-mounted chip or vehicle-mounted unit.

[0116] In a communication system, a first device and a second device can transmit data by quantizing each group of data. For example, the data is first grouped, and then a corresponding codebook is determined for each group of data, and each codebook is transmitted. In this way, each group of data can be quantized using the determined codebook, thereby reducing data transmission overhead.

[0117] It can be understood that the communication method provided in the embodiment of the present application can be applicable between the two devices shown in Figure 3, such as between terminal devices, between network devices, and between terminal devices and network devices. The specific implementation can refer to the following method embodiment, which will not be repeated here.

[0118] It should be noted that the solutions in the embodiments of the present application can also be applied to other communication systems, and the corresponding names can also be replaced by the names of corresponding functions in other communication systems.

[0119] The communication method provided in the embodiment of the present application will be described in detail below with reference to Figures 4 to 14.

[0120] 4 is a flow chart of a communication method according to an embodiment of the present application. The method can be applied to the communication between the first device and the second device in the above communication system.

[0121] As shown in FIG4 , the process of the above communication method is as follows:

[0122] S201: The first device determines N groups of second data of the first data.

[0123] The first data may be large-scale data, that is, the first data includes a large amount of data. For example, the first data may be an AI model, and the AI ​​model may be a feedforward neural network (FNN), a convolutional neural network (CNN), or a recurrent neural network (RNN). The first data may also be other large-scale data, which is not limited here.

[0124] The second data is data determined based on the first data, that is, the first data can be determined as N groups of second data.

[0125] N is an integer greater than 1, and the value of N can be determined according to the distribution slope of the first data. The distribution slope can be the distribution slope of the probability density function (PDF) of the first data (denoted as ρ PDF ) or the cumulative distribution function (CDF) slope of the first data (denoted as ρ CDF ).

[0126] ρ PDF The probability density function curve (PDF curve) of the first data is the minimum value among the absolute values ​​of the slopes of the lines formed by the intersection of the point corresponding to the highest absolute probability and the lowest reference probability and the PDF curve. The highest absolute probability is the peak value of the PDF curve. When the PDF curve has multiple peaks, the highest absolute probability is the probability corresponding to the lowest peak value among the multiple peaks. For example, as shown in Figure 5, the highest absolute probability is P in the figure. h The corresponding probability, the minimum reference probability P l The intersection point with the PDF curve is P in the figure l1 and P l2 , that is, P h 、P l1 and P l2 are the three intersection points in the figure. h Respectively with P l1 、Pl2 By connecting them, we can get the slopes corresponding to the two lines, and then we can get the absolute values ​​of the slopes of the two probability density functions, that is, ρ PDF1 and ρ PDF2 ρ PDF1 and ρ PDF2 The minimum value in is ρ PDF .

[0127] ρ CDF is the absolute value of the slope of the line connecting the intersection of the highest reference probability and the CDF curve and the intersection of the lowest reference probability and the CDF curve in the cumulative distribution function curve of the first data (recorded as CDF curve). For example, as shown in FIG6 , the highest reference probability is C h , its intersection with the CDF curve is A; the highest reference probability is C l , and its intersection with the CDF curve is B. The absolute value of the slope of the line formed by connecting A and B is ρ CDF .

[0128] ρ of the first data PDF or ρ CDF The data distribution of the first data can be characterized, that is, ρ PDF or ρ CDF The larger the value of , the more concentrated the distribution of the first data. When quantizing data, the more concentrated the data distribution is, the fewer codewords can be used, thereby reducing transmission overhead.

[0129] Generally speaking, the source of gain of vector quantization compared to scalar quantization mainly depends on the distribution characteristics of the data. That is, when the data distribution is relatively concentrated, a smaller transmission overhead can be used. Specifically, as shown in Figures 7 and 8, Figure 7 shows the uniform quantization of 2D data in the entire space, and each point in the figure represents a codeword; Figure 8 shows the actual distribution of the original data. It can be seen that when the original data is actually unevenly distributed in the entire space and relatively concentrated in a certain area, the codewords in the two circles in Figure 7 will be useless codewords, that is, the codewords do not correspond to any original data, that is, when the original data in Figure 8 is quantized, the codewords will not be used. Therefore, quantizing the concentrated data can reduce the number of codewords, thereby reducing the transmission overhead.

[0130] It can be seen that the ρ of the first data PDF or ρ CDF The size of is associated with the codeword used to quantize the data. PDF or ρ CDF The value of determines the value of N, thereby reducing the transmission overhead. That is, if ρ PDF or ρ CDFThe smaller the value of , the larger N can be, that is, the more groups of the first data are grouped, and the distribution of each group of second data can be more concentrated.

[0131] Specifically, after determining the ρ of the first data PDF or ρ CDF After that, according to the preset ρ PDF or ρ CDF The mapping relationship between the value of and the value of N is used to determine the value of N. For example, as shown in Table 3 below, Table 3 is a mapping relationship between a distribution slope and the value of N provided by an embodiment of the present application. The distribution slope ρ in Table 3 can be ρ PDF or ρ PDF .

[0132] Table 3

[0133] After determining the value of N, the first device can determine the first data as N groups of second data, such as dividing the first data into N groups of second data. The first device can divide the first data in a variety of ways. A typical way is to divide the first data according to the order of arrangement of the first data, so that the number of second data in each group is equal. Another typical way is to divide the first data according to the distribution of the first data, so that each group of second data has a relatively concentrated distribution. In this case, the number of second data in each group after division may be the same, but may also be different. Each of these methods is described below.

[0134] Method 1: Divide according to the order of arrangement of the first data.

[0135] Specifically, the first data may be equally divided into N groups of second data according to the arrangement order of the first data, so that the number of second data in each group is equal.

[0136] Method 2: Divide according to the distribution of the first data.

[0137] Specifically, N-1 boundary points can be determined based on the PDF curve of the first data. The PDF curve is partitioned based on the position of each boundary point, i.e., the PDF curve is divided into N regions, with each region corresponding to a set of second data. The principle of partitioning is to group data that is more concentrated.

[0138] For example, as shown in FIG9 , the first data corresponding to the PDF curve in FIG9 needs to be divided into three groups of second data. The specific division process is: first determine a minimum reference probability curve in the PDF curve graph, that is, y=C l , where C lis a number close to 0. The minimum reference probability curve intersects the PDF curve at two points, a and b in Figure 9. The abscissa of a is 0.5, and the abscissa of b is 2.5. The peak of the PDF curve, c, has an abscissa of 0.7. Based on the abscissas of a, b, and c, we can calculate that the range between a and c is 0.2, which is the value of c minus the abscissa of a. The range between b and c is 1.8, which is the value of b minus the abscissa of c. Comparing these two calculated ranges with a preset range (e.g., 0.5), we can conclude that the range between a and c is smaller than the preset range, while the range between b and c is larger. In other words, the slope of curve 1 corresponding to the interval between a and c is larger, meaning that this interval has more values ​​and a more concentrated distribution. The slope of curve 2 corresponding to the interval between b and c is smaller, meaning that this interval has fewer values ​​and a less concentrated distribution. Therefore, the interval between a and b can be divided into three intervals with a ratio of 2:3:5. That is, the more concentrated portion of the first data can be divided into 1 / 5 of the total, and the less concentrated portion of the first data can be divided into 3 / 10 and 1 / 2 of the total, respectively. According to this ratio, the dividing points are located at the horizontal coordinates of 0.9 and 1.5, and the data corresponding to each divided interval is a set of second data.

[0139] It can be understood that the above is only an exemplary division method, which can also be replaced by any other possible method, and the embodiments of the present application do not limit this.

[0140] In one possible design, after grouping the first data, such as dividing the first data into X groups of second data, it is also possible to determine whether the data distribution of each group of second data is concentrated by determining whether the distribution slope corresponding to each group of second data is greater than a distribution slope threshold. Wherein, X is an integer greater than 1, and the distribution slope can be the PDF distribution slope or CDF distribution slope corresponding to each group of second data. If the distribution slope of each group of second data is greater than the distribution slope threshold, it means that the data distribution of each group of second data is concentrated. In this case, X is equal to N, and the subsequent steps can be continued. If there is at least one group of second data whose distribution slope is less than or equal to the distribution slope threshold, it means that the data distribution of the group of second data is not concentrated. In this case, the first data can be regrouped, such as after increasing the value of X, the first data can be regrouped, and after the grouping is completed, it is judged again whether the distribution slope corresponding to each group of second data is greater than the distribution slope threshold, until the distribution slope corresponding to each group of second data is greater than the distribution slope threshold, that is, the number of groups is N; the second data with a distribution slope less than or equal to the distribution slope threshold can also be grouped, such as dividing the group of second data into two groups of data, that is, X+1 groups of second data can be obtained after division, and after the division is completed, it is judged again whether the distribution slope corresponding to each group of second data is greater than the distribution slope threshold, until the distribution slope corresponding to each group of second data is greater than the distribution slope threshold, that is, the number of groups is N.

[0141] It can be understood that the above-mentioned distribution slope threshold can be a fixed value or multiple different values, that is, multiple corresponding distribution slope thresholds can be set according to distribution slopes in different ranges, which is not limited here.

[0142] After the first device determines N groups of second data of the first data, the method proceeds to S203.

[0143] S202: The first device sends information indicating M codebooks (referred to as indication information). The second device receives the indication information.

[0144] S203: The second device determines M codebooks according to the instruction information.

[0145] The following is an overall introduction to S202 and S203.

[0146] M is a positive integer less than or equal to N. When each group of second data corresponds to a different codebook, M codebooks can be determined based on the N groups of second data; when there are multiple groups of second data corresponding to the same codebook, less than N codebooks can be determined based on the N groups of second data. For example, there are 4 groups of second data, each group of second data corresponds to a different codebook, and 4 codebooks can be determined at this time; for another example, there are 3 groups of second data, of which 2 groups of second data use the same codebook, and 2 codebooks can be determined at this time. It can be seen that the M codebooks are the codebooks corresponding to the N groups of second data, that is, the M codebooks correspond one-to-one to the N groups of second data, that is, each group of second data corresponds to a codebook. And the M codebooks are used to quantize the N groups of second data. Please refer to the above-mentioned relevant introduction for the codebook.

[0147] The M codebooks can be determined based on the N sets of second data, and the M codebooks can be determined by the first device or the second device. Two methods for determining the M codebooks are described below.

[0148] Mode 1: The first device determines M codebooks based on N sets of second data. That is, the M codebooks are determined based on the N sets of second data.

[0149] In approach 1, each of the M codebooks corresponds to at least one codebook set, which is related to the data distribution characteristics and includes at least one codebook. In other words, the first apparatus can determine N codebook sets based on the data distribution characteristics of N sets of second data, and then determine M codebooks based on the N codebook sets. This allows for rapid and accurate determination of the M codebooks.

[0150] The data distribution feature may include a data distribution slope and / or a data expectation. For example, the distribution feature may be a data distribution slope, a data expectation, or both. The data distribution slope may be a PDF distribution slope or a CDF distribution slope. For related descriptions, please refer to the previous description and will not be repeated here.

[0151] In one possible implementation, the codebook set is determined based on the correspondence between the data distribution characteristics and the codebook. That is, the first device can determine M codebook sets corresponding to the data distribution characteristics of the N groups of second data based on the correspondence between the data distribution characteristics and the codebook.

[0152] Specifically, as shown in Table 4 below, the correspondence between data distribution features and codebooks can be preset or predefined. That is, codebook sets corresponding to distribution features of different values ​​or distribution features of different ranges can be preset or predefined. After determining the data distribution features of N groups of second data, the codebook set corresponding to the data distribution feature of each group of second data can be quickly and accurately determined based on the correspondence, thereby obtaining N codebook sets.

[0153] Table 4

[0154] For example, the first data includes two groups of second data, namely second data #1 and second data #2, and the data distribution feature is the PDF distribution slope. When the PDF distribution slope is (0.4, 0.6], the codeword dimensions corresponding to the data can be 2 or 4; when the codeword dimension is 2, the corresponding codeword can be 32, 64, 128, 256, or 512, and when the codeword dimension is 4, the corresponding codeword can be 64, 128, 256, or 512. When the PDF distribution slope of the second data #1 is 0.5, the codebook set corresponding to the second data #1 includes codebooks with a codeword dimension of 2 and codebook sizes of 32, 64, 128, 256, and 512, and codebooks with a codeword dimension of 4 and codebook sizes of 64, 128, 256, and 512, that is, the codebook set corresponding to the second data #1 includes 9 codebooks. When the PDF distribution slope of the second data #2 is 0.45, the codebook set for the second data #2 is the same as the codebook set for the second data #1, that is, the codebook set corresponding to the second data #2 includes 9 codebooks.

[0155] In one possible implementation, a quantization error of a codebook in the set of N codebooks is less than or equal to a quantization error threshold.

[0156] The quantization error can be the Euclidean distance between the original data before quantization and the data corresponding to the quantized codeword. For example, if the codeword dimension is 2, the original data before quantization is {1.2, 2.3}, and the data corresponding to the quantized codeword is {1.0, 2.0}, then the quantization error is The quantization error can also be expressed as the average Euclidean distance, that is, the average Euclidean distance according to the codeword dimension. For example, the quantization error in the above example is Not limited here.

[0157] Specifically, a correspondence between a data distribution feature and a codebook having a quantization error less than or equal to the quantization error threshold can be preset or predefined based on the quantization error threshold. As shown in Table 5 below, Table 5 shows a correspondence between a distribution slope and a codebook having a quantization error less than or equal to 0.02, provided in an embodiment of the present application.

[0158] Table 5

[0159] By presetting or predefining the correspondence between data distribution characteristics and codebooks with quantization errors less than or equal to the quantization error threshold, it is possible to ensure that the quantization error of each codebook determined according to the correspondence is less than or equal to the quantization error threshold, thereby ensuring the accuracy of quantization.

[0160] It is understood that there are multiple options for the quantization error threshold, such as 0.02, 0.03, or 0.04, etc., which are not limited here. In the case of multiple quantization error thresholds, the corresponding relationship between the data distribution characteristics and the codebooks with quantization errors less than or equal to different quantization error thresholds can be preset or predefined.

[0161] Furthermore, the quantization error threshold may be preconfigured or predefined, such as by network configuration, or may be determined by any other possible means, such as dynamically generated according to actual conditions. There is no specific limitation on this, and a suitable method may be selected according to actual conditions.

[0162] In one possible implementation, the i-th codebook among the M codebooks is a codebook with the lowest transmission overhead in the codebook set to which the i-th codebook belongs, and i is an integer greater than or equal to 1 and less than or equal to M. That is, the first apparatus may determine the M codebooks based on the transmission overhead corresponding to each codebook in the N codebook set.

[0163] The transmission overhead corresponding to each codebook in the N codebook sets includes: a codebook indication overhead of each codebook and / or a data transmission overhead of each codebook.

[0164] The codebook indication overhead for each codebook is the overhead required to transmit information indicating the codebook, such as the overhead required to transmit the entire contents of the codebook or the overhead required to transmit the index corresponding to the codebook. The overhead required to transmit the entire contents of the codebook is expressed as: k*d*x, where k is the codebook size, d is the codeword dimension of the codebook, and x represents the number of bits used to transmit one digit of the quantized data corresponding to the codeword. x is typically 32, meaning that 32 bits are required to transmit a decimal value. It is understood that x can also be other values, which are not limited here.

[0165] The data transmission overhead of each codebook is the overhead required to transmit the second data quantized by the codebook. The expression of the data transmission overhead is: (q / d)*log2k, where q is the total number of second data corresponding to the codebook, d is the codeword dimension of the codebook, and k is the codebook size of the codebook.

[0166] Specifically, according to the above expression of the codebook indication overhead of each codebook and / or the expression of the data transmission overhead of each codebook, the transmission overhead of each codebook corresponding to each codebook set in the N codebook sets may be determined, and a codebook with the minimum transmission overhead may be determined from the transmission overheads of the codebooks, thereby obtaining M codebooks.

[0167] For example, if N is 2, there are two codebook sets: codebook set #1 and codebook set #2. Codebook set #1 includes five codebooks, codebook #1 through codebook #5; codebook set #2 includes ten codebooks, codebook #11 through codebook #20. The transmission overhead corresponding to each codebook is calculated to obtain codebook #1 with the lowest transmission overhead in codebook set #1 and codebook #20 with the lowest transmission overhead in codebook set #2. Therefore, based on the transmission overhead corresponding to codebook set #1 and codebook set #2, it can be determined that the codebooks corresponding to the two sets of second data are codebook #1 and codebook #20.

[0168] It will be appreciated that after determining the value of N, the overhead of the group identifier can be determined based on the value of N and the amount of first data. The group identifier is described below. That is, for each codebook in the set of N codebooks, the overhead of the group identifier corresponding to each codebook is the same. Therefore, when the first apparatus determines the M codebooks based on the transmission overhead corresponding to each codebook in the set of N codebooks, it only needs to consider the codebook indication overhead and / or the data transmission overhead of each codebook, and does not need to consider the overhead of the group identifier.

[0169] Mode 2: The second device determines M codebooks.

[0170] After determining N groups of second data for the first data, the first device may send relevant information such as the number of groups to the second device, which then determines M codebooks. The second device may determine the M codebooks based on the relevant information. The specific principles for determining the codebooks can be referenced to those of the prior art and will not be further elaborated here.

[0171] It is understood that after the second device determines the M codebooks, the second device may send second information indicating the M codebooks. Accordingly, the first device receives the second information and determines the M codebooks based on the second information. In other words, the M codebooks used by the first device may be directly indicated by the second device.

[0172] The indication information may include a codebook in the M codebooks and / or an index in the M codebooks, which will be described below respectively.

[0173] In one possible design, the indication information may include M codebooks, that is, the indication information includes the number of codewords corresponding to each codebook in the M codebooks, the dimension of the quantized data, and the mapping relationship between the codewords and the quantized data.

[0174] In another possible design, the second apparatus is preconfigured with multiple codebooks and an index of each codebook, or the first apparatus and the second apparatus are both preconfigured with multiple codebooks and an index of each codebook, and the M codebooks belong to the multiple codebooks. In this case, the indication information may be the index of the M codebooks.

[0175] For example, the first apparatus and the second apparatus are pre-configured with 8 codebooks, codebook #1 to codebook #8, and the indexes of codebook #1 to codebook #8 are 1 to 8. If the M codebooks determined by the first apparatus are codebook #1 to codebook #5, the indication information is indexes 1 to 5.

[0176] It is understood that after determining the M codebooks, the first device may send indication information. After the second device receives the indication information, the second device may determine the M codebooks according to the indication information.

[0177] Specifically, after the second device receives the indication information, if the indication information includes M codebooks, the second device can obtain the M codebooks from the indication information; if the indication information includes indexes of the M codebooks, the second device can determine the M codebooks corresponding to the indexes of the M codebooks from the preconfigured multiple codebooks and the indexes of each codebook according to the indexes of the M codebooks.

[0178] In the embodiment of the present application, N groups of second data are quantized using M codebooks, which can reduce overhead during data transmission.

[0179] In one possible design, the transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold.

[0180] The transmission overhead corresponding to the M codebooks includes at least one of the following: codebook indication overhead, group identifier overhead, or transmission overhead after the N groups of second data are quantized.

[0181] The codebook indication overhead is the overhead required to transmit information indicating M codebooks, such as the overhead required to transmit M codebooks, or the overhead required to transmit the indexes of M codebooks. The expression for the overhead required to transmit M codebooks is: The codebook size for quantizing the i-th group of second data in the N groups of second data, d i The codeword dimension for quantizing the i-th group of second data; x can refer to the aforementioned related introduction and will not be repeated here.

[0182] The group identifier overhead is the overhead required to transmit N sets of second data. The group identifiers of these N sets of second data are used to indicate the correspondence between the N sets of second data and the first data. For example, if there are four sets of second data, two bits (00, 01, 10, and 11) can be used to represent each of the four sets of second data. In this case, the group identifier is a number of bits that, based on the order of the first data, use different bits to indicate which set of second data each piece of first data belongs to. The expression for the group identifier overhead is: Q*log2N, where Q is the total number of first data pieces.

[0183] The transmission overhead after N groups of second data are quantized is the overhead required to transmit N groups of second data quantized by M codebooks; its expression is: Among them, Q i is the total number of data corresponding to the i-th group of second data in N groups of second data, d i The codeword dimension for quantizing the second data of the i-th group, k i A codebook size for quantizing the i-th group of second data.

[0184] The transmission overhead threshold represents the maximum transmission overhead corresponding to the first data, and the transmission overhead threshold can be determined by the transmission resource corresponding to the first data and the modulation and coding scheme (MCS). That is, the bit rate can be first determined using the MCS, and then the maximum transmission overhead corresponding to the first data, such as the maximum number of bits allowed to be transmitted, can be determined based on the bit rate and the transmission resource. It is understood that the transmission overhead threshold can also be determined by other methods, which are not limited here.

[0185] Specifically, after determining Y codebooks, the transmission overhead corresponding to the Y codebooks can be determined, and a determination can be made as to whether the transmission overhead is less than a transmission overhead threshold, where Y is a positive integer. If the transmission overhead corresponding to the Y codebooks is less than the transmission overhead threshold, then Y is M. There are three methods for determining whether the transmission overhead is less than the transmission overhead threshold, each of which is described below.

[0186] Method 1: The first device determines whether the transmission overhead corresponding to the Y codebooks is less than a transmission overhead threshold.

[0187] Specifically, after the first device determines Y codebooks, the transmission overhead corresponding to the Y codebooks can be determined according to the expression of the transmission overhead, and the transmission overhead can be compared with the transmission overhead threshold to determine whether the transmission overhead corresponding to the Y codebooks is less than the transmission overhead threshold.

[0188] Mode 2: The first device sends the transmission overheads corresponding to Y codebooks, and the second device determines whether the transmission overheads corresponding to the Y codebooks are less than a transmission overhead threshold.

[0189] Specifically, after determining Y codebooks, the first device may send the first information, and correspondingly, the second device receives the first information.

[0190] The first information is used to indicate the transmission overhead corresponding to Y codebooks. The first information may be the transmission overhead corresponding to the Y codebooks, or the index of the Y codebooks. After receiving the first information, the second device may determine the transmission overhead corresponding to the Y codebooks based on the first information. For example, when the first information is the transmission overhead corresponding to the Y codebooks, the second device may directly obtain the transmission overhead based on the first information. For another example, when the first information is the index of the Y codebooks, the second device may determine the Y codebooks based on the index, and then calculate the transmission overhead corresponding to the Y codebooks based on the Y codebooks.

[0191] After obtaining the transmission overhead corresponding to Y codebooks, the second device may compare the transmission overhead with the transmission overhead threshold to determine whether the transmission overhead corresponding to Y codebooks is less than the transmission overhead threshold. After determining that the transmission overhead corresponding to Y codebooks is less than the transmission overhead threshold, the second device may transmit second information. Accordingly, the first device receives the second information. This second information indicates that Y codebooks are used, meaning that the transmission overhead corresponding to Y codebooks is less than the transmission overhead threshold, meaning that Y codebooks are available. In other words, Y is M in this case.

[0192] Mode 3: After determining Y codebooks, the second device determines whether the transmission overhead corresponding to the Y codebooks is less than a transmission overhead threshold.

[0193] After the second device determines Y codebooks based on relevant information such as the number of packets from the first device, it can determine the transmission overhead of the Y codebooks based on the Y codebooks and each transmission overhead, and determine whether the transmission overhead corresponding to the Y codebooks is less than the transmission overhead threshold. When the transmission overhead corresponding to the Y codebooks is less than the transmission overhead threshold, the second device can send the second information. Accordingly, the first device receives the second information. The second information indicates the Y codebooks, and after receiving the second information, the first device can determine the Y codebooks from the second information. In other words, the Y codebooks used by the first device can be directly indicated by the second device. That is, Y is M at this time.

[0194] It can be understood that the above three methods can be selected according to actual conditions. For example, when the first device determines Y codebooks and a transmission overhead threshold is pre-configured therein, the above method 1 can be adopted. For another example, when the first device determines Y codebooks and a transmission overhead threshold is not pre-configured therein, the above method 2 can be adopted. For another example, when the second device determines Y codebooks, the above method 3 can be adopted.

[0195] It will also be understood that if the transmission overhead corresponding to the Y codebooks is greater than or equal to the transmission overhead threshold, the number of groups and the distribution slope threshold can be adjusted based on the codebook configuration. After the adjustments, the aforementioned steps can be repeated to ensure that the transmission overhead corresponding to the M codebooks ultimately determined is less than the transmission overhead threshold. It will be understood that in this case, M is different from Y. The following describes how to adjust the number of groups and the distribution slope threshold based on the codebook configuration.

[0196] Case 1:

[0197] The second device is preconfigured or predefined with multiple codebooks, or the first device and the second device are preconfigured or predefined with multiple codebooks, and the multiple codebooks include Y codebooks. In this case, the indication information includes the indexes of the Y codebooks, that is, the overhead of the indication information is relatively small. Therefore, when the first device sends the indication information, the group identifier and the quantized N groups of second data, the main considerations are the overhead of the group identifier and the overhead of the N groups of second data after being quantized. From the above-mentioned expressions of the overhead of the group identifier and the overhead of the N groups of second data after being quantized, it can be seen that: at this time, the overhead of the group identifier accounts for a large proportion, and the number of groups should be reduced, thereby reducing the transmission overhead; because reducing the number of groups will reduce the distribution slope of each group of data, the distribution slope threshold should also be lowered.

[0198] For example, the second device is preconfigured or predefined with multiple codebooks, or the first and second devices are preconfigured or predefined with multiple codebooks. The first device divides the first data into four groups of second data and determines four codebooks based on the four groups of second data. When the transmission overhead corresponding to the four codebooks is greater than or equal to the transmission overhead threshold, the number of groups can be reduced and the distribution slope threshold can be lowered. That is, the first data is re-determined into three groups of second data; when the distribution slope of each of the three groups of second data is greater than the distribution slope threshold, three codebooks are determined based on the three groups of second data, and then it is determined whether the transmission overhead corresponding to the three codebooks is less than the transmission overhead threshold. If the transmission overhead corresponding to the three codebooks is greater than or equal to the transmission overhead threshold, the number of groups is again reduced, the distribution slope threshold is lowered, and the above steps are repeated until the transmission overhead corresponding to the determined M codebooks is less than the transmission overhead threshold. If the transmission overhead corresponding to the three codebooks is less than the transmission overhead threshold, it indicates that the three codebooks are available, that is, M is 3.

[0199] Case 2:

[0200] The second device is not pre-configured or pre-defined with multiple codebooks. In this case, the indication information includes Y codebooks, that is, the overhead of the indication information is relatively large. Therefore, when the first device sends the indication information, the group identifier and the quantized N groups of second data, the main considerations are the codebook indication overhead, the group identifier overhead and the overhead of the N groups of second data after being quantized. From the aforementioned expressions of the codebook indication overhead, the group identifier overhead and the expression of the overhead after the N groups of second data are quantized, it can be seen that: at this time, the codebook indication overhead accounts for a large proportion, and the number of groups should be increased to reduce the transmission overhead; because increasing the number of groups will increase the distribution slope of each group of data, therefore, the distribution slope threshold should also be increased.

[0201] For example, the second device is not pre-configured or pre-defined with multiple codebooks. The first device divides the first data into 4 groups of second data, and determines 4 codebooks based on the 4 groups of second data. When the transmission overhead corresponding to the 4 codebooks is greater than or equal to the transmission overhead threshold, the number of groups can be increased and the distribution slope threshold can be increased, that is, the first data is re-determined as 5 groups of second data; when the distribution slope of each group of second data in the 5 groups of second data is greater than the distribution slope threshold, 5 codebooks are determined based on the 5 groups of second data, and then it is determined whether the transmission overhead corresponding to the 5 codebooks is less than the transmission overhead threshold. If the transmission overhead corresponding to the 5 codebooks is greater than or equal to the transmission overhead threshold, the number of groups is increased again, the distribution slope is increased, and the above steps are repeated until the transmission overhead corresponding to the determined M codebooks is less than the transmission overhead threshold. If the transmission overhead corresponding to the 5 codebooks is less than the transmission overhead threshold, it means that 5 codebooks are available, that is, M is 5.

[0202] It is understandable that other methods may be used to adjust the number of groups and the distribution slope threshold, which are not limited here.

[0203] In one possible design, after determining the M codebooks, the M codebooks can be used to quantize the N sets of second data, respectively, to obtain codewords corresponding to the N sets of quantized second data (referred to as third data), i.e., codewords corresponding to the quantized data corresponding to the N sets of second data. In other words, the first device can also send the third data to the second device. Accordingly, the second device receives the third data.

[0204] There are three orders for sending the third data, which are described below.

[0205] Mode 1: The third data is sent in the order of the group identifiers of the N groups of second data.

[0206] The group identifier refers to the group of second data to which each data item in the third data belongs. For example, if the first quantized group of second data includes the four codewords 00, 01, 00, and 11, the group identifier indicates that these four codewords 00, 01, 00, and 11 belong to the first quantized group of second data. The order of the group identifiers of the N groups of second data refers to the sequential transmission of the codewords corresponding to the groups of second data to which each data item in the third data belongs.

[0207] Specifically, when sending the third data, the first quantized group of second data is transmitted first, and then the second quantized group of second data is transmitted, that is, the N quantized groups of second data are transmitted in sequence until the last quantized group of second data is transmitted.

[0208] For example, as shown in Figure 10, each small square in Figure 10 represents a codeword, and the number in each small square indicates which group of second data the codeword represented by the small square belongs to. For example, if the number in the first small square is 1, it means that the codeword represented by the small square belongs to the first group of codewords. There are four groups of second data in total: second data #1, second data #2, second data #3, and second data #4. After quantization, these four groups of second data correspond to 100, 200, 150, and 200 codewords, respectively. When transmitting the third data, the 100 codewords corresponding to second data #1 are transmitted first. After these 100 codewords are transmitted, the 200 codewords corresponding to second data #2 are transmitted. After these 200 codewords are transmitted, the 150 codewords corresponding to second data #3 are transmitted. After these 150 codewords are transmitted, the 200 codewords corresponding to second data #3 are transmitted last. That is, the first ellipsis in Figure 10 represents the multiple codewords corresponding to the quantized second data #1, the second ellipsis represents the multiple codewords corresponding to the quantized second data #2, the third ellipsis represents the multiple codewords corresponding to the quantized second data #3, and the fourth ellipsis represents the multiple codewords corresponding to the quantized second data #4.

[0209] Mode 2: The third data is sent in the order of codeword interleaving of the quantized groups of second data.

[0210] Codeword interleaving refers to interleaving codewords belonging to different quantized second data groups before sending them. The purpose of codeword interleaving is to ensure that in the transmission order of the third data, two adjacent codewords are unlikely to be the same codewords in the quantized second data group.

[0211] Specifically, before sending the third data, one codeword can be taken from each of the N groups of quantized second data, and the N codewords can be spliced ​​together. According to this rule, codewords from different groups can be spliced ​​together in sequence until all the N groups of quantized second data are spliced ​​together.

[0212] For example, as shown in Figure 11, each small square in Figure 11 represents a codeword, and the number in each small square indicates which group of second data the codeword represented by the small square belongs to. There are four groups of second data, namely second data #1, second data #2, second data #3, and second data #4. The four groups of second data after quantization each correspond to 100 codewords. When interleaving each codeword, a codeword is taken from second data #1 and determined as the first codeword in the third data; a codeword is taken from second data #2 and determined as the second codeword in the third data; a codeword is taken from second data #3 and determined as the third codeword in the third data; a codeword is taken from second data #4 and determined as the fourth codeword in the third data; and this rule is repeated to determine the subsequent codewords in sequence. That is, the ellipsis in Figure 11 represents the multiple codewords corresponding to each group of second data after quantization arranged according to this rule.

[0213] It can be understood that if the number of codewords corresponding to the N groups of quantized second data is different, you can first take one codeword from each of the N groups of quantized second data, splice the N codewords together, and splice according to this rule until there is a group of quantized second data that has been completely spliced ​​together. At this time, there are still N-1 groups of quantized second data left, then continue to take one codeword from each of the N-1 groups of quantized second data, splice the N-1 codewords together, and splice according to this rule until there is a group of quantized second data that has been completely spliced ​​together. Splicing is carried out according to this rule until only one group of quantized second data remains, and all the remaining codewords of the quantized second data are spliced ​​at the end of the arranged codewords.

[0214] For example, as shown in Figure 12, each small square in Figure 12 represents a codeword, and the number in each small square indicates which group of second data the codeword represented by the small square belongs to. There are four groups of second data, namely second data #1, second data #2, second data #3, and second data #4. After quantization, the four groups of second data correspond to 100, 200, 150, and 220 codewords, respectively. When interleaving each codeword, a codeword is taken from second data #1 and determined as the first codeword in the third data; a codeword is taken from second data #2 and determined as the second codeword in the third data; a codeword is taken from second data #3 and determined as the third codeword in the third data; and a codeword is taken from second data #4 and determined as the fourth codeword in the third data. According to this rule, the order of the 400 codewords can be determined. That is, the first ellipsis in Figure 12 represents the multiple codewords corresponding to this order. At this point, the codebook for the second data #1 has been completely spliced ​​together, and then one codeword is taken from each of the second data #2, second data #3, and second data #4 for splicing. According to this rule, the order of the 150 codewords can be further determined. At this point, the codebook for the second data #3 has been completely spliced ​​together, and then one codeword is taken from each of the second data #2 and second data #4 for splicing. According to this rule, the order of the 100 codewords can be further determined. That is, the second ellipsis in Figure 12 represents multiple codewords that are first spliced ​​together in the order of taking one codeword each from the second data #2, second data #3, and second data #4, and then multiple codewords that are spliced ​​together in the order of taking one codeword each from the second data #2 and second data #4. At this time, the codebook of the second data #2 has been completely spliced, leaving only 20 codewords in the second data #4. These 20 codewords are then all spliced ​​at the end of the arranged codewords, that is, the third ellipsis in FIG12 represents the multiple codewords corresponding to the quantized second data #4.

[0215] It can also be understood that there can be multiple orders for taking one codeword from each of the N groups of quantized second data and splicing the N codewords together, such as: arranging them in sequence according to the N groups of quantized second data, or arranging them in other orders, which are not limited here.

[0216] Mode 3: The third data is transmitted in the order of the data in the first data.

[0217] The data sequence of the first data refers to the sequence of original data before the first data is grouped.

[0218] Specifically, the third data is arranged in the data sequence of the first data and then sent.

[0219] For example, as shown in Figure 13, each small square in Figure 13 represents a codeword, and the number in each small square indicates which group of second data the codeword represented by the small square belongs to. There are four groups of second data, namely second data #1, second data #2, second data #3, and second data #4. The data order of the first data is second data #1, second data #2, second data #1, second data #3, second data #1, second data #4, ..., second data #1, second data #4. Therefore, the order of the third data is second data #1, second data #2, second data #1, second data #3, second data #1, second data #4, ..., second data #1, second data #4. That is, the ellipsis in Figure 13 represents multiple codewords arranged in the data order of the first data.

[0220] It is understood that when the first device transmits the third data in the three aforementioned modes, it also transmits the transmission mode used, so that the second device can classify the third data according to the transmission mode and obtain the codewords corresponding to each group of quantized second data. The first device can use a variety of transmission modes. For example, in mode 1, the first device can transmit the number and position of the codewords corresponding to each group of quantized second data, which is not limited here.

[0221] In one possible design, the first device sends a group identifier. Correspondingly, the second device receives the group identifier. For an introduction to the group identifier, please refer to the previous description and will not be repeated here.

[0222] After receiving the third data, the group identifier, and the indication information from the first device, the second device may determine the quantized data corresponding to the first data based on the third data, the group identifier, and the indication information. Specifically, M codebooks may be determined based on the indication information, and the data corresponding to each codeword in the third data may be determined based on the third data and the M codebooks, thereby determining the fourth data. The data sequence of the fourth data may then be adjusted based on the group identifier to obtain the quantized data corresponding to the first data.

[0223] It can also be understood that when the first device sends the third data and / or group identifier, it can be sent together with the indication information, or it can be sent in a certain order, which is not limited here.

[0224] For example, Figure 14 is a second flow chart of a communication method provided in an embodiment of the present application. This method is a specific implementation of sending information indicating M codebooks in the embodiment of Figure 4, and this method can be applied to communication between the first device and the second device in the above communication system.

[0225] As shown in FIG14 , the process of the above communication method is as follows:

[0226] S1401: The first device determines N groups of second data of the first data.

[0227] N is an integer greater than 1. For the specific implementation of determining N groups of second data for the first data, reference may be made to the description of the embodiment of Figure 4. After determining the N groups of second data, the method may proceed to S1402.

[0228] S1402: The first device determines N codebook sets according to data distribution characteristics of N groups of second data.

[0229] For a specific implementation of determining N codebook sets based on the data distribution characteristics of the N groups of second data, reference may be made to the description of the embodiment of Figure 4. After the N codebook sets are determined, the method may proceed to S1403.

[0230] S1403: The first apparatus determines M codebooks according to the transmission overhead corresponding to each codebook in the N codebook sets.

[0231] M is a positive integer less than or equal to N. For a specific implementation of determining the M codebooks based on the transmission overhead corresponding to each codebook in the N codebook set, reference may be made to the description of the embodiment of FIG4. After determining the M codebooks, the method may proceed to S1404 or S1405.

[0232] S1404: The first device determines that the transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold.

[0233] For a specific implementation of determining whether the transmission overhead corresponding to the M codebooks is less than the transmission overhead threshold, reference may be made to the description of the embodiment of Figure 4. After determining that the transmission overhead corresponding to the M codebooks is less than the transmission overhead threshold, the method may proceed to S1407.

[0234] S1405: The first device sends the first information, and the second device receives the first information.

[0235] The first information indicates the transmission overhead corresponding to the M codebooks. The first device sends the transmission overhead corresponding to the M codebooks, and the second device determines whether the transmission overhead corresponding to the M codebooks is less than the transmission overhead threshold. For details on how to implement this, see the description of the embodiment in FIG4 . After the second device receives the first information, the method may proceed to S1406 .

[0236] S1406: The second device sends second information, and the first device receives the second information.

[0237] The second information indicates that M codebooks are used. After determining that the transmission overhead corresponding to the M codebooks is less than the transmission overhead threshold, the second device can send the second information. After the first device receives the second information, the method proceeds to S1407.

[0238] S1407: The first device sends information indicating the M codebooks. The second device receives the information indicating the M codebooks.

[0239] After the second device receives the information indicating the M codebooks, the method may proceed to S1408.

[0240] S1408: The second device determines M codebooks according to the information indicating the M codebooks.

[0241] For a specific implementation of determining the M codebooks according to the information indicating the M codebooks, reference may be made to the description of the embodiment in FIG. 4 .

[0242] S1409: The first device sends the codewords corresponding to the quantized N groups of second data and / or the group identifiers of the N groups of second data. The second device receives the quantized N groups of second data and / or the group identifiers of the N groups of second data.

[0243] It is understood that S1409 can be performed simultaneously with S1407, or they can be performed sequentially, such as performing S1409 first and then S1407, or performing S1407 first and then S1409, without limitation. After the second device receives the quantized N sets of second data and / or the grouping identifiers of the N sets of second data, the method can proceed to S1410.

[0244] S1410: The second device determines quantized data corresponding to the first data according to M codebooks, codewords corresponding to the quantized N groups of second data, and group identifiers of the N groups of second data.

[0245] For a specific implementation of determining the quantized data corresponding to the first data according to the M codebooks, the N groups of quantized second data, and the group identifiers of the N groups of second data, reference may be made to the description of the embodiment of FIG. 4 .

[0246] It can be understood that the specific implementation of the above S1402-S1406 can also be achieved through the following steps, such as S1411.

[0247] S1411: The second device determines M codebooks and sends second information. The first device receives the second information.

[0248] The second information indicates M codebooks. For the specific implementation of the second device determining the M codebooks, refer to the description of the embodiment in FIG. 4 . Furthermore, after determining the M codebooks, the second device may determine whether the transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold. When the transmission overhead corresponding to the M codebooks is less than the transmission overhead threshold, the second device transmits the second information.

[0249] The communication method provided in the embodiment of the present application is described in detail above in conjunction with Figures 4 to 14. The communication device for executing the communication method provided in the embodiment of the present application is described in detail below in conjunction with Figures 15 and 16.

[0250] Figure 15 is a structural diagram of a communication device according to an embodiment of the present application. For example, as shown in Figure 15 , the communication device 1500 includes a processing module 1501 and a transceiver module 1502. For ease of illustration, Figure 15 only shows the main components of the communication device.

[0251] In some embodiments, the communication device 1500 may be applicable to the communication system shown in FIG. 3 , and perform the function of the first device in the communication method shown in FIG. 4 or FIG. 14 .

[0252] For example, the processing module 1501 is configured to determine N groups of second data for the first data; the transceiver module 1502 is configured to send information indicating M codebooks, where the M codebooks are determined based on the N groups of second data, the M codebooks correspond one-to-one to the N groups of second data, and the M codebooks are used to quantize the N groups of second data, where N is an integer greater than 1, and M is a positive integer less than or equal to N.

[0253] In one possible design, each codebook in the M codebooks corresponds to at least one codebook set, the codebook set is related to data distribution characteristics, and the codebook set includes at least one codebook.

[0254] In a possible implementation, the codebook set is determined based on a correspondence between data distribution characteristics and codebooks.

[0255] In a possible implementation, the i-th codebook among the M codebooks is a codebook with the smallest transmission overhead in the codebook set to which the i-th codebook belongs, and i is an integer greater than or equal to 1 and less than or equal to M.

[0256] In one possible implementation, the data distribution feature includes a data distribution slope and / or data expectation.

[0257] In a possible implementation, a quantization error of a codebook in the codebook set is less than or equal to a quantization error threshold.

[0258] Furthermore, the quantization error threshold is preconfigured or predefined.

[0259] In one possible design, the transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold.

[0260] In a possible implementation, the transmission overhead includes at least one of the following: codebook indication overhead, group identifier overhead, or transmission overhead after the N groups of second data are quantized.

[0261] In one possible design, transceiver module 1502 is further configured to send first information, where the first information indicates transmission overhead corresponding to the M codebooks.

[0262] In one possible design, the transceiver module 1502 is further configured to receive second information, where the second information indicates that M codebooks are used, or the second information indicates M codebooks.

[0263] In a possible design solution, the transceiver module 1502 is further configured to send codewords corresponding to the quantized N groups of second data and / or group identifiers of the N groups of second data.

[0264] In one possible implementation, the sending order of the codewords corresponding to the N groups of quantized second data is any one of the following: the order of the group identifiers of the N groups of second data, the order after codeword interleaving of each group of quantized second data, or the order of data in the first data.

[0265] In one possible implementation, the transceiver module 1502 may include a receiving module and a sending module (not shown in FIG15 ). The transceiver module is used to implement the sending function and the receiving function of the communication device 1500 .

[0266] In one possible implementation, the communication device 1500 may further include a storage module (not shown in FIG. 15 ) storing a program or instruction. When the processing module 1501 executes the program or instruction, the communication device 1500 may perform the function of the first device in the communication method shown in any one of FIG. 4 to FIG. 14 .

[0267] It should be understood that the processing module 1501 involved in the communication device 1500 can be implemented by a processor or a processor-related circuit component, which can be a processor or a processing unit; the transceiver module 1502 can be implemented by a transceiver or a transceiver-related circuit component, which can be a transceiver or a transceiver unit.

[0268] It can be understood that the communication device 1500 can be a terminal device or a network device, or a chip (system) or other parts or components that can be set in the terminal device or network device, or a device that includes a terminal device or a network device. This application does not limit this.

[0269] In addition, the technical effects of the communication device 1500 can refer to the technical effects of the communication method shown in any one of Figures 4 to 14, and will not be repeated here.

[0270] In some other embodiments, the communication device 1500 may be applicable to the communication system shown in FIG. 3 , and perform the function of the second device in the communication method shown in FIG. 4 or FIG. 14 .

[0271] For example, the transceiver module 1502 is configured to receive information indicating M codebooks; the processing module 1501 is configured to determine the M codebooks based on the information. The M codebooks are determined based on N sets of second data, the M codebooks have a one-to-one correspondence with the N sets of second data, the M codebooks are used to quantize the N sets of second data, the N sets of second data are determined based on the first data, N is an integer greater than 1, and M is a positive integer less than or equal to N.

[0272] In one possible design, each codebook in the M codebooks corresponds to at least one codebook set, the codebook set is related to data distribution characteristics, and the codebook set includes at least one codebook.

[0273] In a possible implementation, the codebook set is determined based on a correspondence between data distribution characteristics and codebooks.

[0274] In a possible implementation, the i-th codebook among the M codebooks is a codebook with the smallest transmission overhead in the codebook set to which the i-th codebook belongs, and i is an integer greater than or equal to 1 and less than or equal to M.

[0275] In one possible implementation, the data distribution feature includes a data distribution slope and / or data expectation.

[0276] In a possible implementation, a quantization error of a codebook in the codebook set is less than or equal to a quantization error threshold.

[0277] Furthermore, the quantization error threshold is preconfigured or predefined.

[0278] In one possible design, the transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold.

[0279] In a possible implementation, the transmission overhead includes at least one of the following: codebook indication overhead, group identifier overhead, or transmission overhead after the N groups of second data are quantized.

[0280] In one possible design, transceiver module 1502 is further configured to receive first information, where the first information indicates transmission overhead corresponding to the M codebooks.

[0281] In one possible design, the transceiver module 1502 is further configured to send second information, where the second information indicates that M codebooks are used, or the second information indicates M codebooks.

[0282] In a possible design, the transceiver module 1502 is further configured to receive codewords corresponding to the quantized N groups of second data and / or group identifiers of the N groups of second data.

[0283] In a possible implementation, the processing module 1501 is further configured to determine quantized data corresponding to the first data according to the M codebooks, the codewords corresponding to the N groups of quantized second data, and the group identifiers.

[0284] In one possible implementation, the sending order of the codewords corresponding to the N groups of quantized second data is any one of the following: the order of the group identifiers of the N groups of second data, the order after codeword interleaving of each group of quantized second data, or the order of data in the first data.

[0285] In one possible implementation, the communication device 1500 may further include a storage module (not shown in FIG. 15 ) storing a program or instruction. When the processing module 1501 executes the program or instruction, the communication device 1500 may perform the function of the second device in the communication method shown in FIG. 4 .

[0286] It should be understood that the processing module 1501 involved in the communication device 1500 can be implemented by a processor or a processor-related circuit component, which can be a processor or a processing unit; the transceiver module 1502 can be implemented by a transceiver or a transceiver-related circuit component, which can be a transceiver or a transceiver unit.

[0287] It can be understood that the communication device 1500 can be a terminal device or a network device, or a chip (system) or other parts or components that can be set in the terminal device or network device, or a device that includes a terminal device or a network device. This application does not limit this.

[0288] In addition, the technical effects of the communication device 1500 can refer to the technical effects of the communication method shown in any one of Figures 4 to 14, and will not be repeated here.

[0289] Figure 16 is a second structural diagram of a communication device provided in an embodiment of the present application. Exemplarily, the communication device may be a terminal device or a network device, or a chip (system) or other component or assembly that can be provided in a terminal device or a network device. As shown in Figure 16, the communication device 1600 may include a processor 1601. In one possible implementation, the communication device 1600 may further include a memory 1602 and / or a transceiver 1603. The processor 1601 is coupled to the memory 1602 and the transceiver 1603, such as by a communication bus.

[0290] The following is a detailed introduction to the various components of the communication device 1600 with reference to FIG16 :

[0291] The processor 1601 is the control center of the communication device 1600 and can be a single processor or a collective term for multiple processing elements. For example, the processor 1601 can be one or more central processing units (CPUs), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application, such as one or more digital signal processors (DSPs) or one or more field programmable gate arrays (FPGAs).

[0292] In one possible implementation, the processor 1601 may execute various functions of the communication device 1600 by running or executing software programs stored in the memory 1602 and calling data stored in the memory 1602 .

[0293] In a specific implementation, as an embodiment, the processor 1601 may include one or more CPUs, such as CPU0 and CPU1 shown in FIG16 .

[0294] In a specific implementation, as an embodiment, the communication device 1600 may also include multiple processors, such as the processor 1601 and the processor 1604 shown in FIG16 . Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0295] Among them, the memory 1602 is used to store the software program for executing the solution of this application, and the execution is controlled by the processor 1601. The specific implementation method can refer to the above method embodiment and will not be repeated here.

[0296] In one possible implementation, the memory 1602 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, an optical disc storage (including a compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1602 may be integrated with the processor 1601 or exist independently and be coupled to the processor 1601 via an interface circuit (not shown in FIG. 16 ) of the communication device 1600, which is not specifically limited in this embodiment of the present application.

[0297] Transceiver 1603 is used for communication with other communication devices. For example, if communication device 1600 is a terminal device, transceiver 1603 can be used to communicate with a network device or another terminal device. For another example, if communication device 1600 is a network device, transceiver 1603 can be used to communicate with a terminal device or another network device.

[0298] In a possible implementation, the transceiver 1603 may include a receiver and a transmitter (not shown separately in FIG16 ), wherein the receiver is used to implement a receiving function, and the transmitter is used to implement a sending function.

[0299] In one possible implementation, the transceiver 1603 can be integrated with the processor 1601, or it can exist independently and be coupled to the processor 1601 through the interface circuit of the communication device 1600 (not shown in Figure 16). This embodiment of the present application does not specifically limit this.

[0300] It should be noted that the structure of the communication device 1600 shown in FIG16 does not constitute a limitation on the communication device. An actual communication device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0301] In addition, the technical effects of the communication device 1600 can refer to the technical effects of the communication method described in the above method embodiment, and will not be repeated here.

[0302] It should be understood that the processor in the embodiments of the present application may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0303] It should also be understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0304] The above embodiments can be implemented in whole or in part by software, hardware (such as circuits), firmware or any other combination. When implemented using software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer program are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (such as infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a tape), an optical medium (for example, a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state drive.

[0305] The present application also provides a chip, which includes a processor coupled to a memory, and configured to execute a computer program stored in the memory, so that the chip can perform the method provided in the present application.

[0306] It should be understood that the term "and / or" as used herein simply describes a relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A alone, A and B together, or B alone. A and B can be singular or plural. Furthermore, the character " / " as used herein generally indicates an "or" relationship between the associated objects, but it may also indicate an "and / or" relationship. For specific understanding, please refer to the context.

[0307] In this application, "at least one" means one or more, and "plurality" means two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or plural.

[0308] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0309] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0310] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0311] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0312] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0313] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0314] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0315] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A communication method, It is characterized in that The method comprises: Determine N groups of second data of the first data, where N is an integer greater than 1; Send information indicating M codebooks, where the M codebooks are determined according to the N groups of second data, the M codebooks correspond one-to-one to the N groups of second data, the M codebooks are used to quantize the N groups of second data, and M is a positive integer less than or equal to N.

2. The method according to claim 1, It is characterized in that Each codebook in the M codebooks corresponds to at least one codebook set, the codebook set is related to data distribution characteristics, and the codebook set includes at least one codebook.

3. The method according to claim 2, It is characterized in that The codebook set is determined according to the corresponding relationship between the data distribution characteristics and the codebook.

4. The method according to claim 2 or 3, It is characterized in that The i-th codebook among the M codebooks is a codebook with the smallest transmission overhead in the codebook set to which the i-th codebook belongs, and i is an integer greater than or equal to 1 and less than or equal to M.

5. The method according to any one of claims 2 to 4, It is characterized in that The data distribution characteristics include data distribution slope and / or data expectation.

6. The method according to any one of claims 2 to 5, It is characterized in that A quantization error of a codebook in the codebook set is less than or equal to a quantization error threshold.

7. The method according to claim 6, It is characterized in that The quantization error threshold is preconfigured or predefined.

8. The method according to any one of claims 1 to 7, It is characterized in that The transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold.

9. The method according to claim 8, It is characterized in that The transmission overhead includes at least one of the following: codebook indication overhead, group identifier overhead, or transmission overhead after the N groups of second data are quantized.

10. The method according to any one of claims 1 to 9, It is characterized in that The method further comprises: Sending first information, where the first information indicates transmission overhead corresponding to the M codebooks.

11. The method according to any one of claims 1 to 10, It is characterized in that The method further comprises: Second information is received, where the second information indicates that the M codebooks are used, or the second information indicates the M codebooks.

12. The method according to any one of claims 1 to 11, It is characterized in that The method further comprises: Send the quantized codewords corresponding to the N groups of second data and / or group identifiers of the N groups of second data.

13. The method according to claim 12, It is characterized in that The codewords are sent in any one of the following order: according to the order of grouping identifiers of the N groups of second data, according to the order of codeword interleaving of the quantized groups of second data, or according to the order of data in the first data.

14. A communication method, It is characterized in that The method comprises: receiving information indicating M codebooks, where the M codebooks are determined according to the N groups of second data, the M codebooks correspond one-to-one to the N groups of second data, the M codebooks are used to quantize the N groups of second data, the N groups of second data are determined according to the first data, N is an integer greater than 1, and M is a positive integer less than or equal to N; The M codebooks are determined according to the information.

15. The method according to claim 14, It is characterized in that Each codebook in the M codebooks corresponds to at least one codebook set, the codebook set is related to data distribution characteristics, and the codebook set includes at least one codebook.

16. The method according to claim 15, It is characterized in that The codebook set is determined according to the corresponding relationship between the data distribution characteristics and the codebook.

17. The method according to claim 15 or 16, It is characterized in that The i-th codebook among the M codebooks is a codebook with the smallest transmission overhead in the codebook set to which the i-th codebook belongs, and i is an integer greater than or equal to 1 and less than or equal to M.

18. The method according to any one of claims 15 to 17, It is characterized in that The data distribution characteristics include data distribution slope and / or data expectation.

19. The method according to any one of claims 15 to 18, It is characterized in that A quantization error of a codebook in the codebook set is less than or equal to a quantization error threshold.

20. The method according to claim 19, It is characterized in that The quantization error threshold is preconfigured or predefined.

21. The method according to any one of claims 14 to 20, It is characterized in that The transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold.

22. The method according to claim 21, It is characterized in that The transmission overhead includes at least one of the following: codebook indication overhead, group identifier overhead, or transmission overhead after the N groups of second data are quantized.

23. The method according to any one of claims 14 to 22, It is characterized in that The method further comprises: First information is received, where the first information indicates transmission overhead corresponding to the M codebooks.

24. The method according to any one of claims 14 to 23, It is characterized in that The method further comprises: Second information is sent, where the second information indicates that the M codebooks are used, or the second information indicates the M codebooks.

25. The method according to any one of claims 14 to 24, It is characterized in that The method further comprises: Receive the quantized codewords corresponding to the N groups of second data and / or group identifiers of the N groups of second data.

26. The method according to claim 25, It is characterized in that The method further comprises: Determine quantized data corresponding to the first data according to the M codebooks, the codewords and the grouping identifier.

27. The method according to claim 25 or 26, It is characterized in that The codeword transmission order is any one of the following: the order of grouping identifiers of the N groups of second data, the order of codeword interleaving of the quantized groups of second data, or the order of data in the first data.

28. A communication device, It is characterized in that The device comprises: A processing module, used to determine N groups of second data of the first data, where N is an integer greater than 1; a transceiver module, configured to send information indicating the M codebooks, where the M codebooks are determined according to the N groups of second data, the M codebooks correspond one-to-one to the N groups of second data, and the M codebooks are used to quantize the N groups of second data, where M is a positive integer less than or equal to N.

29. The device according to claim 28, It is characterized in that Each codebook in the M codebooks corresponds to at least one codebook set, the codebook set is related to data distribution characteristics, and the codebook set includes at least one codebook.

30. The device according to claim 29, It is characterized in that The codebook set is determined according to the corresponding relationship between the data distribution characteristics and the codebook.

31. The device according to claim 29 or 30, It is characterized in that The i-th codebook among the M codebooks is a codebook with the smallest transmission overhead in the codebook set to which the i-th codebook belongs, and i is an integer greater than or equal to 1 and less than or equal to M.

32. The device according to any one of claims 29 to 31, It is characterized in that The data distribution characteristics include data distribution slope and / or data expectation.

33. The device according to any one of claims 29 to 32, It is characterized in that A quantization error of a codebook in the codebook set is less than or equal to a quantization error threshold.

34. The device according to claim 33, It is characterized in that The quantization error threshold is preconfigured or predefined.

35. The device according to any one of claims 28 to 34, It is characterized in that The transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold.

36. The device according to claim 35, It is characterized in that The transmission overhead includes at least one of the following: codebook indication overhead, group identifier overhead, or transmission overhead after the N groups of second data are quantized.

37. The device according to any one of claims 28 to 36, It is characterized in that The transceiver module is further used to send first information, where the first information indicates transmission overhead corresponding to the M codebooks.

38. The device according to any one of claims 28 to 37, It is characterized in that The transceiver module is further used to receive second information, where the second information indicates that the M codebooks are used, or the second information indicates the M codebooks.

39. The device according to any one of claims 28 to 38, It is characterized in that The transceiver module is further used to send the quantized code words corresponding to the N groups of second data and / or the grouping identifiers of the N groups of second data.

40. The device according to claim 39, It is characterized in that The codeword transmission order is any one of the following: the order of grouping identifiers of the N groups of second data, the order of codeword interleaving of the quantized groups of second data, or the order of data in the first data.

41. A communication device, It is characterized in that The device comprises: a transceiver module, configured to receive information indicating M codebooks, where the M codebooks are determined according to the N groups of second data, the M codebooks correspond one-to-one to the N groups of second data, the M codebooks are used to quantize the N groups of second data, the N groups of second data are determined according to the first data, N is an integer greater than 1, and M is a positive integer less than or equal to N; A processing module is used to determine the M codebooks according to the information.

42. The device according to claim 41, It is characterized in that Each codebook in the M codebooks corresponds to at least one codebook set, the codebook set is related to data distribution characteristics, and the codebook set includes at least one codebook.

43. The device according to claim 42, It is characterized in that The codebook set is determined according to the corresponding relationship between the data distribution characteristics and the codebook.

44. The device according to claim 42 or 43, It is characterized in that The i-th codebook among the M codebooks is a codebook with the smallest transmission overhead in the codebook set to which the i-th codebook belongs, and i is an integer greater than or equal to 1 and less than or equal to M.

45. The device according to any one of claims 42 to 44, It is characterized in that The data distribution characteristics include data distribution slope and / or data expectation.

46. ​​The device according to any one of claims 42 to 45, It is characterized in that A quantization error of a codebook in the codebook set is less than or equal to a quantization error threshold.

47. The device according to claim 46, It is characterized in that The quantization error threshold is preconfigured or predefined.

48. The device according to any one of claims 41 to 47, It is characterized in that The transmission overhead corresponding to the M codebooks is less than a transmission overhead threshold.

49. The device according to claim 48, It is characterized in that The transmission overhead includes at least one of the following: codebook indication overhead, group identifier overhead, or transmission overhead after the N groups of second data are quantized.

50. The device according to any one of claims 41 to 49, It is characterized in that The transceiver module is further configured to receive first information, where the first information indicates transmission overhead corresponding to the M codebooks.

51. The device according to any one of claims 41 to 50, It is characterized in that The transceiver module is further used to send second information, where the second information indicates that the M codebooks are used, or the second information indicates the M codebooks.

52. The device according to any one of claims 41 to 51, It is characterized in that The transceiver module is further configured to receive the quantized codewords corresponding to the N groups of second data and / or group identifiers of the N groups of second data.

53. The device according to claim 52, It is characterized in that The processing module is further configured to determine the first data according to the M codebooks, the codewords and the group identifier.

54. The device according to claim 52 or 53, It is characterized in that The codeword transmission order is any one of the following: the order of grouping identifiers of the N groups of second data, the order of codeword interleaving of the quantized groups of second data, or the order of data in the first data.

55. A communication device, It is characterized in that The communication device comprises: a processor and a memory; the memory is used to store computer instructions, and when the processor executes the instructions, the communication device executes the method as described in any one of claims 1-13, or executes the method as described in any one of claims 14-27.

56. A communication system, It is characterized in that The communication system comprises: an apparatus for executing the method according to any one of claims 1 to 13, and / or an apparatus for executing the method according to any one of claims 14 to 27.

57. A computer readable storage medium, It is characterized in that The computer-readable storage medium comprises a computer program or an instruction. When the computer program or the instruction is executed on a computer, the computer is caused to execute the method according to any one of claims 1 to 13, or execute the method according to any one of claims 14 to 27.

58. A computer program product, It is characterized in that The computer program product comprises a computer program or instructions, and when the computer program or instructions are executed by a communication device, the method according to any one of claims 1 to 13 or the method according to any one of claims 14 to 27 is executed.

59. A chip, It is characterized in that The chip includes a processor coupled to a memory, and the processor is configured to execute a computer program stored in the memory, so that the chip executes the method according to any one of claims 1 to 13, or executes the method according to any one of claims 14 to 27.