Data compression method and device and readable storage medium
Patent Information
- Application Number
- CN202380100233.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-30
- Publication Date
- 2026-02-03
AI Technical Summary
When the prior art compresses the fronthaul data, it is necessary to perform a large amount of calculations on the sending and receiving ends, which is of high complexity, resulting in increased system costs and increased transmission delay.
A data compression method is provided, which directly determines the bit value of the data code stream through the first mapping relationship, eliminates some operations in the quantization process, and reduces the computational complexity.
It reduces the complexity of data compression processing, reduces the demand for computing resources, and improves the efficiency and performance of the system.
Smart Images

Figure CN121464589A_ABST
Abstract
Description
Data compression method, device and readable storage medium Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data compression method, device, and readable storage medium. Background Art
[0002] In scenarios where antennas and radio frequencies are remotely located, the base station's antennas and radio frequency units are deployed at the far end, while the baseband and central computing nodes are deployed at the near end. Considering the data fronthaul between the far and near ends, during uplink transmission, the acquired sampled data needs to be transmitted to the central computing node via optical fiber / Ethernet for subsequent baseband processing, data fusion, and other operations. During downlink transmission, the data sent by the central computing node needs to be acquired, processed by the radio frequency unit, and then sent out through the antenna. However, as the number of antennas and distributed units increases, the amount of data that needs to be fronthauled also increases dramatically. To reduce the bandwidth requirements of the fronthaul link and lower system costs, the fronthaul data needs to be compressed.
[0003] However, the current scheme for compressing forwarded data requires a large amount of calculations at the sending and receiving ends, which requires a lot of computing resources and is highly complex.
[0004] Summary of the Invention
[0005] The embodiments of the present application provide a data compression method, device, and readable storage medium, which can reduce the complexity of data compression processing.
[0006] To achieve the above objectives, this application adopts the following technical solutions:
[0007] In the first aspect, a data compression method is provided, which can be executed by a first unit or by a module (such as a processor, a chip, or a chip system, etc.) applied to the first unit. The following is an example of the first unit executing the method, which includes: the first unit obtains the input data to be compressed. The first unit obtains a compressed code stream according to a first mapping relationship; wherein the first mapping relationship corresponds to the bit width and the first parameter, and the first mapping relationship includes multiple groups of corresponding value ranges of the first element and the bit value of the data code stream; the first element is determined based on the input data; the data code stream is a binary code stream corresponding to the value range of the first element; the value of the bit width is related to the number of bits of the bit value of the data code stream; the first parameter is used to determine the value range of the first element.
[0008] Based on the data compression method provided in the embodiment of the present application, the first unit can directly determine the bit value of the data code stream corresponding to the value of the first element according to the first mapping relationship, thereby eliminating the computational effort required for some operations (such as quantization) in the process of compressing the input data, and obtaining a compressed code stream, thereby reducing complexity.
[0009] In combination with the first aspect above, in one possible design, the first element is determined based on the input data, including: the first element is the input data; or, the first element is the real part and imaginary part of the input data; or, the first element is an element in the absolute value of the input data; or, the first element is an element in the vector obtained after normalization of the input data.
[0010] Based on this solution, the first unit can obtain the first element after performing certain processing on the input data, and thus can determine the corresponding data code stream according to the value of the first element and the first mapping relationship.
[0011] In combination with the above first aspect, in a possible design, the first mapping relationship is determined from the second mapping relationship based on the bit width and / or the first parameter, and the second mapping relationship includes the boundaries of the value ranges of all first elements in the first mapping relationship.
[0012] Based on this solution, the first mapping relationship can be included in the second mapping relationship, thereby saving storage resources.
[0013] In combination with the above first aspect, in a possible design, the first mapping relationship also includes multiple groups of bit values of corresponding data code streams and first recovery values; wherein the first recovery value is a result obtained by dequantizing the data code stream.
[0014] Based on this solution, the first mapping relationship can also be used to dequantize the data code stream.
[0015] In conjunction with the first aspect above, in one possible design, the first unit obtains a compressed code stream based on a first mapping relationship, including: the first unit performs block processing on the input data to obtain a block result. The first unit determines a data code stream corresponding to the block result based on the first mapping relationship. Then, the first unit packages the data code stream and a frame header to obtain a compressed code stream; wherein the frame header includes information indicating the first parameter.
[0016] In conjunction with the first aspect above, in one possible design, after obtaining the block result, the method further includes: the first unit normalizing the block result according to a normalization coefficient to obtain a normalized result. The first unit determining a data code stream corresponding to the block result according to a first mapping relationship includes: the first unit determining a data code stream corresponding to the normalized result according to the first mapping relationship.
[0017] Based on this solution, the first unit can also perform normalization processing on the block result to obtain a normalized result with a value within [0, 1] or [-1, 1], and then determine the data code stream corresponding to the normalized result.
[0018] In combination with the above first aspect, in a possible design, the frame header also includes information indicating a normalization coefficient; wherein the information indicating the normalization coefficient includes a uniform quantization value or a non-uniform quantization value of the normalization coefficient.
[0019] Based on this solution, the normalization coefficient can be indicated by indicating the quantized value of the normalization coefficient. Compared with directly indicating the normalization coefficient, the overhead required for indicating the quantized value of the normalization coefficient is smaller.
[0020] In combination with the above first aspect, in a possible design, the information indicating the first parameter includes a quantized value of the first parameter.
[0021] Based on this solution, the normalization coefficient can be indicated by indicating the quantized value of the first parameter. Compared with directly indicating the first parameter, the overhead required for indicating the quantized value of the first parameter is smaller.
[0022] In combination with the above-mentioned first aspect, in one possible design, the first parameter is determined based on an optimization index; wherein the optimization index includes at least one of the normalized mean square error NMSE, the generalized cosine similarity GCS, the transmission throughput, and the bit error rate corresponding to the recovered value obtained by dequantization of the data bit stream.
[0023] Based on this solution, the value of the first parameter that can make the compressed data more reliable and have smaller errors can be determined based on the optimization index, thereby providing better compression performance.
[0024] In combination with the above-mentioned first aspect, in a possible design, the method also includes: the first unit determines the compression parameter information based on the first transmission configuration; wherein the first transmission configuration is related to the signal bandwidth and / or the number of signal transmission streams; the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0025] Based on this solution, the first unit can determine compression parameter information based on the transmission configuration, so that the compressed code stream obtained based on the compression parameter information can ensure end-to-end performance. In addition, the first unit can dynamically update the compression parameter information based on the current transmission configuration.
[0026] In combination with the above-mentioned first aspect, in a possible design, the method also includes: the first unit obtains a third mapping relationship, the third mapping relationship includes the corresponding second transmission configuration and compression parameter information; wherein, the second transmission configuration is related to the modulation and coding method of the signal, and the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0027] Based on this solution, the first unit can determine the corresponding compression parameter information based on the second transmission configuration in the third mapping relationship, so that the compressed code stream obtained based on the compression parameter information can ensure end-to-end performance. In addition, the first unit can dynamically update the compression parameter information based on the current transmission configuration.
[0028] In combination with the above-mentioned first aspect, in a possible design, the method also includes: the first unit receives compression parameter information; wherein, the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0029] Based on this solution, the first unit can receive compression parameter information configured by other devices.
[0030] In combination with the above-mentioned first aspect, in a possible design, the method also includes: the first unit sends compression parameter information; wherein, the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0031] Based on this solution, the first unit may send compression parameter information to other devices, so that the other devices may align the compression parameter information with the first unit.
[0032] In a second aspect, a data compression method is provided. The method can be executed by a second unit or by a module (such as a processor, a chip, or a chip system) applied to the second unit. The following description takes the execution of the method by the second unit as an example. The method includes: the second unit receives a compressed code stream, and the compressed code stream includes a frame header and a data code stream. The second unit obtains reconstructed data corresponding to the compressed code stream according to a fourth mapping relationship; wherein the fourth mapping relationship corresponds to the bit width and the first parameter, and the fourth mapping relationship includes multiple groups of bit values of the corresponding data code streams and a first recovery value; the first recovery value is the result of dequantizing the data code stream.
[0033] Based on the data compression method provided in the embodiment of the present application, the second unit can directly determine the first recovery value corresponding to the bit value of the data code stream according to the fourth mapping relationship, which can save the calculation amount required for some operations (such as inverse quantization, etc.) in the process of recovering the compressed data code stream, and can obtain the recovered data, thereby reducing the complexity.
[0034] In combination with the above-mentioned second aspect, in a possible design, the fourth mapping relationship also includes multiple groups of corresponding value ranges of the first elements and bit values of the data code stream; wherein, the first element is related to the input data, and the compressed code stream is determined based on the input data.
[0035] Based on this solution, the fourth mapping relationship can also be used to compress data to obtain a compressed code stream.
[0036] In combination with the above second aspect, in a possible design, the fourth mapping relationship is determined from the second mapping relationship based on the bit width and / or the first parameter, and the second mapping relationship includes the boundaries of the value ranges of all first elements in the fourth mapping relationship.
[0037] Based on this solution, the fourth mapping relationship can be included in the second mapping relationship, thereby saving storage resources.
[0038] In conjunction with the second aspect above, in one possible design, the frame header further includes information indicating a normalization coefficient; and the second unit obtains reconstructed data corresponding to the compressed code stream according to the fourth mapping relationship, including: the second unit obtains a restored value corresponding to the data code stream in the compressed code stream according to the fourth mapping relationship; and the second unit denormalizes the restored value according to the normalization coefficient to obtain the reconstructed data.
[0039] Based on this solution, the second unit may perform denormalization on the restored value according to the normalization coefficient indicated by the frame header to obtain reconstructed data.
[0040] In combination with the above second aspect, in a possible design, the information indicating the normalization coefficient includes a uniform quantization value or a non-uniform quantization value of the normalization coefficient.
[0041] Based on this solution, the normalization coefficient can be indicated by indicating the quantized value of the normalization coefficient. Compared with directly indicating the normalization coefficient, the overhead required for indicating the quantized value of the normalization coefficient is smaller.
[0042] In combination with the above second aspect, in one possible design, the frame header includes information indicating the first parameter; wherein the information indicating the first parameter includes a quantized value of the first parameter.
[0043] Based on this solution, the normalization coefficient can be indicated by indicating the quantized value of the first parameter. Compared with directly indicating the first parameter, the overhead required for indicating the quantized value of the first parameter is smaller.
[0044] In combination with the above-mentioned second aspect, in one possible design, the first parameter is determined based on an optimization index; wherein the optimization index includes at least one of the normalized mean square error NMSE, the generalized cosine similarity GCS, the transmission throughput, and the bit error rate corresponding to the recovered value obtained by dequantization of the data bit stream.
[0045] Based on this solution, the value of the first parameter that can make the compressed data more reliable and have smaller errors can be determined based on the optimization index, thereby providing better compression performance.
[0046] In combination with the above-mentioned second aspect, in a possible design, the method also includes: the second unit determines the compression parameter information based on the first transmission configuration; wherein the first transmission configuration is related to the signal bandwidth and / or the number of signal transmission streams; the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0047] Based on this solution, the second unit can determine the compression parameter information based on the transmission configuration, so that the compressed code stream obtained based on the compression parameter information can ensure end-to-end performance. In addition, the second unit can dynamically update the compression parameter information based on the current transmission configuration.
[0048] In combination with the above-mentioned second aspect, in a possible design, the method also includes: the second unit obtains a third mapping relationship, the third mapping relationship includes a mapping relationship between the second transmission configuration and the compression parameter information; wherein, the second transmission configuration is related to the modulation and coding method of the signal, and the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0049] Based on this solution, the second unit can determine the corresponding compression parameter information based on the second transmission configuration in the third mapping relationship, so that the compressed code stream obtained based on the compression parameter information can ensure end-to-end performance. In addition, the second unit can dynamically update the compression parameter information based on the current transmission configuration.
[0050] In combination with the above-mentioned second aspect, in a possible design, the method also includes: the second unit receives compression parameter information; wherein, the compression parameter information includes at least one of the following: block size, target compression rate, the bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0051] Based on this solution, the second unit can receive compression parameter information configured by other devices.
[0052] In combination with the above-mentioned second aspect, in a possible design, the method also includes: the second unit sends compression parameter information; wherein, the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0053] Based on this solution, the second unit can send compression parameter information to other devices, so that the other devices can align the compression parameter information with the second unit.
[0054] In a third aspect, a communication device is provided for implementing various methods. The communication device includes modules, units, or means corresponding to the methods. The modules, units, or means may be implemented in hardware, software, or by hardware executing corresponding software implementations. The hardware or software includes one or more modules or units corresponding to the functions.
[0055] In some possible designs, the communication device may include a processing module and a transceiver module. The processing module may be configured to implement the processing functionality of any of the above aspects and any possible implementations thereof. The transceiver module may include a receiving module and a transmitting module, respectively configured to implement the receiving functionality and the transmitting functionality of any of the above aspects and any possible implementations thereof.
[0056] In some possible designs, the transceiver module may be composed of a transceiver circuit, a transceiver, a transceiver or a communication interface.
[0057] In a fourth aspect, a communication device is provided, comprising: 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 described in any one of the aspects.
[0058] In a fifth aspect, a communication device is provided, comprising: a processor and a communication interface; the communication interface is used to communicate with a module outside the communication device; the processor is used to execute a computer program or instruction so that the communication device executes the method described in any aspect.
[0059] In a sixth aspect, a communication device is provided, comprising: at least one processor; the processor is configured to execute a computer program or instruction stored in a memory, so that the communication device performs the method described in any one of the aspects. The memory may be coupled to the processor, or may be independent of the processor.
[0060] In a seventh aspect, a computer-readable storage medium is provided, in which a computer program or instruction is stored. When the computer-readable storage medium is run on a communication device, the communication device can execute the method described in any one of the aspects.
[0061] In an eighth aspect, a computer program product comprising instructions is provided, which, when executed on a communication device, enables the communication device to execute the method described in any one of the aspects.
[0062] In a ninth aspect, a communication device is provided (for example, the communication device may be a chip or a chip system), which includes a processor for implementing the functions involved in any aspect.
[0063] In some possible designs, the communication device includes a memory for storing necessary program instructions and data.
[0064] In some possible designs, when the device is a chip system, it can be composed of a chip or include a chip and other discrete devices.
[0065] The communication device provided in any one of the third to ninth aspects may be the first unit in the first aspect, or a device contained in the first unit, such as a chip or a chip system; or, the communication device may be the second unit in the second aspect, or a device contained in the second unit, such as a chip or a chip system.
[0066] It can be understood that when the communication device provided in any one of the third to ninth aspects is a chip, the sending action / function of the communication device can be understood as output information, and the receiving action / function of the communication device can be understood as input information.
[0067] Among them, the technical effects brought about by any design method in the third to ninth aspects can refer to the technical effects brought about by different design methods in the first to second aspects, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0068] FIG1 is a flow chart of a data compression scheme;
[0069] FIG2 is a schematic diagram of the structure of a communication system provided in an embodiment of the present application;
[0070] FIG3 is a flow chart of a data compression method provided in an embodiment of the present application;
[0071] FIG4 is a schematic diagram of a first mapping relationship nested in a second mapping relationship provided in an embodiment of the present application;
[0072] FIG5 is a flow chart of another data compression method provided in an embodiment of the present application;
[0073] FIG6 is a schematic diagram of the structure of a compressed code stream provided in an embodiment of the present application;
[0074] FIG7 is a schematic diagram of another compression code stream result provided by an embodiment of the present application;
[0075] FIG8 is a schematic flow chart of another data compression method provided in an embodiment of the present application;
[0076] FIG9 is a schematic diagram of compression parameter information provided by an embodiment of the present application;
[0077] FIG10 is a schematic diagram of configuring compression parameter information provided in an embodiment of the present application;
[0078] FIG11 is a schematic structural diagram of a communication device provided in an embodiment of the present application;
[0079] FIG12 is a schematic structural diagram of another communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0080] Figure 1 is a flowchart of a current data compression scheme based on block scaling. As shown in Figure 1, this data compression scheme mainly includes the following steps:
[0081] 1. Divide the input data into blocks (if the input data is complex data, split it into real and imaginary parts and then splice them together) and find the maximum amplitude of the divided data.
[0082] 2. Determine the bit width based on the target compression ratio, and determine the scaling parameter based on the bit width and the maximum amplitude of the block data. Scale the block data according to the scaling parameter to obtain the scaled data, and place the scaling parameter in the frame header. The bit width is equivalent to the number of bits required to represent the scaled data. For example, if the bit width is 4, the scaling parameter determined based on this bit width allows the scaled data to be represented by 4 bits.
[0083] 3. Quantize the scaled data to obtain a data bit stream.
[0084] 4. Pack the frame header and data bit stream together to obtain a compressed code stream.
[0085] However, in current data compression schemes, the data transmitter needs to calculate the scaling parameters and then quantize the data according to the scaling parameters. This process requires a lot of calculations. Correspondingly, the data receiver also needs to perform a lot of calculations to dequantize the compressed code stream in order to restore the original data. It can be seen that the current data compression processing scheme is relatively complex and requires more computing resources. If this scheme is applied to the data forwarding scenario, it may impose a burden on both ends of the data transmission and increase the data transmission delay. Based on this problem, the embodiment of the present application provides a low-complexity, easy-to-implement data compression method that can reduce the computing resources required for the data compression process.
[0086] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. Among them, in the description of the present application, unless otherwise specified, " / " indicates that the objects associated before and after are in an "or" relationship. For example, A / B can represent A or B; "and / or" in the present application is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. In addition, in the description of the present application, unless otherwise specified, "multiple" refers to two or more than two. "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 represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple. In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit differences. At the same time, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.
[0087] In the embodiment of the present application, "indication" may include direct indication and indirect indication, and may also include explicit indication and implicit indication. The information indicated by a certain information is called information to be indicated. In the specific implementation process, there are many ways to indicate the information to be indicated, such as but not limited to, the information to be indicated can be directly indicated, such as the information to be indicated itself or the index of the information to be indicated. The information to be indicated can also be indirectly indicated by indicating other information, wherein there is an association relationship between the other information and the information to be indicated. It is also possible to indicate only a part of the information to be indicated, while the other parts of the information to be indicated are known or agreed in advance. For example, the indication of specific information can also be achieved by means of the arrangement order of each piece of information agreed in advance (such as specified in the protocol), thereby reducing the indication overhead to a certain extent. At the same time, the common parts of each piece of information can also be identified and indicated uniformly to reduce the indication overhead caused by indicating the same information separately.
[0088] In addition, the specific indication method can also be various existing indication methods, such as but not limited to the above-mentioned indication methods and various combinations thereof. The specific details of the various indication methods can be referred to the prior art and will not be repeated herein. As can be seen from the above, for example, when it is necessary to indicate multiple information of the same type, there may be a situation where the indication methods for different information are different. In the specific implementation process, the required indication method can be selected according to specific needs. The embodiment of the present application does not limit the selected indication method. In this way, the indication method involved in the embodiment of the present application should be understood to cover various methods that can enable the party to be indicated to obtain the information to be indicated.
[0089] In an embodiment of the present application, "pre-definition", "pre-defined", "pre-configured" or "pre-configured" can be implemented by pre-saving corresponding codes, tables or other methods that can be used to indicate relevant information in the device. For example, it can be burned into the device when the device leaves the factory. The embodiment of the present application does not limit its specific implementation method. Among them, "saving" can mean saving in one or more memories. The one or more memories can be set separately or integrated in an encoder or decoder, a processor, or a communication device. The one or more memories can also be partially set separately and partially integrated in a decoder, a processor, or a communication device. The type of memory can be any form of storage medium, which is not limited by the embodiment of the present application.
[0090] In the embodiments of the present application, descriptions such as "when...", "in the case of...", "if" and "if" all mean that the device will perform corresponding processing under certain objective circumstances. It does not limit the time, nor does it require the device to perform judgment actions when implemented, nor does it mean that there are other limitations.
[0091] It should be noted that 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 can 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.
[0092] The data compression method provided in the embodiment of the present application can be applied to cellular systems related to the Third Generation Partnership Project (3GPP), such as long term evolution (LTE) systems, fifth generation mobile communication technology (5G) systems, or future evolution systems (such as 6G mobile communication systems). Alternatively, it can also be applied to open radio access networks (O-RAN or ORAN), cloud radio access networks (CRAN), or wireless fidelity (WiFi) systems. The data compression processing method provided in the embodiment of the present application can also be applied to communication systems in which two or more of the above systems are integrated. In addition, the term "system" can be interchangeably with "network".
[0093] The data compression method provided in the embodiment of the present application can be applied to a scenario in which multiple radio access network (RAN) nodes collaborate to assist a terminal in achieving wireless access. In this scenario, different RAN nodes respectively implement part of the functions of a base station. For example, a RAN node can be a centralized unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU). The CU and DU can be set separately, or they can be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or a radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).
[0094] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in the ORAN system, CU may also be called O-CU (Open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, this application uses CU, CU-CP, CU-UP, DU and RU as examples for description. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.
[0095] In the data compression method provided in the embodiments of the present application, the two ends of data transmission may be a DU and a RU. Data transmission between the DU and the RU may be referred to as data forwarding. For example, as shown in FIG2 , the DU may act as a data transmitter, sending data to the RU, and the RU may accordingly act as a data receiver to receive the data. Alternatively, the RU may act as a data transmitter, sending data to the DU, and the DU may accordingly act as a data receiver to receive the data.
[0096] Hereinafter, the data transmitter is referred to as the first unit, and the data receiver is referred to as the second unit. In the data compression method provided in the embodiments of the present application, the first unit obtains input data to be compressed and, based on a first mapping relationship, obtains a compressed code stream. The first mapping relationship corresponds to the bit width and the first parameter, and includes multiple sets of corresponding value ranges of the first element and bit values of the data code stream. The first element is determined based on the input data; the data code stream is a binary code stream corresponding to the value range of the first element. The bit width is related to the number of bits in the bit value of the data code stream; and the first parameter is used to determine the value range of the first element. The transmitter sends a compressed code stream to the receiver. The compressed code stream includes a frame header and a data code stream, wherein the frame header includes information indicating the first parameter. After receiving the compressed code stream, the second unit obtains reconstructed data corresponding to the compressed code stream based on a fourth mapping relationship. The fourth mapping relationship corresponds to the bit width and the first parameter, and includes multiple sets of corresponding bit values of the data code stream and a first recovery value. The first recovery value is the result of dequantizing the data code stream. The specific implementation and technical effects of this solution will be described in detail in subsequent method embodiments and are not elaborated here.
[0097] The data compression method provided in the embodiment of the present application will be described in detail below with reference to FIG1 and FIG2 .
[0098] It should be noted that the message names between network elements or the names of parameters in the messages in the following embodiments of the present application are only examples, and other names may be used in specific implementations. The embodiments of the present application do not specifically limit this.
[0099] It should be noted that, in the embodiments of the present application, “sending data / information to the second unit” or the related schematics in the accompanying drawings can be understood as the destination end of the data / information being the second unit, and may include directly or indirectly sending data / information to the second unit. “The first unit sends data / information”, “receives data / information from the first unit” or “receives data / information from the first unit”, or the related schematics in the accompanying drawings can be understood as the source end of the data / information being the first unit, and may include directly or indirectly receiving data / information from the first unit. The data / information may be subjected to necessary processing between the source end and the destination end of the data / information transmission, such as format changes, etc., but the destination end can understand the valid data / information from the source end. Similar expressions in this application can be understood similarly and will not be repeated here.
[0100] As shown in FIG3 , a data compression method is provided in an embodiment of the present application. The data compression method includes steps S301-S302:
[0101] S301: The first unit obtains input data to be compressed.
[0102] The input data needs to be sent to the second unit, and the input data needs to be compressed before being sent to the second unit.
[0103] In the embodiment of the present application, input data can also be referred to as original data, and the two can be interchangeable.
[0104] S302. The first unit obtains a compressed code stream according to a first mapping relationship; wherein the first mapping relationship corresponds to the bit width and the first parameter, the first mapping relationship includes multiple groups of corresponding value ranges of the first element and the bit values of the data code stream, the first element is determined based on the input data; the data code stream is a binary code stream corresponding to the value range of the first element; the value of the bit width is related to the number of bits of the bit value of the data code stream; the first parameter is used to determine the value range of the first element.
[0105] In S302, the first unit can first perform certain processing on the input data, and use the obtained related elements as the first elements, thereby determining the bit value of the data code stream corresponding to the value of the first element based on the first mapping relationship, and using the corresponding bit value of the data code stream as the bit value of the data code stream obtained by compressing the input data.
[0106] It can be understood that since the first unit can directly determine the bit value of the data code stream corresponding to the value of the first element based on the first mapping relationship, the computational effort required for some operations (such as quantization) in the process of compressing the input data can be omitted, and the data code stream can be obtained, thereby reducing complexity.
[0107] The first mapping relationship is introduced in detail below.
[0108] In the embodiment of the present application, the first mapping relationship corresponds to the bit width and the first parameter. The bit width and the first parameter are introduced below.
[0109] Regarding the bit width, the bit width can be a numerical value. The bit width is related to the number of bits of the bit value of the data code stream included in the first mapping relationship. Specifically, in the first mapping relationship, the bit value of the data code stream corresponding to the value range of the first element can be obtained by quantizing the first element based on the bit width. Therefore, the larger the bit width, the more bits of the bit value of the data code stream, and vice versa. In other words, if the input data is to be compressed based on the first mapping relationship to obtain a compressed data code stream, the bit width can determine the number of bits in the compressed data code stream.
[0110] For example, the bit width can be denoted as b, and the data code stream can be denoted as B. Since one bit in the bit width is a sign bit for positive and negative signs, the number of bits of the bit value of the data code stream B can be equal to b-1.
[0111] The first parameter may be a parameter in a function (e.g., a parameter in a nonlinear function) or a numerical value. The first parameter is used to determine a value range of the first element, or in other words, the first parameter is related to the value range of the first element.
[0112] For determining the value range of the first element, optionally, the first parameter can be used to determine a boundary of the value range of the first element, wherein the boundary of the value range of the first element can be an upper limit or a lower limit of the value range of the first element.
[0113] In a possible implementation, the boundary of the value range of the first element can be calculated based on the value of the first parameter and a preset formula / algorithm.
[0114] For example, the first parameter can be recorded as P, and the boundary of the value range of the first element can be recorded as Q. b (P) (where b is the bit width). Assume Q b Number of (P) = 2 b-1 –1, if b=4, then there are 7 Qs in total b (P). Among them, each Q b(P) can be calculated based on the value of b, the value of P and the preset formula / algorithm. If the first parameter is a parameter in a nonlinear function, it is used to determine Q b The preset formula / algorithm of (P) may be a nonlinear function to which the first parameter belongs.
[0115] In another possible implementation, the first parameter may be identification information of a boundary of the value range of the first element, and the first unit may determine the boundary of the value range of the corresponding first element based on the first parameter. In this implementation, the value of the first parameter may be the number of the boundary of the value range of the first element.
[0116] For example, assuming that the first unit pre-sets two groups of first element value range boundaries, each group having multiple first element value range boundaries, the two groups of first element value range boundaries are numbered 1 and 2 respectively (i.e., the corresponding first parameter values).
[0117] In one possible implementation, the bit value of the data code stream corresponding to the value range of the first element in the first mapping relationship can be obtained by transforming the first element based on the first parameter corresponding to the first mapping relationship, and then further uniformly quantizing the transformed result according to the bit width. That is to say, if the first parameter and the bit width are used to compress the input data, the first parameter can be used to transform the first element to obtain the transformed result, and the transformed result can be further uniformly quantized according to the bit width to obtain the data code stream. It can be understood that if the first parameter is a parameter in a nonlinear function, the first element can be transformed according to the first parameter and then the transformed result is quantized based on the bit width, so that non-uniform quantization of the first element can be achieved.
[0118] Exemplarily, the first parameter may be a parameter related to a cumulative distribution function (CDF) transform or a Mu-rate transform.
[0119] For example, assuming that the vector to which the first element belongs is denoted as A', if CDF transformation is performed on A' and the transformed result is denoted as A", A" can satisfy the following relationship: A"[k]=F A’ (A'[k]); Formula (1)
[0120] Among them, F A’ (·) represents the CDF of an element in A' (ie, the first element), and k represents the kth first element in A'.
[0121] Furthermore, taking the random variable x satisfying Gaussian distribution as an example, F A’ (x) can satisfy the following relationship:
[0122] Among them, μ and σ 2 are the mean and variance of the Gaussian distribution that x obeys, and the first parameter P={μ,σ 2}, the output result A” (i.e. the transformed result A”) obeys the uniform distribution of [0,1].
[0123] For another example, assuming that the vector to which the first element belongs is denoted as A', if A' is subjected to a Mu-rate transformation and the transformed result is denoted as A", A" can satisfy the following relationship: A"[k] = ln(1+μA'[k]) / ln(1+μ); Formula (3)
[0124] Here, μ represents the transformation parameter in the Mu-rate transform, that is, the first parameter P = {μ}, the value range of μ is (0, +∞), and the value range of the output result A" (i.e., the transformed result A") is [0, 1]. When the value of μ approaches 0, A" falls back to the original A', that is, no transformation is performed. When the value of μ is large, after A' is transformed, the quantization accuracy of the first element with a smaller amplitude in A' is improved.
[0125] Exemplarily, assuming that the bit width corresponding to the first mapping relationship is 4, and the corresponding first parameter is the parameter P related to Mu rate conversion, P=μ=2, the first mapping relationship can be as shown in Table 1.
[0126] Table 1
[0127] It should be noted that the embodiment of the present application does not limit the form of expression of the first mapping relationship. The tabular form is only an exemplary possible form of expression. The first mapping relationship can also be expressed in other forms, for example, it can be a string of digital sequences, which are composed of the value range of the first element arranged in a certain order and the bit value of the data code stream.
[0128] Optionally, the first mapping relationship may further include multiple sets of corresponding data stream bit values and first recovery values, wherein the first recovery value is a result of dequantizing the data stream, which will be described in detail in another embodiment below and will not be expanded here.
[0129] The first unit may obtain one or more first mapping relationships in advance, and determine therefrom the first mapping relationship applied to the current data compression process.
[0130] For obtaining the first mapping relationship, optionally, the first mapping relationship can be pre-configured in the first unit. Alternatively, the first mapping relationship can be configured by high-level signaling, for example, it can be configured by media access control (MAC) or radio resource control protocol (RRC) signaling. Alternatively, the first mapping relationship can be configured by physical layer signaling, for example, it can be configured by physical downlink control channel (PDCCH) signaling. Alternatively, the first mapping relationship can be generated by the first unit, for example, the first unit can dynamically generate the first mapping relationship based on the current transmission configuration. The embodiment of the present application does not limit the manner in which the first unit obtains the first mapping relationship.
[0131] If the first unit obtains a first mapping relationship, the first unit may determine a corresponding compressed code stream according to the first mapping relationship and the input data.
[0132] If the first unit obtains multiple first mapping relationships, the first unit may first determine the bit width and the value of the first parameter used in the current compression processing of the input data, and then determine the corresponding first mapping relationship. The first mapping relationship is the first mapping relationship applied to the current data compression processing. The first unit further determines the corresponding compressed code stream based on the first mapping relationship.
[0133] Regarding the value of the bit width used for compressing the input data, the value of the bit width may be pre-configured, or may be configured by signaling (such as high-layer, physical layer, or other signaling), or may be configured by the receiving end of the compressed code stream (i.e., the second unit), or may be determined by the first unit based on relevant information, or may be randomly determined by the first unit, or may be determined based on other methods. The embodiments of the present application do not impose any restrictions on this.
[0134] Exemplarily, the first unit may determine the bit width based on the target compression ratio. The target compression ratio is the ratio of the expected compressed code stream size to the size of the input data. The target compression ratio and the bit width may satisfy the following relationship: max b stnN0*N data / (L header +nM0b)≥D; Formula (4)
[0135] Where b represents the bit width (the bit width used for uniform quantization of the transformed result); st represents the constraint conditions that need to be met; max X st Y represents maximizing X so that the Y condition is met; n = 1 and 2 represent real and complex signals (I / Q channels) respectively, and Ndata Indicates the bit width of the input data, which can be determined, for example, by the effective bit width of an analog-to-digital converter (ADC) or a digital-to-analog converter (DAC); L header Indicates the length of the frame header part in the compressed code stream; N0 and M0 respectively represent the original length and the length of each code block after preprocessing (such as downsampling) of the input data (blocking and preprocessing are described in detail below and are not expanded here).
[0136] Optionally, the target compression rate can be pre-configured, or can be configured by signaling (such as high-layer, physical layer or other signaling), or can be configured by the receiving end of the compressed code stream (i.e., the second unit), or can be determined by the first unit based on relevant information, or can be randomly determined by the first unit, or can be determined based on other methods. The embodiments of the present application do not limit this.
[0137] Regarding the value of the first parameter required for determining the compression processing of the input data this time, the value may be pre-configured, or may be configured by signaling (such as high-level, physical layer or other signaling), or may be configured by the receiving end of the compressed code stream (i.e., the second unit), or the value may be determined based on an optimization indicator, or may be randomly determined by the first unit, or may be determined by the first unit based on relevant information, or may be determined based on other methods, and the embodiments of the present application do not impose any restrictions on this.
[0138] The following is an introduction to the method of determining the value of the first parameter based on the optimization index:
[0139] The optimization index can be understood as an index corresponding to the recovered value obtained by dequantizing the data stream, which can characterize (or evaluate) the reliability of the recovered value. Exemplarily, the optimization index can include at least one of the normalized mean square error (NMSE), generalized cosine similarity (GCS), transmission throughput, and bit error rate corresponding to the recovered value obtained by dequantizing the data stream.
[0140] The first unit may determine, based on the optimization indicators corresponding to different values of the first parameter, the value of the first parameter that performs best in the optimization indicator as the value of the first parameter used for the current data compression process. The different values of the first parameter may be pre-set, or may be determined from a pre-set value range, or may be determined based on other methods, and this embodiment of the application is not limited thereto.
[0141] Specifically, the first unit can determine the value of the bit width required for the compression processing of the input data, and then obtain multiple first mapping relationships corresponding to the bit width and corresponding to different values of the first parameter. The first unit can determine different data streams corresponding to different values of the first parameter based on the input data and the bit values of the data streams respectively included in these multiple first mapping relationships. Further, the first unit can determine the recovery values obtained by dequantizing the different data streams, and calculate the optimization index corresponding to the recovery value, thereby obtaining the optimization index corresponding to different values of the first parameter.
[0142] Optionally, if the first mapping relationship further includes multiple sets of bit values and first recovery values corresponding to the data streams, when the first unit determines the recovery values obtained by dequantizing different data streams, it may directly query the first mapping relationship and determine the first recovery value as the recovery value obtained by dequantizing the data streams. Alternatively, the first unit may calculate the recovery values obtained by dequantizing different data streams based on the bit width and the first parameter.
[0143] For example, if the optimization indicator is the normalized mean square error (mean square error) corresponding to the recovered value obtained by dequantization of the data stream (referring to the normalized mean square error between the recovered value and the input data), the first unit may determine the value of the first parameter with the smallest corresponding normalized mean square error as the value of the first parameter used for the current compression processing of the input data. For another example, if the optimization indicator is the generalized cosine similarity (referring to the generalized cosine similarity between the recovered value and the input data) corresponding to the recovered value obtained by dequantization of the data stream, the first unit may determine the value of the first parameter with the highest corresponding generalized cosine similarity as the value of the first parameter used for the current compression processing of the input data.
[0144] Optionally, the first unit may send the determined first parameter and / or bit width to the second unit, so that the second unit can restore the compressed code stream based on the first parameter and / or bit width. In other words, the first unit and the second unit need to align the first parameter and / or bit width used to compress the input data and the first parameter and / or bit width used to restore the compressed code stream.
[0145] Optionally, if the first unit obtains multiple first mapping relationships, the first mapping relationship applied to the current compression processing of the input data can be determined from the second mapping relationship based on the bit width and / or the first parameter, where the second mapping relationship includes the boundaries of the value range of all first elements in the first mapping relationship. It can also be understood that the first mapping relationship is nested within the second mapping relationship.
[0146] The boundary of the value range of the first element may be the upper limit of the value range of the first element or the lower limit of the value range of the first element.
[0147] Optionally, different first mapping relationships nested in the second mapping relationship may correspond to the same first parameter and different bit widths. Alternatively, different first mapping relationships nested in the second mapping relationship may also be determined based on other methods, which are not limited in the embodiments of the present application.
[0148] It should be noted that the embodiment of the present application does not limit the form of expression of the second mapping relationship, and the second mapping relationship can be in a table form or other forms.
[0149] For example, Figure 4 is a schematic diagram of two first mapping relationships nested within a second mapping relationship. As shown in Figure 4, the bit widths corresponding to the two first mapping relationships are 3 and 4, respectively, and the two first mapping relationships correspond to the same first parameter. The second mapping relationship is in tabular form and includes the upper limit values of the value ranges of all first elements of the two first mapping relationships.
[0150] The first mapping relationship is described above, and the following describes a specific implementation of the first unit obtaining a compressed code stream corresponding to the input data according to the first mapping relationship.
[0151] For determining the first element based on the input data, optionally, the first element and the input data may satisfy any of the following conditions:
[0152] The first element is input data. In this case, the input data may be a real signal. The first unit may perform block processing on the input real signal. The element in the vector corresponding to the result after block processing (i.e., the real signal after block processing) may be considered as the first element. Optionally, the block processing performed by the first unit on the input data may be performed according to a preconfigured or preset block size (exemplarily, the block size may be denoted as N0).
[0153] Alternatively, the first element is the real part and the imaginary part of the input data. In this case, the input data may be a complex signal, and the first unit may perform block processing on the input complex signal and further concatenate the real and imaginary parts of the block result (i.e., the block-processed complex signal). The element in the resulting vector may be considered the first element.
[0154] Alternatively, the first element is an element in the absolute value of the input data. In this case, the input data can be a real signal or a complex signal. If the input data is a complex signal, the first unit can perform block processing on the input complex signal, and splice the result after blocking (i.e. the complex signal after blocking) according to the real and imaginary parts, and then split it to obtain a sign bit vector and an absolute value vector. If the input data is a real signal, the first unit can perform block processing on the input real signal, and directly split the result after blocking (i.e. the real signal after blocking) to obtain a sign bit vector and an absolute value vector. Among them, the first element can be considered to be an element in the absolute value vector obtained by splitting. Exemplarily, the sign bit vector can be denoted as C, and the absolute value vector can be denoted as A.
[0155] Alternatively, the first element is an element in the vector obtained after the input data is normalized. In this case, the input data can be a complex signal or a real signal, and the first unit can perform block processing on the input real signal or complex signal, and normalize the result after blocking (that is, the real signal or complex signal after blocking), and the element in the vector corresponding to the normalized result can be considered as the first element. Optionally, in this case, the first unit can also split the result after blocking to obtain a sign bit vector and an absolute value vector, and then further normalize the absolute value vector. Among them, the splitting process of the result after blocking can be specifically referred to the above introduction, which will not be expanded here.
[0156] Among them, for example, the block results can be normalized according to the maximum value of the block results, or the block results can be normalized according to the minimum value, a fixed value, etc. The embodiments of the present application do not impose specific restrictions on this.
[0157] For example, the normalization coefficient used to normalize the block result can be recorded as a max If the absolute value vector A is normalized, the normalized result can be recorded as A', A'=A / a max。
[0158] Optionally, after the first unit performs block processing on the input data, it may further perform downsampling processing on the block result to obtain a downsampled result, and determine the first element based on the downsampled result. Specifically, the first unit may perform frequency domain compression on the block result according to a downsampling ratio (exemplarily, the downsampling ratio may be denoted as F0) to obtain downsampled real or complex symbols, and further determine the first element based on the downsampled real or complex symbols. For example, the first unit may perform splitting processing and / or normalization processing on the downsampled result.
[0159] Exemplarily, the number of real symbols or complex symbols after downsampling can be recorded as M0, M0=N0F0, where N0 is the block size and F0 is the downsampling ratio.
[0160] The downsampling process and / or splitting process performed by the first unit may be referred to as preprocessing.
[0161] Alternatively, the first unit may not perform downsampling processing on the result after segmentation. For example, the first unit may skip downsampling when the bandwidth of the input data is consistent with the sampling rate of the input data (which can also be understood as skipping downsampling when F0=1).
[0162] Furthermore, after obtaining the corresponding data code stream based on the input data and the first mapping relationship, the first unit may package the data code stream with the frame header to obtain a compressed code stream.
[0163] Optionally, the frame header may include information for assisting the second unit in recovering the compressed code stream and obtaining reconstructed data. For example, the frame header may include information indicating the first parameter and / or information on the bit width.
[0164] Optionally, the information indicating the first parameter may directly indicate the value of the first parameter. Alternatively, the information indicating the first parameter may indicate a quantized value of the first parameter, for example, may include a bit value corresponding to the quantized value of the first parameter.
[0165] Generally speaking, if information indicates a real number, it usually requires at least 16 or 32 bits. However, if information indicates the quantized value of a real number, it usually only requires 3-4 bits. The first parameter is usually a real number. Therefore, compared with directly indicating the value of the first parameter, information indicating the quantized value of the first parameter occupies fewer bits, resulting in less frame header overhead.
[0166] For the quantized value of the first parameter, in one possible implementation, if the distribution characteristics of the first parameter do not change much over a period of time, a prediction mechanism for the first parameter can be introduced to predict and quantize the first parameter. For example, if the first parameter is the transformation parameter (P = {μ}) in the Mu-rate transformation, assuming that b P The bit indicates the quantized value of the first parameter P. The first parameter may be quantized based on the following method to obtain the quantized value of the first parameter:
[0167] The value of P at a certain moment is recorded as μ, for example, μ t represents the value of P at time t, μ t–1 represents the value of P at time t-1. The initialization value μ0 of P can be preset.
[0168] At time t=1,2,3,…, μ t According to μt–1 Specifically, we can predict and quantify the value of μ t–1 Nearby –1 quantization interval, if the quantization interval width is set to s in advance P , we can get the quantization interval as follows (in μ t–1 Centered):
[0169] The midpoint of each quantization interval is the quantization value of P at time t.
[0170] Optionally, if the first unit also performs normalization processing on the input data, the frame header may further include information indicating a normalization coefficient. Optionally, the information indicating the normalization coefficient may directly indicate the value of the normalization coefficient. Alternatively, the information indicating the normalization coefficient may also indicate a quantized value of the normalization coefficient (a uniform quantized value or a non-uniform quantized value of the normalization coefficient), for example, the bit value corresponding to the quantized value of the normalization coefficient.
[0171] Generally speaking, the original normalization coefficient may require 12 to 16 bits of information to indicate, but after uniform / non-uniform quantization, only 2 to 4 bits of information may be required to indicate the quantized value of the normalization coefficient. Therefore, compared with directly indicating the value of the normalization coefficient, the information indicating the quantized value of the normalization coefficient occupies fewer bits and the frame header overhead is also smaller.
[0172] For example, assuming that b norm Bit indicates the normalization coefficient a max The quantized value of the normalization coefficient can be uniformly quantized based on the following method one to obtain the uniform quantized value of the normalization coefficient, or the normalization coefficient can be non-uniformly quantized based on the following method two to obtain the non-uniform quantized value of the normalization coefficient:
[0173] Method 1: Based on the quantization interval [0,s], (s,2s], (2s,3s], ..., The normalization coefficient is uniformly quantized. Among them, the quantization interval width N data is the bit width of the input data before normalization.
[0174] Method 2: According to a max The distribution characteristics of a max The quantization boundary Q b (a max ), where the subscript b in Q refers to b norm . . Q b (a max ) can also be called a maxThe boundary of the value range, Q b (a max ) can be a max The upper or lower limit of the non-uniform quantization value. b (a max ) The corresponding quantization interval is non-uniform, and the non-uniform quantization value of the normalization coefficient can be Q b (a max ) corresponds to the midpoint of the quantization interval.
[0175] Optionally, for method 2, Q b (a max ) can adopt a nested representation such as the first mapping relationship is included in the second mapping relationship, for example, the first unit can only save b norm The Q corresponding to the maximum value b (a max ), other b norm The corresponding Q b (a max ) can be obtained by extracting the saved part Q b (a max ) is obtained. Among them, b norm The maximum value can be calculated based on the block size, bit width and frame header overhead ratio (frame header overhead compared to the overhead of the compressed code stream frame structure).
[0176] Optionally, if the first unit further performs downsampling processing on the input data, the frame header may further include information indicating a downsampling ratio.
[0177] Optionally, after S302, S303 may be further included:
[0178] S303: The first unit sends a compressed code stream to the second unit. Correspondingly, the second unit receives the compressed code stream.
[0179] Furthermore, after receiving the compressed code stream, the second unit can decode the data code stream in the compressed code stream and obtain reconstructed data corresponding to the input data. Specifically, the second unit can dequantize the data code stream in the compressed code stream to obtain restored data, and obtain reconstructed data based on the restored data.
[0180] Among them, if the bit value of the data code stream corresponding to the value range of the first element in the first mapping relationship is obtained by transforming the first element based on the first parameter corresponding to the first mapping relationship, and then further quantizing the transformed result according to the bit width, then when the second unit dequantizes the data code stream in the compressed code stream, it can first dequantize the transformed result based on the bit width, and then de-transform the dequantized result according to the first parameter to obtain recovered data.
[0181] For reconstructed data obtained based on recovered data, if the first unit performs compression processing on the input data and obtains a data code stream based on the first mapping relationship without performing other operations on the block result, then the recovered data is the reconstructed data. If the first unit performs other operations on the block result and then obtains a data code stream based on the first mapping relationship, such as downsampling, splitting and / or normalizing the block result, then after the second unit obtains the recovered data, it needs to perform corresponding inverse operations on the recovered data to obtain the reconstructed data. For example, if the first unit performs downsampling, splitting and normalization on the block result, the second unit can perform inverse normalization on the recovered data, then splice the obtained data into the original real or complex symbols, and perform upsampling operations.
[0182] Optionally, the second unit may obtain the reconstructed data based on information included in a frame header in the compressed code stream. For example, if the frame header includes information indicating a first parameter, the second unit may perform an inverse transform on the dequantized data based on the first parameter to obtain the recovered data. For another example, if the frame header includes information indicating a normalization coefficient, the second unit may perform an inverse normalization on the recovered data based on the normalization coefficient.
[0183] In the above embodiment, the first unit can compress the input data based on the first mapping relationship, which reduces the amount of calculation and the complexity compared to the current data compression method. However, the current data compression method still has the following problems:
[0184] In the current data compression method, the data sending end directly scales and quantizes the data after the blocks are divided, which will cause effective information loss and reduce the compression accuracy. In addition, when calculating the scaling coefficient of each group of block data, a certain amount of data needs to be cached, and the cache size is consistent with the block size, which will cause a certain delay. The larger the block, the higher the delay. Based on this problem, the embodiment of the present application also provides another method for compressing the input data to obtain a compressed code stream. This method can be understood as dynamic non-uniform quantization of the input data. As shown in Figure 5, the method includes the following steps:
[0185] S501: The first unit processes input data in blocks.
[0186] The first unit divides the input real signal or complex signal into blocks according to the block size to obtain the block result.
[0187] Here, illustratively, the block size can be recorded as N0.
[0188] Optionally, the block size can be pre-configured, or can be configured by signaling (such as high-level, physical layer or other signaling), or can be configured by the receiving end of the compressed code stream (i.e., the second unit), or can be determined by the first unit based on relevant information, or can be determined based on other methods. The embodiments of the present application do not limit this.
[0189] For example, the first unit may calculate the block size N0 in the following manner: N0=floor(τ max / T s ); Formula (5);
[0190] Among them, floor(τ max / T s ) represents the relationship between (τ max / T s ) rounded down; τ max represents the maximum delay constraint; T s Indicates the sampling period of input data.
[0191] Optionally, the maximum latency constraint can be the end-to-end processing delay of the data, primarily including the data buffering delay and computational delay of the first unit during data segmentation, and the computational delay of decoding by the second unit. The maximum latency constraint can be related to the service's transmission latency requirements. If the input data is for a service with high latency requirements, the maximum latency constraint is also low.
[0192] Optionally, during the process of compressing the input data, the first unit may also pre-process the block-wise result. Exemplarily, the pre-processing operation may include downsampling and / or splitting. As shown in FIG5 , after S501 , the first unit may execute S5011:
[0193] S5011. The first unit performs downsampling processing on the block results.
[0194] In S5011, the first unit may perform frequency domain compression on the block result according to the downsampling ratio to obtain downsampled real symbols or complex symbols.
[0195] For example, the downsampling ratio may be denoted as F0. The number of real or complex symbols after downsampling may be denoted as M0, where M0=N0F0, where N0 is the block size.
[0196] Alternatively, the first unit may not perform downsampling processing on the result after segmentation. For example, the first unit may skip the downsampling operation when the bandwidth of the input data is consistent with the sampling rate of the original data (which can also be understood as F0=1).
[0197] Optionally, as shown in FIG5 , the first unit may further execute S5012:
[0198] S5012: The first unit performs splitting processing on the downsampling result.
[0199] In S5012, if the downsampling result is a complex signal, the first unit can concatenate the real part and the imaginary part of the downsampling result, and then split it into a sign bit vector (for example, the sign bit vector can be denoted as C) and an absolute value vector (for example, the absolute value vector can be denoted as A).
[0200] For example, assuming that the number of real or complex symbols after downsampling is recorded as M0, if the downsampling result is a real signal, the length of the absolute value vector obtained after splitting can be recorded as M0. If the downsampling result is a complex signal, the length of the absolute value vector obtained after splitting can be recorded as 2M0.
[0201] Optionally, if the first unit does not perform downsampling processing on the block result, the first unit may also perform splitting processing on the block result to obtain a sign bit vector and an absolute value vector.
[0202] Furthermore, in the data code stream obtained based on the split absolute value vector, the length of the absolute value part B can be M0(b-1) (the length of the split absolute value vector is M0, b is the bit width) or 2M0(b-1) (the length of the split absolute value vector is 2M0).
[0203] Optionally, as shown in FIG5 , the first unit may further execute S5013:
[0204] S5013. The first unit normalizes the absolute value vector according to the normalization coefficient to obtain a normalized result.
[0205] For example, the normalization coefficient can be expressed as a max If the absolute value vector A is normalized, the normalized result can be recorded as A', A'=A / a max .
[0206] After normalizing the split absolute value vector, the normalized result is in the range [0, 1], and the value of the transformation parameter is likely to be in the range [0, 1]. Therefore, the normalized result is more suitable for transformation according to the transformation parameter.
[0207] Optionally, if the first unit performs downsampling processing on the block result without performing splitting processing, the first unit may also perform normalization processing on the downsampling result. If the first unit does not perform downsampling processing and splitting processing on the block result, the first unit may also perform normalization processing on the block result.
[0208] S502: The first unit performs non-uniform quantization on the block-divided result to obtain a data code stream.
[0209] In S502, the first unit transforms the block-divided result according to the transformation parameter to obtain a transformed result. Furthermore, the first unit may uniformly quantize the transformed result according to the bit width to obtain a data code stream.
[0210] Since the bit width includes a sign bit, it is necessary to remove the sign bit when performing uniform quantization. For example, the transformation parameter can be recorded as P. The bit width can be recorded as b. If the value range of the transformed result is 0 to 1, after removing the sign bit from the bit width b, there are 2 (b-1) quantization intervals. If the value range of the transformed result is 0 to 1, the width of each quantization interval is 1 / 2 (b-1) .
[0211] The data code stream includes a sign bit and binary absolute value information (or a binary code stream of the absolute value part). For example, the absolute value part of the data code stream can be denoted as B.
[0212] The transformation parameters are parameters of a nonlinear function. For example, the transformation parameters may be parameters related to a CDF transform or a Mu-rate transform. It is understood that since the transformation parameters are parameters of a nonlinear function, non-uniform quantization of the results after segmentation can be achieved by transforming the results after segmentation based on the transformation parameters and then performing uniform quantization.
[0213] For example, assuming that the result after block division is recorded as A', if CDF transformation is performed on A' and the transformed result is recorded as A", A" can satisfy the following relationship: A"[k]=F A’ (A'[k]); Formula (6)
[0214] Among them, F A’ (·) represents the CDF of the elements in A', and k represents the kth data in A'.
[0215] Furthermore, taking the random variable x satisfying Gaussian distribution as an example, F A’ (x) can satisfy the following relationship:
[0216] Among them, μ and σ 2are the mean and variance of the Gaussian distribution that x obeys, and the transformation parameters P={μ,σ 2}, the output result A” (i.e. the transformed result A”) obeys the uniform distribution of [0,1].
[0217] For another example, assuming that the result after block division is recorded as A', if A' is subjected to Mu-rate transformation and the transformed result is recorded as A", A" can satisfy the following relationship: A"[k] = ln(1+μA'[k]) / ln(1+μ); Formula (8)
[0218] Here, μ represents the transformation parameter in the Mu-rate transform, that is, the transformation parameter P = {μ}, the value range of μ is (0, +∞), and the value range of the output result A" (i.e., the transformed result A") is [0, 1]. When the value of μ approaches 0, A" falls back to the original blocked result A', that is, no transformation is performed. When the value of μ is large, after the blocked result A' is transformed, the quantization accuracy of the data with smaller amplitudes in A' is improved.
[0219] Optionally, the values of the transformation parameters used to transform the block-partitioned results may be preset. Alternatively, before transforming the block-partitioned results according to the transformation parameters, the first unit may select a value from possible values of the transformation parameters, and then transform the block-partitioned results according to the selected value. Alternatively, it can be understood that the first unit selects the values of the transformation parameters to be used in the current compression processing of the input data.
[0220] The selection of the values of the transformation parameters used for the current compression process on the input data from the possible values of the transformation parameters may be referred to as online optimization of the transformation parameters.
[0221] Among them, the possible values of the transformation parameters can be pre-set, or can be determined from a pre-set value range, or can be determined based on other methods, and the embodiments of the present application do not limit this.
[0222] It should be noted that the embodiment of the present application does not limit the manner in which the first unit optimizes the transformation parameters online. An exemplary manner for online optimization of the transformation parameters based on the optimization index is described below.
[0223] The optimization index can be understood as an index corresponding to the recovered value obtained by dequantizing the data stream, which can characterize (or evaluate) the reliability of the recovered value. Exemplarily, the optimization index can include at least one of the following indicators: normalized mean square error, generalized cosine similarity, transmission throughput, and bit error rate, corresponding to the recovered value obtained by dequantizing the data stream.
[0224] The first unit may determine, based on the optimization indices corresponding to different values of the transform parameter, the transform parameter value with the best optimization index as the transform parameter value to be used for the current data compression process. Specifically, the first unit may determine different data streams obtained by transforming and quantizing the input data based on different values of the first parameter, further determine recovered values obtained by dequantizing the different data streams, and calculate the optimization indices corresponding to the recovered values, thereby obtaining the optimization indices corresponding to the different values of the first parameter.
[0225] For example, if the optimization indicator is the normalized mean square error corresponding to the recovered value obtained by dequantizing the data stream, the first unit may determine the value of the transform parameter with the smallest normalized mean square error as the value of the transform parameter used for the current compression processing of the input data. For another example, if the optimization indicator is the generalized cosine similarity corresponding to the recovered value obtained by dequantizing the data stream, the first unit may determine the value of the transform parameter with the highest generalized cosine similarity as the value of the transform parameter used for the current compression processing of the input data.
[0226] Optionally, the value of the bit width used for uniformly quantizing the transformed result can be pre-configured, or can be configured by signaling (e.g., high-layer, physical layer, or other signaling), or can be configured by the second unit, or can be determined by the first unit based on relevant information, or can be determined based on other methods, and the embodiment of the present application does not limit this. For details, please refer to the above introduction on how to determine the value of the bit width in S302, which will not be expanded here.
[0227] Optionally, the first unit may send the determined first parameter and / or bit width to the second unit, so that the second unit can restore the compressed code stream based on the first parameter and / or bit width. In other words, the first unit and the second unit need to align the first parameter and / or bit width used to compress the input data and the first parameter and / or bit width used to restore the compressed code stream.
[0228] S503: Pack the first unit to obtain a compressed code stream.
[0229] In S503, the first unit packages the data code stream and the frame header to obtain a compressed code stream.
[0230] Optionally, the first unit may sequentially concatenate the frame header, the sign bit of each data element in the data stream (illustratively, denoted as C), and the absolute value information of each data element in the data stream (illustratively, denoted as B) to obtain a compressed code stream. For example, FIG6 is a schematic diagram of the structure of the compressed code stream in this case.
[0231] Alternatively, the first unit can place the frame header first and sequentially concatenate the sign bit (illustratively, C) and absolute value information (illustratively, B) of each real number data in the data code stream to obtain a compressed code stream. For example, Figure 7 is a schematic diagram of the structure of the compressed code stream in this case.
[0232] The frame header may include information for assisting the second unit in recovering the compressed code stream and obtaining information for reconstructing the data. For example, the frame header may include information indicating a transformation parameter and / or information indicating a bit width.
[0233] Optionally, the information indicating the transform parameter may directly indicate the value of the transform parameter. Alternatively, the information indicating the transform parameter may also indicate the quantized value of the transform parameter, for example, including the bit value corresponding to the quantized value of the transform parameter. The specific implementation of indicating the quantized value of the transform parameter can be found in the above description of indicating the quantized value of the first parameter and will not be elaborated here.
[0234] Optionally, if the first unit performs normalization processing during the compression processing of the input data, the frame header of the compressed code stream may further include information indicating a normalization coefficient. Optionally, the information indicating the normalization coefficient may directly indicate the value of the normalization coefficient, or may indicate a quantized value of the normalization coefficient, for example, may include a bit value corresponding to the quantized value of the normalization coefficient. For details, please refer to the above description of the information indicating the normalization coefficient in S302, which will not be elaborated here.
[0235] Furthermore, the first unit may send the compressed code stream to the second unit, and correspondingly, the second unit receives the compressed code stream.
[0236] After receiving the compressed code stream, the second unit can decode the data code stream in the compressed code stream and obtain corresponding reconstructed data. Specifically, the second unit can dequantize the data code stream in the compressed code stream according to the bit width, then perform an inverse transform on the dequantized data according to the transform parameter to obtain recovered data, and then obtain reconstructed data based on the recovered data.
[0237] The specific implementation of the second unit obtaining the reconstructed data based on the restored data can be found in the above description of S303 and will not be elaborated here.
[0238] Optionally, the data compression method shown in FIG3 and the data compression method shown in FIG5 can be applied in combination. In this case, the first unit determines the data code stream based on the first mapping relationship, and the first unit obtains the data code stream by performing non-uniform quantization based on the transform parameters, which can be replaced with each other and can both achieve compression processing of the input data. The first parameter and bit width corresponding to the first mapping relationship are the same as the transform parameter and bit width used in the non-uniform quantization process.
[0239] It can be understood that if the data compression method shown in Figure 5 is replaced by the first unit determining the data code stream based on the first mapping relationship by performing non-uniform quantization based on the transformation parameters to obtain the data code stream, then the amount of calculation required for the first unit to transform the block result based on the transformation parameters and further quantize it can be saved accordingly, thereby reducing the complexity.
[0240] Currently, after receiving a compressed bitstream, the receiving end needs to perform dequantization on the data bitstream in the compressed bitstream through calculation, which requires a large amount of calculation and is highly complex. To address this problem, the present application also provides a low-complexity method for dequantizing a compressed bitstream to obtain reconstructed data. As shown in Figure 8, the method includes the following steps:
[0241] S801: The first unit sends a compressed code stream to the second unit, and correspondingly, the second unit receives the compressed code stream.
[0242] In S801, the compressed code stream is obtained by the first unit compressing the input data according to the first parameter and the bit width, wherein the compressed code stream includes a data code stream and a frame header.
[0243] Optionally, at the first unit side, the first parameter can be used to transform the input data, and the bit width can be used to uniformly quantize the transformed result. For details, please refer to the above introduction of the first unit performing non-uniform quantization according to the transform parameter and bit width in S502, which will not be expanded here.
[0244] Optionally, the frame header may include information that assists the second unit in determining the reconstructed data corresponding to the compressed bitstream. For example, the frame header may include information indicating the first parameter and / or the bit width. How the second unit determines the reconstructed data corresponding to the compressed bitstream based on the first parameter and / or the bit width is described in detail in S802 and will not be further elaborated here.
[0245] Optionally, the information indicating the first parameter may directly indicate the value of the first parameter. Alternatively, the information indicating the first parameter may indicate a quantized value of the first parameter (a uniform quantized value or a non-uniform quantized value of the first parameter), for example, including a bit value corresponding to the quantized value of the first parameter. For details, reference may be made to the above description of the information indicating the first parameter in S302, which will not be elaborated here.
[0246] Optionally, the frame header may also include other information that assists the second unit in determining the reconstructed data corresponding to the compressed code stream. For example, if the first unit normalizes the input data according to the normalization coefficient during the compression processing of the input data, the frame header may also include information indicating the normalization coefficient. Among them, the information indicating the normalization coefficient may directly indicate the value of the normalization coefficient. Alternatively, the information indicating the normalization coefficient may indicate the quantization value of the normalization coefficient (non-uniform quantization value or uniform quantization value), for example, it may include the bit value corresponding to the quantization value of the normalization coefficient. For details, please refer to the above introduction to the information indicating the normalization coefficient in S302, which will not be expanded here.
[0247] S802. The second unit obtains reconstructed data corresponding to the compressed code stream according to a fourth mapping relationship; wherein the fourth mapping relationship corresponds to the bit width and the first parameter, and the fourth mapping relationship includes multiple groups of bit values and first recovery values corresponding to the data code streams respectively; the first recovery value is a result obtained by dequantizing the data code stream.
[0248] It can be understood that since the second unit can directly determine the first recovery value corresponding to the bit value of the data code stream based on the fourth mapping relationship, the computational effort required for some operations (such as inverse quantization, etc.) in the process of recovering the compressed data code stream can be omitted, and the recovered data can be obtained, thereby reducing the complexity.
[0249] In S802, the second unit may obtain one or more fourth mapping relationships in advance. If the second unit obtains one fourth mapping relationship, the fourth mapping relationship is the fourth mapping relationship used for the current compressed code stream.
[0250] If the second unit obtains multiple fourth mapping relationships, the second unit can determine the first parameter and bit width used to restore the compressed code stream, and further select the corresponding fourth mapping relationship based on the determined first parameter and bit width to obtain reconstructed data. In other words, on the second unit side, the bit width and the first parameter can be used to jointly determine the fourth mapping relationship.
[0251] Regarding determining the first parameter, optionally, the first parameter may be preconfigured, or the first parameter may be indicated by a frame header, or the first parameter may be configured by signaling (such as a high layer, a physical layer, or other signaling), or the first parameter may be determined by the second unit based on relevant information, or the first parameter may be randomly determined by the second unit, or the first parameter may be determined based on other methods, and the embodiments of the present application do not limit this.
[0252] Regarding determining the bit width, optionally, the bit width may be preconfigured, or the bit width may be indicated by a frame header, or the bit width may be configured by signaling (such as a high layer, physical layer, or other signaling), or it may be determined by the second unit itself based on relevant information, or it may be determined randomly by the second unit, or it may be determined based on other methods, and the embodiments of the present application do not limit this.
[0253] Optionally, the second unit may send the determined first parameter and / or bit width to the first unit before S801, so that the compressed code stream sent by the first unit to the second unit is obtained by the first unit compressing the input data according to the first parameter and / or bit width sent by the second unit. In other words, the first unit and the second unit need to align the first parameter and / or bit width used to compress the input data and the first parameter and / or bit width used to restore the compressed code stream.
[0254] In S802, after receiving the compressed code stream, the second unit may first decode the information included in the frame header and then decode the data code stream. The second unit may determine, based on the bit value of the read data code stream, a first recovery value corresponding to the bit value of the data code stream in the fourth mapping relationship, determine the corresponding first recovery value as the recovery data obtained by dequantizing the data code stream, and obtain reconstructed data based on the recovery data.
[0255] Among them, if the first parameter is used to transform the input data on the first unit side, and the bit width is used to uniformly quantize the transformed result, then the first recovery value can be understood as the recovery value obtained by inverse quantizing the data code stream based on the bit width and then further inverse transforming based on the first parameter.
[0256] The reconstructed data is obtained based on the recovered data. For details, please refer to the above introduction of the second unit in S303 for obtaining the reconstructed data based on the recovered data, which will not be elaborated here.
[0257] For example, if the first unit, when compressing input data, first performs block processing, then preprocesses the block results (including downsampling and splitting), then performs normalization, then performs non-uniform quantization on the normalized results based on the first parameter and bit width to obtain a data stream, and then packages the data stream to obtain a compressed stream, wherein the frame header includes information indicating the first parameter and information indicating the normalization coefficient (for details on the compression processing performed by the first unit on the input data, please refer to the above description of the data compression method shown in Figure 4 or Figure 5). Then, after receiving the compressed stream, the second unit can first decode the frame header information, determine the first parameter and the normalization coefficient, then read the data stream, and based on a fourth mapping relationship corresponding to the first parameter and the bit width (which may be preset or determined by other means), determine a first recovery value corresponding to the bit value of the data stream, denormalize the first recovery value based on the normalization coefficient, concatenate the denormalized data into original real or complex symbols, and perform an upsampling operation to obtain reconstructed data.
[0258] Exemplarily, assuming that the bit width corresponding to the fourth mapping relationship is 4, and the corresponding first parameter is the parameter P related to Mu rate conversion, P=μ=2, the fourth mapping relationship can be shown in Table 2.
[0259] Table 2
[0260] It should be noted that the embodiment of the present application does not limit the form of expression of the fourth mapping relationship. The tabular form is only an exemplary form of expression of the fourth mapping relationship. The fourth mapping relationship may also be in other forms of expression, for example, it may be a string of digital sequences, which are composed of the bit values of the data code stream arranged in a certain order and the first recovery value.
[0261] For obtaining the fourth mapping relationship, optionally, the fourth mapping relationship can be pre-configured in the second unit. Alternatively, the fourth mapping relationship can be configured by high-layer signaling, for example, it can be configured by MAC or RRC signaling. Alternatively, the fourth mapping relationship can also be configured by physical layer signaling, for example, it can be configured by PDCCH signaling. Alternatively, the fourth mapping relationship can be generated by the second unit, for example, the second unit can dynamically generate the fourth mapping relationship based on the current transmission configuration. The embodiment of the present application does not limit the manner in which the second unit obtains the fourth mapping relationship.
[0262] Optionally, the method shown in FIG8 can be applied in combination with the method shown in FIG3 . In this case, the compressed code stream sent by the first unit to the second unit can be obtained by the first unit compressing the input data based on the first mapping relationship. And the bit width and first parameter corresponding to the first mapping relationship adopted by the first unit are the same as the bit width and first parameter corresponding to the fourth mapping relationship adopted by the second unit. Alternatively, the method shown in FIG8 can also be applied independently. In this case, the compressed code stream sent by the first unit to the second unit can be obtained by the first unit based on any possible method, for example, it can be obtained by the first unit based on the compression processing flow shown in FIG5 .
[0263] Optionally, in the method shown in Figure 3, the first mapping relationship may further include a plurality of sets of bit values of the corresponding data code streams and first recovery values, wherein the first recovery value can be referred to the above introduction to S802 and will not be elaborated here.
[0264] Optionally, in the method shown in Figure 8, the fourth mapping relationship may further include multiple sets of corresponding bit values of the data code stream and value ranges of the first element. The value range of the first element can be referred to the above introduction to S302 and will not be expanded here.
[0265] Optionally, if the method shown in Figure 8 and the method shown in Figure 3 are applied in combination, wherein the first mapping relationship also includes multiple groups of corresponding bit values of the data code stream and the first recovery value, and the fourth mapping relationship also includes multiple groups of corresponding bit values of the data code stream and the value range of the first element, then the first mapping relationship and the fourth mapping relationship can be considered to be the same mapping relationship, and the mapping relationship (hereinafter referred to as the fifth mapping relationship) includes multiple groups of corresponding value ranges of the first element, the bit value of the data code stream and the first recovery value.
[0266] Exemplarily, assuming that the bit width corresponding to the fifth mapping relationship is 4, and the corresponding first parameter is the parameter P related to Mu rate conversion, P=μ=2, the fifth mapping relationship can be shown in Table 3.
[0267] Table 3
[0268] It should be noted that the embodiment of the present application does not limit the form of expression of the fifth mapping relationship. The tabular form is only an exemplary form of expression of the fifth mapping relationship. The fifth mapping relationship may also be in other forms of expression, for example, it may be a string of digital sequences, which are composed of the value range of the first element arranged in a certain order, the bit value of the data code stream and the first recovery value.
[0269] Optionally, the first unit and / or the second unit may obtain one or more fifth mapping relationships in advance. Specific details of obtaining the fifth mapping relationship may refer to the above description of obtaining the first mapping relationship / the fourth mapping relationship, which will not be elaborated here.
[0270] Optionally, if the first unit and / or the second unit obtains multiple first mapping relationships, the fifth mapping relationship used for compressing the input data or recovering the compressed code stream can be determined from the second mapping relationship based on the bit width and / or the first parameter, where the second mapping relationship includes the boundaries of the value range of all first elements in the fifth mapping relationship. It can also be understood that the fifth mapping relationship is nested within the second mapping relationship.
[0271] For the specific implementation of nesting the fifth mapping relationship within the second mapping relationship, reference may be made to the above introduction to nesting the first mapping relationship within the second mapping relationship, which will not be elaborated here.
[0272] Optionally, the following describes several possible ways in which the first unit or the second unit determines compression parameter information (also referred to as the first unit or the second unit configuring compression parameter information) in the above embodiment. The compression parameter information includes parameters related to the compression processing of the input data. The first unit can compress the input data based on the compression parameter information to obtain a compressed code stream. The second unit can recover the compressed code stream based on the compression parameter information to obtain reconstructed data.
[0273] Optionally, the compression parameter information may be configured before the first unit performs compression processing on the input data.
[0274] Exemplarily, the compression parameter information may include at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, transformation parameter, first parameter, boundary of the value range of the first element, or boundary of the value range of the normalization coefficient.
[0275] The block size, target compression ratio, bit width, downsampling ratio, transform parameters, first parameter, the value range boundaries of the first element, and the value range boundaries of the normalization coefficient can be specifically described above and will not be elaborated here. The transform mode is information about the mode used to transform the block result based on the transform parameters. For example, if a CDF transform is performed on the block result based on the transform parameters, the transform mode is information indicating the CDF transform mode.
[0276] The following describes how to determine the compression parameter information, taking the first unit determining the compression parameter information as an example. The first unit may determine the compression parameter information based on at least one of the following methods:
[0277] Method 1: The first unit determines compression parameter information according to the first transmission configuration.
[0278] In the first approach, the first transmission configuration is related to the signal bandwidth and / or the number of signal transmission streams. That is, the first unit may determine the compression parameter information based on the transmission configuration related to the signal bandwidth and / or the number of signal transmission streams.
[0279] Exemplarily, the first unit may determine the block size based on the maximum delay constraint. The relationship between the maximum delay constraint and the block size may be as shown in formula (2), which will not be expanded here.
[0280] For another example, the first unit may determine a target compression ratio or a bit width based on the current first transmission configuration. For example, when the signal bandwidth is high, the first unit may determine a higher target compression ratio or a smaller bit width; when the signal bandwidth is low, the first unit may determine a lower target compression ratio or a larger bit width.
[0281] For another example, the first unit may determine the target compression rate based on the current first transmission configuration, and then further determine the bit width according to the target compression rate. The relationship between the target compression rate and the bit width may be as shown in formula (1), which will not be elaborated here.
[0282] For another example, the first unit may determine the downsampling ratio = baseband signal bandwidth / sampling bandwidth based on bandwidth parameters in the current first transmission configuration, such as baseband signal bandwidth and sampling bandwidth.
[0283] For another example, compression parameter information corresponding to different first transmission configurations may be preset. The preset compression parameter information may be compression parameter information that can achieve better performance of the obtained compressed code stream (e.g., less distortion, smaller required transmission bandwidth, etc.) under the corresponding first transmission configuration.
[0284] Mode 2: The first unit obtains a third mapping relationship, where the third mapping relationship includes corresponding second transmission configuration and compression parameter information, wherein the second transmission configuration is a transmission configuration related to a modulation and coding scheme of a signal.
[0285] In the second approach, the first unit may pre-acquire one or more third mapping relationships. After determining the second transmission configuration currently being applied, the first unit may query corresponding compression parameter information in the third mapping relationship including the second transmission configuration.
[0286] The second transmission configuration may be a transmission configuration related to a modulation and coding scheme of a signal in a wireless transmission configuration within the first unit. Exemplarily, the second transmission configuration may include a modulation and coding scheme (MCS) or a quadrature amplitude modulation (QAM) order.
[0287] Among them, optionally, the third mapping relationship can be pre-configured in the first unit. Alternatively, the third mapping relationship can be configured by high-layer signaling, for example, it can be configured by MAC or RRC signaling. Alternatively, the third mapping relationship can be configured by physical layer signaling, for example, it can be configured by PDCCH signaling. Alternatively, the third mapping relationship can be generated by the first unit, for example, the first unit can dynamically generate the third mapping relationship based on the current transmission configuration. The embodiment of the present application does not limit the manner in which the first unit obtains the third mapping relationship.
[0288] Exemplarily, the third mapping relationship may be as shown in Table 4, wherein the second transmission configuration is MCS, including binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), and QAM order:
[0289] Table 4
[0290] In Table 4, the boundary of the value range of the first element is denoted as Q b (P b ), where b represents the bit width and P represents the first parameter or the transformation parameter. The boundary of the value range of the normalization coefficient is denoted as Q b (a max ), where a max In Table 4, P3, P4, ..., P 10 The values can be the same or different.
[0291] Mode 3: The first unit receives compression parameter information.
[0292] In this manner, the first unit may receive compression parameter information from the second unit, or may receive compression parameter information from other devices.
[0293] Optionally, if the first unit determines the compression parameter information using the above-mentioned method 1 or method 2, the first unit may send the compression parameter information to the second unit so that the compression parameter information of the second unit is aligned with that of the first unit.
[0294] Optionally, if the first unit determines the compression parameter information using the above-mentioned method 1 or method 2, the first unit may dynamically update the compression parameter information when the first transmission configuration or the second transmission configuration changes. For example, if the RRC signaling received by the first unit configures a new first transmission configuration or a new second transmission configuration, the first unit may be triggered to update the compression parameter information according to the new first transmission configuration or the new second transmission configuration.
[0295] Optionally, if the compression parameter information includes a target compression ratio, after the first unit sends the target compression ratio to the second unit, the second unit may determine the bit width based on the target compression ratio and a preset formula / algorithm (e.g., the above formula (4)). The first unit and the second unit may be pre-configured with the same formula / algorithm for determining the bit width based on the target compression ratio, so that the first unit and the second unit can determine the same bit width based on the same target compression ratio.
[0296] Optionally, if the first unit determines the block size based on the maximum delay constraint, the first unit may send the maximum delay constraint to the second unit. The second unit may determine the block size based on the maximum delay constraint and a preset formula / algorithm (e.g., formula (5) above). The first unit and the second unit may pre-configure the same formula / algorithm for determining the block size based on the maximum delay constraint, so that the first unit and the second unit can determine the same block size based on the same maximum delay constraint.
[0297] For example, the structure of the compression parameter information sent by the first unit to the second unit may be as shown in FIG9 . It includes the maximum delay constraint τ max Or block size N0, target compression rate D or bit width b. Optionally, it can also include downsampling ratio F0, transformation mode I trans and transformation parameter P.
[0298] In the above embodiment, the manner in which the second unit determines the compression parameter information can be referred to above in the description of how the first unit determines the compression parameter information, and will not be elaborated here. If the second unit receives the compression parameter information, the second unit may receive the compression parameter information from the first unit. Alternatively, the second unit may receive the compression parameter information from another device.
[0299] Optionally, if the compression parameter information sent by the first unit to the second unit includes the first parameter or the transformation parameter, or the compression parameter information determined by the second unit itself includes the first parameter or the transformation parameter, the frame header of the compressed code stream sent by the first unit to the second unit may not include information indicating the first parameter or indicating the transformation parameter.
[0300] Optionally, if the first unit or the second unit does not determine the downsampling ratio, the downsampling ratio may take a default value, for example, a default value of 1.
[0301] For example, the process for configuring compression parameter information between the first unit and the second unit can be shown in Figure 10. The first unit sends compression parameter information to the second unit, or the second unit sends compression parameter information to the first unit. The method for determining the compression parameter information sent by the first unit or the second unit can refer to the above-mentioned method 1 or method 2. After the compression parameter information is configured, the first unit sends a compressed code stream to the second unit. The compressed code stream is obtained by compressing the input data based on the compression parameter information.
[0302] 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.
[0303] It can be understood that in the above embodiments, the methods and / or steps implemented by each unit can also be implemented by components that can be used for the unit (such as a processor, chip, chip system, circuit, logic module, or software such as a chip or circuit).
[0304] The above mainly introduces the solutions provided by this application from the perspective of the interaction between various units. Accordingly, this application also provides a communication device, which is used to implement the various methods described above. The communication device can be the first unit or the second unit in the above method embodiments, or a device including the above device, or a component that can be used in the above device.
[0305] It is understandable that, in order to realize the above functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. It should be easily appreciated by those skilled in the art that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware 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 to be beyond the scope of this application.
[0306] The embodiment of the present application can divide the functional modules of the communication device according to the above method embodiment. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. In actual implementation, there may be other division methods.
[0307] Figure 11 provides a schematic structural diagram of a communication device 110. Exemplarily, as shown in Figure 11, the communication device 110 includes a transceiver module 1102 and a processing module 1101. For ease of illustration, Figure 11 only shows the main components of the communication device.
[0308] In some embodiments, the communication device 110 may further include a storage module (not shown in FIG. 11 ) for storing program instructions and data.
[0309] In some embodiments, the transceiver module 1102, which may also be referred to as a transceiver unit, is configured to implement a transmitting and / or receiving function. The transceiver module 1102 may be composed of a transceiver circuit, a transceiver, a transceiver, or a communication interface.
[0310] In some embodiments, the transceiver module 1102 may include a receiving module and a sending module, which are respectively used to execute the receiving and sending steps performed by the first unit or the second unit in the above method embodiment, and / or used to support other processes of the technology described herein; the processing module 1101 may be used to execute the processing steps (such as determination, generation, etc.) performed by the first unit or the second unit in the above method embodiment, and / or used to support other processes of the technology described herein.
[0311] When the communication device 110 is used to implement the functions of the first unit:
[0312] In one possible design, processing module 1101 is configured to obtain input data to be compressed. Processing module 1101 is further configured to obtain a compressed code stream based on a first mapping relationship; wherein the first mapping relationship corresponds to a bit width and a first parameter, and the first mapping relationship includes multiple sets of corresponding value ranges of first elements and bit values of the data code stream; the first element is determined based on the input data; the data code stream is a binary code stream corresponding to the value range of the first element; the bit width is related to the number of bits of the bit value of the data code stream; and the first parameter is used to determine the value range of the first element.
[0313] Optionally, the processing module 1101 obtains a compressed code stream based on the first mapping relationship, including: performing block processing on the input data to obtain a block result; determining a data code stream corresponding to the block result based on the first mapping relationship; and packetizing the data code stream and a frame header to obtain a compressed code stream; wherein the frame header includes information indicating the first parameter.
[0314] Optionally, the processing module 1101 is further configured to normalize the block-based result according to a normalization coefficient to obtain a normalized result. The processing module 1101 determines the data code stream corresponding to the block-based result according to the first mapping relationship, including: determining the data code stream corresponding to the normalized result according to the first mapping relationship.
[0315] Optionally, the processing module 1101 is also used to determine compression parameter information based on the first transmission configuration; wherein the first transmission configuration is related to the signal bandwidth and / or the number of signal transmission streams; the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0316] Optionally, the processing module 1101 is also used to obtain a third mapping relationship, the third mapping relationship including the corresponding second transmission configuration and compression parameter information; wherein, the second transmission configuration is related to the modulation and coding method of the signal, and the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0317] Optionally, the transceiver module 1102 is used to receive compression parameter information; wherein the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, boundary of the value range of the first element, or boundary of the value range of the normalization coefficient.
[0318] Optionally, the transceiver module 1102 is used to send compression parameter information; wherein the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0319] When the communication device 110 is used to implement the function of the second unit:
[0320] The transceiver module 1102 is configured to receive a compressed code stream, the compressed code stream including a frame header and a data code stream. The processing module 1101 is configured to obtain reconstructed data corresponding to the compressed code stream based on a fourth mapping relationship; wherein the fourth mapping relationship corresponds to the bit width and the first parameter, and the fourth mapping relationship includes multiple sets of bit values corresponding to the data code stream and a first recovery value; the first recovery value is a result of dequantizing the data code stream.
[0321] Optionally, the frame header further includes information indicating a normalization coefficient. Processing module 1101 obtains reconstructed data corresponding to the compressed code stream based on the fourth mapping relationship, including: obtaining a restored value corresponding to the data code stream in the compressed code stream based on the fourth mapping relationship; and denormalizing the restored value based on the normalization coefficient to obtain the reconstructed data.
[0322] Optionally, the processing module 1101 is also used to determine compression parameter information based on the first transmission configuration; wherein the first transmission configuration is related to the signal bandwidth and / or the number of signal transmission streams; the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0323] Optionally, the processing module 1101 is also used to obtain a third mapping relationship, the third mapping relationship including a mapping relationship between the second transmission configuration and the compression parameter information; wherein, the second transmission configuration is related to the modulation and coding method of the signal, and the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0324] Optionally, the transceiver module 1102 is also used to receive compression parameter information; wherein the compression parameter information includes at least one of the following: block size, target compression rate, the bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0325] Optionally, the transceiver module 1102 is also used to send compression parameter information; wherein the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
[0326] Among them, all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module and will not be repeated here.
[0327] In this application, the communication device 110 is presented in the form of functional modules divided in an integrated manner. The "module" here can refer to an application-specific integrated circuit (ASIC), a circuit, a processor and memory that executes one or more software or firmware programs, an integrated logic circuit, and / or other devices that can provide the above functions.
[0328] In some embodiments, when the communication device 110 in Figure 11 is a chip or a chip system, the function / implementation process of the transceiver module 1102 can be implemented through the input and output interface (or communication interface) of the chip or chip system, and the function / implementation process of the processing module 1101 can be implemented through the processor (or processing circuit) of the chip or chip system.
[0329] Since the communication device 110 provided in this embodiment can execute the above method, the technical effects that can be obtained can refer to the above method embodiments and will not be repeated here.
[0330] As a possible product form, the above-mentioned communication device 110 can be implemented using the following: one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, discrete hardware components, any other suitable circuits, or any combination of circuits that can perform the various functions described throughout this application.
[0331] It should be noted that the structure shown in FIG11 does not constitute a specific limitation on the device structure. For example, in other embodiments of the present application, the above-mentioned devices may include more or fewer components than shown in the figure, or combine or separate certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0332] In some embodiments, an embodiment of the present application further provides a communication device, which includes a processor for implementing the method in any of the above method embodiments.
[0333] As a possible implementation, the communication device further includes a memory. The memory is used to store necessary computer programs and data. The computer program may include instructions, and the processor may invoke the instructions in the computer program stored in the memory to instruct the communication device to perform any of the above-described method embodiments. Of course, the memory may not be located in the communication device.
[0334] As another possible implementation, the communication device also includes an interface circuit, which is a code / data read / write interface circuit, and the interface circuit is used to receive computer execution instructions (computer execution instructions are stored in a memory, may be read directly from the memory, or may pass through other devices) and transmit them to the processor.
[0335] As another possible implementation, the communication device further includes a communication interface, where the communication interface is used to communicate with a module outside the communication device.
[0336] It can be understood that the communication device can be a chip or a chip system. When the communication device is a chip system, it can be composed of chips or include chips and other discrete devices. The embodiments of the present application do not specifically limit this.
[0337] Exemplarily, the communication device may employ the structure of the communication device 120 shown in FIG12 . As shown in FIG12 , the communication device 120 includes a processor 1201, a communication circuit 1202, and at least one communication interface ( FIG12 is merely exemplary, with the communication interface 1204 being used as an example). Optionally, the communication device 120 may further include a memory 1203.
[0338] The processor 1201 may be a general-purpose central processing unit (CPU), a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the program of the present application.
[0339] The communication link 1202 may include a pathway for transmitting information between the aforementioned components.
[0340] The communication interface 1204 uses any transceiver or other device for communicating with other devices or communication networks, such as Ethernet, wireless access network, wireless local area network (WLAN), etc.
[0341] The memory 1203 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 may exist independently and be connected to the processor via the communication line 1202. The memory may also be integrated with the processor.
[0342] The memory 1203 is used to store computer-executable instructions for executing the solution of the present application, and the execution is controlled by the processor 1201. The processor 1201 is used to execute the computer-executable instructions stored in the memory 1203, thereby implementing the method provided by the above embodiment of the present application.
[0343] Optionally, the computer-executable instructions in the embodiments of the present application may also be referred to as application code or computer program code, which is not specifically limited in the embodiments of the present application.
[0344] In a specific implementation, as an embodiment, the processor 1201 may include one or more CPUs, such as CPU0 and CPU1 in FIG12 .
[0345] In a specific implementation, as an embodiment, the communication device 120 may include multiple processors, such as processors 1201 and 1208 in Figure 12. Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. The processor here may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0346] In a specific implementation, as an embodiment, the communication device 120 may further include an output device 1205 and an input device 1206. The output device 1205 communicates with the processor 1201 and can display information in a variety of ways. For example, the output device 1205 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 1206 communicates with the processor 1201 and can receive user input in a variety of ways. For example, the input device 1206 can be a mouse, a keyboard, a touch screen device, or a sensor device.
[0347] It should be understood that the structure shown in FIG12 does not constitute a specific limitation on the communication device 120. For example, in other embodiments of the present application, the communication device 120 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0348] Since the communication device 120 provided in this embodiment can execute the above-mentioned data compression method, the technical effects that can be obtained can refer to the above-mentioned method embodiments and will not be repeated here.
[0349] In a simple embodiment, those skilled in the art may appreciate that the communication device 110 may take the form of the communication device 120 shown in FIG. 12 .
[0350] Specifically, the functions / implementation processes of the transceiver module 1102 and the processing module 1101 in FIG11 can be implemented by the processor 1201 shown in FIG12 calling computer-executable instructions stored in the memory 1203. Alternatively, the functions / implementation processes of the processing module 1101 in FIG11 can be implemented by the processor 1201 shown in FIG12 calling computer-executable instructions stored in the memory 1203, and the functions / implementation processes of the transceiver module 1102 in FIG11 can be implemented by the communication interface 1204 shown in FIG12.
[0351] The present application also provides a computer-readable storage medium having a computer program or instruction stored thereon, which implements the functions of any of the above method embodiments when executed by a computer.
[0352] The present application also provides a computer program product, which implements the functions of any of the above method embodiments when executed by a computer.
[0353] Those skilled in the art will appreciate that, for the sake of convenience and brevity of description, the specific working processes of the above-described systems, devices, and units may refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0354] It is understood that the systems, devices, and methods described in this application may also be implemented in other ways. For example, the device embodiments described above are merely illustrative. 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. In addition, the coupling or direct coupling or communication connection shown or discussed may be through some interface, indirect coupling or communication connection of devices or units, and may be electrical, mechanical, or other forms.
[0355] The units described as separate components may or may not be physically separate, i.e., they may be located in one place or distributed across multiple network units. Components shown as units may or may not be physical units. Some or all of these units may be selected to achieve the objectives of this embodiment as needed.
[0356] 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.
[0357] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented using a software program, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may 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 may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more media integrated therein. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)). In the embodiment of the present application, the computer may include the aforementioned device.
[0358] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art can understand and implement other changes to the disclosed embodiments by reviewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple situations. A single processor or other unit can implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.
[0359] Although the present application has been described with reference to specific features and embodiments thereof, it is apparent that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Accordingly, this specification and the drawings are merely illustrative of the present application as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, the present application is intended to include such modifications and variations as fall within the scope of the claims of the present application and their equivalents.
Claims
1. A data compression method, characterized in that: The method comprises: Get the input data to be compressed; According to the first mapping relationship, a compressed code stream is obtained; wherein the first mapping relationship corresponds to the bit width and the first parameter, and the first mapping relationship includes a plurality of groups of value ranges of the first element and the bit values of the data code stream respectively corresponding to each other; the first element is determined based on the input data; the data code stream is a binary code stream corresponding to the value range of the first element; the value of the bit width is related to the number of bits of the bit value of the data code stream; the first parameter is used to determine the value range of the first element.
2. The method according to claim 1, characterized in that The first element is determined based on the input data, including: The first element is the input data; or, The first elements are the real and imaginary parts of the input data; or, The first element is an element in the absolute value of the input data; or, The first element is an element in a vector obtained after the input data is normalized.
3. The method according to claim 1 or 2, characterized in that: The first mapping relationship is determined from a second mapping relationship based on the bit width and / or the first parameter, and the second mapping relationship includes a boundary of a value range of all the first elements in the first mapping relationship.
4. The method according to any one of claims 1 to 3, characterized in that: The first mapping relationship also includes a plurality of groups of bit values and first recovery values corresponding to the data code stream respectively; wherein the first recovery value is a result obtained by dequantizing the data code stream.
5. The method according to any one of claims 1 to 4, characterized in that: The step of obtaining a compressed code stream according to the first mapping relationship includes: Processing the input data in blocks to obtain block results; Determine, according to the first mapping relationship, a data code stream corresponding to the result after the segmentation; The data code stream and the frame header are packaged to obtain the compressed code stream; wherein the frame header includes information indicating the first parameter.
6. The method according to claim 5, characterized in that After obtaining the block results, the method further includes: According to the normalization coefficient, the block-divided result is normalized to obtain a normalized result; The determining, according to the first mapping relationship, a data code stream corresponding to the result after the segmentation includes: According to the first mapping relationship, a data code stream corresponding to the normalized result is determined.
7. The method according to claim 6, characterized in that The frame header also includes information indicating the normalization coefficient; wherein the information indicating the normalization coefficient indicates a uniform quantization value or a non-uniform quantization value of the normalization coefficient.
8. The method according to any one of claims 5 to 7, characterized in that: The information indicating the first parameter indicates a quantized value of the first parameter.
9. The method according to any one of claims 1 to 8, characterized in that: The first parameter is determined according to an optimization index; wherein the optimization index includes at least one of the normalized mean square error NMSE, the generalized cosine similarity GCS, the transmission throughput, and the bit error rate corresponding to the recovery value obtained by dequantization of the data code stream.
10. The method according to any one of claims 1 to 9, characterized in that: The method further comprises: Compression parameter information is determined according to a first transmission configuration; wherein the first transmission configuration is related to the signal bandwidth and / or the number of signal transmission streams; the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, the first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
11. The method according to any one of claims 1 to 9, characterized in that: The method further comprises: Obtain a third mapping relationship, the third mapping relationship including a corresponding second transmission configuration and compression parameter information; wherein, the second transmission configuration is related to a modulation and coding method of a signal, and the compression parameter information includes at least one of the following: block size, target compression rate, the bit width, downsampling ratio, transformation mode, the first parameter, the boundary of the value range of the first element, or the boundary of the value range of a normalization coefficient.
12. The method according to any one of claims 1 to 9, characterized in that: The method further comprises: Receive compression parameter information; wherein the compression parameter information includes at least one of the following: block size, target compression rate, the bit width, downsampling ratio, transformation mode, the first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
13. The method according to any one of claims 1 to 11, characterized in that: The method further comprises: Send compression parameter information; wherein the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, the first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
14. A data compression method, characterized in that: The method comprises: receiving a compressed code stream, wherein the compressed code stream includes a frame header and a data code stream; According to a fourth mapping relationship, reconstructed data corresponding to the compressed code stream is obtained; wherein the fourth mapping relationship corresponds to the bit width and the first parameter, and the fourth mapping relationship includes a plurality of groups of bit values and first recovery values corresponding to the data code streams respectively; the first recovery value is a result obtained by dequantizing the data code stream.
15. The method according to claim 14, characterized in that The fourth mapping relationship also includes multiple groups of corresponding value ranges of the first element and the bit values of the data code stream; wherein the first element is related to the input data, and the compressed code stream is determined based on the input data.
16. The method according to claim 15, characterized in that The fourth mapping relationship is determined from a second mapping relationship based on the bit width and / or the first parameter, and the second mapping relationship includes a boundary of a value range of all the first elements in the fourth mapping relationship.
17. The method according to claim 14, characterized in that The frame header includes information indicating a normalization coefficient; Obtaining reconstructed data corresponding to the compressed code stream according to the fourth mapping relationship includes: According to the fourth mapping relationship, a recovery value corresponding to the data code stream in the compressed code stream is obtained; The restored value is denormalized according to the normalization coefficient to obtain the reconstructed data.
18. The method according to claim 17, characterized in that The information indicating the normalization coefficient indicates a uniform quantization value or a non-uniform quantization value of the normalization coefficient.
19. The method according to any one of claims 14 to 18, characterized in that: The frame header includes information indicating the first parameter; wherein the information indicating the first parameter indicates a quantized value of the first parameter.
20. The method according to any one of claims 14 to 19, characterized in that: The first parameter is determined according to an optimization index; wherein the optimization index includes at least one of the normalized mean square error NMSE, the generalized cosine similarity GCS, the transmission throughput and the bit error rate corresponding to the recovery value obtained by dequantization of the data code stream.
21. The method according to any one of claims 14 to 20, characterized in that: The method further comprises: Compression parameter information is determined according to a first transmission configuration; wherein the first transmission configuration is related to the signal bandwidth and / or the number of signal transmission streams; the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, the first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
22. The method according to any one of claims 14 to 20, characterized in that: The method further comprises: Obtain a third mapping relationship, the third mapping relationship including a mapping relationship between a second transmission configuration and compression parameter information; wherein, the second transmission configuration is related to a modulation and coding method of a signal, and the compression parameter information includes at least one of the following: block size, target compression rate, the bit width, downsampling ratio, transformation mode, the first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
23. The method according to any one of claims 14 to 20, characterized in that: The method further comprises: Receive compression parameter information; wherein the compression parameter information includes at least one of the following: block size, target compression rate, the bit width, downsampling ratio, transformation mode, the first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
24. The method according to any one of claims 14 to 22, characterized in that: The method further comprises: Send compression parameter information; wherein the compression parameter information includes at least one of the following: block size, target compression rate, bit width, downsampling ratio, transformation mode, the first parameter, the boundary of the value range of the first element, or the boundary of the value range of the normalization coefficient.
25. A communication device, characterized in that: The apparatus comprises: a module for executing the method according to any one of claims 1-24.
26. A communication device, 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 according to any one of claims 1 to 24.
27. A computer-readable storage medium, characterized in that: The computer-readable storage medium comprises a computer program or instructions, and when the computer program or instructions are run on a computer, the method according to any one of claims 1 to 24 is executed.
28. A computer program product, characterized in that The computer program product comprises instructions, and when the instructions are run on a computer, the method of any one of claims 1 to 24 is executed.
29. A chip, characterized in that: The chip includes: a processor, and the processor is used to execute instructions so that a device including the chip performs the method according to any one of claims 1-24.