Data compression method, data decompression method, and apparatus

Through a unified data compression and decompression method, the amplitude and vector direction compression information are used to solve the problems of high computational complexity and low efficiency in the prior art, and the effect of simplifying configuration and improving efficiency is achieved.

WO2025157095A1PCT designated stage Publication Date: 2025-07-31HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/073292
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-26
Filing Date
2025-01-20
Publication Date
2025-07-31

AI Technical Summary

Technical Problem

In the data compression and decompression process, the prior art has problems such as high computational complexity, large dictionary storage overhead, and different data types require different compression processes, resulting in inefficiency.

Method used

The data is compressed in amplitude and vector direction by a unified data compression method, and an encoded code stream including data indication information, amplitude compression information and vector direction compression information is generated, and decoded through a unified decompression process to simplify the configuration process.

Benefits of technology

Improves the efficiency of data compression and decompression, simplifies the configuration process, and reduces computing complexity and storage overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025073292_31072025_PF_FP_ABST
    Figure CN2025073292_31072025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a data compression method, a data decompression method, and an apparatus, for use in simplifying the complexity of data compression, and improving data compression efficiency and decompression efficiency. In the data compression method, the method is applied to an encoding end, and the method comprises: encoding first data to obtain second data, the second data comprising: data indication information, amplitude compression information, and vector direction compression information, wherein the data indication information is used for indicating an identifier of the first data in data to be compressed, the first data is screened from the data to be compressed, the amplitude compression information is obtained by performing amplitude quantization processing on the first data, and the vector direction compression information is obtained by performing vector direction quantization processing on the first data; and generating an encoded bitstream on the basis of the second data, the encoded bitstream being used for sending to a decoding end.
Need to check novelty before this filing date? Find Prior Art

Description

Data compression method, data decompression method and device

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on January 26, 2024, with application number 202410116530.6 and invention name “A data compression method, a data decompression method and a device”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a data compression method and a data decompression method and device. Background Art

[0003] Wireless communication applications are becoming increasingly diverse. The next generation of wireless communications will generate a wealth of data tailored to these new scenarios, creating new demands for transmitting this data. For example, the sixth-generation (6G) radio access network (RAN) system generates a wide variety of data types, characterized by high volumes, high redundancy, and correlation across time, frequency, and spatial domains.

[0004] One existing data compression and decompression method, for example, requires the use of a dictionary for data compression. This dictionary must be pre-derived from training data. However, achieving high dictionary optimization accuracy requires numerous iterative optimization processes, resulting in high computational complexity and dictionary storage overhead. Furthermore, data in different communication scenarios is diverse, and existing technologies employ different compression processes for different data types, increasing data compression complexity and reducing efficiency. Similarly, data decompression also suffers from low decompression efficiency. Summary of the Invention

[0005] The embodiments of the present application provide a data compression method and a data decompression method and apparatus for simplifying the complexity of data compression and improving the efficiency of data compression and decompression.

[0006] In a first aspect, an embodiment of the present application provides a data compression method, which is applied to an encoding end, and the method includes: encoding first data to obtain second data, the second data including: data indication information, amplitude compression information and vector direction compression information, wherein the data indication information is used to indicate the identification of the first data in the data to be compressed, the first data is filtered out from the data to be compressed, the amplitude compression information is obtained by performing amplitude quantization processing on the first data, and the vector direction compression information is obtained by performing vector direction quantization processing on the first data; generating a coding stream based on the second data, and the coding stream is used to send to a decoding end.

[0007] Unless otherwise specified, the "encoding end" in this application may refer to the encoding end itself, a component in the encoding end (e.g., a processor, chip, or chip system), or a logic module or software that implements all or part of the encoding end's functions. This application does not limit the execution entity of the data compression method.

[0008] In an embodiment of the present application, a data compression end performs a unified compression process on first data to obtain second data. Despite the diverse content of the first data, the compressed second data has a uniform data format. The second data includes the following three types of information: data indication information, amplitude compression information, and vector direction compression information. In an embodiment of the present application, the unified compression process for the first data simplifies the compression configuration process, ensuring that the compressed second data includes data indication information, amplitude compression information, and vector direction compression information. The second data has a uniform compressed data format, which simplifies the complexity of data compression and improves data compression efficiency.

[0009] In one possible implementation of the first aspect of the present application, the method further includes: filtering the data to be compressed based on the amplitude of the data to be compressed to obtain the first data and the data indication information. In this implementation, by determining whether the data to be compressed is filtered out, the amount of data involved in data compression can be reduced, data compression efficiency can be improved, and compression complexity can be reduced.

[0010] In a possible implementation of the first aspect of the present application, the encoding of the first data to obtain the second data includes: performing scalar quantization processing on the amplitude included in the first data to obtain the amplitude compression information; performing vector quantization processing on the vector direction included in the first data to obtain the vector direction compression information, wherein the vector direction compression information corresponds to the amplitude compression information; and generating the second data according to the amplitude compression information, the vector direction compression information and the data indication information. In the above implementation scheme, after the encoding end obtains the amplitude and vector direction included in the first data, the encoding end can use different compression processes for quantization processing for the amplitude and vector direction respectively. Using a unified compression process for the first data can simplify the compression configuration process, so that the compressed second data includes data indication information, amplitude compression information and vector direction compression information. The second data has a unified compressed data format, which simplifies the complexity of data compression and improves the efficiency of data compression.

[0011] In a possible implementation of the first aspect of the present application, performing scalar quantization on the amplitude included in the first data includes: obtaining an amplitude quantization length L; and performing scalar quantization on the amplitude included in the first data according to the amplitude quantization length L. In this implementation, scalar quantization is performed on the amplitude included in the first data using the amplitude quantization length L, thereby enabling a unified compression process to be adopted for the first data, simplifying the compression configuration process. The resulting amplitude compression information has a unified compressed data format, simplifying the complexity of data compression and improving data compression efficiency.

[0012] In one possible implementation of the first aspect of the present application, performing vector quantization processing on the vector directions included in the first data includes: obtaining a target vector quantization parameter; and performing vector quantization processing on the vector directions included in the first data based on the target vector quantization parameter. In the above implementation, performing vector quantization processing on the vector directions included in the first data based on the target vector quantization parameter enables a unified compression process to be adopted for the first data, thereby simplifying the compression configuration process. The resulting vector direction compressed information has a unified compressed data format, simplifying the complexity of data compression and improving data compression efficiency.

[0013] In a possible implementation of the first aspect of the present application, obtaining the target vector quantization parameter includes: receiving vector quantization parameter configuration information; and determining the target vector quantization parameter based on the vector quantization parameter configuration information. In this implementation, determining the target vector quantization parameter based on the received vector quantization parameter configuration information simplifies the method for obtaining the target vector quantization parameter.

[0014] In a possible implementation of the first aspect of the present application, obtaining a target vector quantization parameter includes: obtaining first indication information of the data to be compressed; and determining a target vector quantization parameter corresponding to the first indication information based on a mapping relationship between the indication information and the vector quantization parameter. In the above implementation, the mapping relationship between the indication information and the vector quantization parameter is used to indicate the vector quantization parameters corresponding to different indication information of the data to be compressed. Determining the corresponding vector quantization method based on the different indication information of the data to be compressed can achieve a unified compression process while using an adaptive vector quantization parameter for vector quantization, further improving data compression efficiency.

[0015] In a possible implementation of the first aspect of the present application, determining the target vector quantization parameter corresponding to the first indication information based on a mapping relationship between indication information and vector quantization parameters includes: determining m indication parameters included in the first indication information, where m is a positive integer; determining m groups of candidate vector quantization parameters corresponding to the m indication parameters based on the mapping relationship; and determining the target vector quantization parameter from the m groups of candidate vector quantization parameters. In the above implementation, a final target vector quantization parameter can be selected based on the m indication parameters included in the first indication information, thereby achieving dynamic selection of the target vector quantization parameter, which is advantageous for improving data compression efficiency.

[0016] In a possible implementation of the first aspect of the present application, determining the target vector quantization parameter from the m groups of candidate vector quantization parameters includes: determining a maximum number of transmission bits B based on bandwidth resource constraints, where B is a positive integer; and determining the target vector quantization parameter from the m groups of candidate vector quantization parameters based on the maximum number of transmission bits B and a preset scaling factor R, where the preset scaling factor R indicates the maximum transmission ratio of the data to be compressed. In the above implementation, the target vector quantization parameter can be determined from the m groups of candidate vector quantization parameters using B and R, so that the obtained target vector quantization parameter can satisfy the constraints of the maximum number of transmission bits B and the preset scaling factor R, thereby achieving vector quantization of the vector direction included in the first data.

[0017] In a possible implementation of the first aspect of the present application, the method further includes: determining a first parameter index corresponding to the target vector quantization parameter based on a preset vector quantization parameter index mapping relationship; and sending the first parameter index to the decoding end. In the above implementation scheme, after obtaining the target vector quantization parameter, the vector quantization parameter index mapping relationship is queried to obtain the first parameter index. The encoding end can send the first parameter index to the decoding end, so that the decoding end can obtain the first parameter index. The decoding end queries the target vector quantization parameter corresponding to the first parameter index in the vector quantization parameter index mapping relationship, so that the decoding end can use the same target vector quantization parameter as the encoding end for decoding, thereby simplifying the decompression process of the decoding end and improving the efficiency of data decompression.

[0018] In a possible implementation of the first aspect of the present application, the target vector quantization parameter includes: a vector quantization codebook; performing vector quantization processing on the vector direction included in the first data according to the target vector quantization parameter includes: obtaining a length N of a vector quantization code block according to the vector quantization codebook, where N is a positive integer; and performing vector quantization processing on the vector direction included in the first data according to the length N of the vector quantization code block and the vector quantization codebook. In the above implementation scheme, the encoding end can use the vector quantization codebook and the length N of the vector quantization code block to perform vector quantization processing on the vector direction included in the first data, thereby completing compression of the vector direction of the first data.

[0019] In a possible implementation of the first aspect of the present application, the target vector quantization parameter includes: code block length N and code block precision K; the vector quantization processing of the vector direction included in the first data according to the target vector quantization parameter includes: vector quantization processing of the vector direction included in the first data according to the code block length N and the code block precision K. In the above implementation scheme, a unified compression process is adopted for the vector direction of the first data, which can simplify the compression configuration process and improve the efficiency of data compression. N represents the code block length used when vector quantizing the vector direction, and K represents the code block precision used when vector quantizing the vector direction. For example, the code block precision K can specifically include the parameter K of the PVQ code block. For details, see the description of the parameter K of the PVQ code block in the subsequent PVQ processing scenario. Using code block length N and code block precision K for vector quantization has the advantage of low-complexity encoding and does not require iterative optimization of the dictionary.

[0020] In a possible implementation of the first aspect of the present application, the vector direction compression information includes: one or more vector quantization indication information, where the vector quantization indication information corresponds to a vector quantization element. The vector quantization indication information may refer to an index number (index) of the vector quantization element, or the vector quantization indication information may also be a bit value corresponding to the vector quantization element. In the embodiment of the present application, there is no limitation on the number of vector quantization indication information included in the vector direction compression information and the vector quantization elements corresponding to the vector quantization indication information.

[0021] In a possible implementation of the first aspect of the present application, the target vector quantization parameter includes a target pyramid vector PVQ parameter; performing vector quantization processing on the vector direction included in the first data according to the target vector quantization parameter includes performing PVQ processing on the vector direction included in the first data according to the target PVQ parameter. In the above implementation, a unified compression process is adopted for the vector direction of the first data, which can simplify the compression configuration process and improve the efficiency of data compression. In addition, the use of PVQ for vector quantization has the advantage of low-complexity encoding and does not require iterative optimization of the dictionary.

[0022] In a possible implementation of the first aspect of the present application, the target PVQ parameters include: the length N of the PVQ code block and the parameter K of the PVQ code block; the PVQ processing of the vector direction included in the first data according to the target PVQ parameters includes: obtaining the PVQ coding bit length Q and PVQ calculation information according to the length N of the PVQ code block and the parameter K of the PVQ code block; and performing PVQ processing on the vector direction included in the first data according to the length N of the PVQ code block, the PVQ calculation information and the PVQ coding bit length Q. In the above implementation scheme, encoding and decoding of the vector direction included in the first data can be achieved through PVQ, and there is no need to use a real codebook for compression. PVQ processing only needs to use PVQ calculation information to complete compression. PVQ calculation information is different from the real codebook and has the advantage of low complexity, which can further improve the efficiency of data compression.

[0023] In a possible implementation of the first aspect of the present application, the data indication information includes: bitmap indication information, or index set indication information, wherein the bitmap indication information includes: whether each sub-data block in the data to be compressed is selected as the bit value of the first data, and the index set indication information includes: the index value of the first data in the data to be compressed. In the above implementation scheme, the encoding end uses a bitmap to indicate data screening, or uses an index set to indicate data screening. The encoding end can generate bitmap indication information or index set indication information, thereby being able to implement an indication of data screening during the compression process of the first data, and the data indication information can be obtained through a unified data compression process.

[0024] In a possible implementation of the first aspect of the present application, the method further includes: determining a maximum number of transmission bits B based on a bandwidth resource constraint, where B is a positive integer; determining an actual proportional coefficient R' based on the maximum number of transmission bits B and a preset proportional coefficient R, where the preset proportional coefficient R indicates a maximum transmission ratio of the data to be compressed; and determining the first data from the data to be compressed based on the actual proportional coefficient R'. In the above implementation, the actual proportional coefficient R' is calculated to satisfy the constraints of the maximum number of transmission bits B and the preset proportional coefficient R. The actual proportional coefficient R' that satisfies the constraint can be used to filter out the first data, so that the first data used for compression can satisfy the bandwidth resource constraint.

[0025] In a possible implementation of the first aspect of the present application, the first data includes: M sub-data blocks, each sub-data block includes: an amplitude and a vector direction corresponding to the amplitude, and M is a positive integer.

[0026] In a possible implementation of the first aspect of the present application, the method further includes: performing data partitioning on the source data to obtain the data to be compressed and configuration information, wherein the configuration information is used to indicate the size of the data to be compressed, and the data to be compressed includes amplitude and vector direction. The data to be compressed is vector data, and the data to be compressed has two dimensions of amplitude and vector direction. The data to be compressed is represented by the two dimensions of amplitude and vector direction, thereby achieving a unified representation of the data structure in the embodiment of the present application. A unified representation method is adopted for data with diverse content, and there is no need to adopt different compression processes for different data contents, thereby simplifying the data compression process.

[0027] In a second aspect, an embodiment of the present application also provides a data decompression method, which is applied to a decoding end, and includes: obtaining a coded code stream from an encoding end; decompressing second decoded data in the coded code stream to obtain first decoded data, wherein the second decoded data includes: data indication information, amplitude compression information, and vector direction compression information, wherein the data indication information is used to indicate an identifier for filtering out the first data from the data to be compressed, the amplitude compression information is obtained by performing amplitude quantization processing on the first data, and the vector direction compression information is obtained by performing vector direction quantization processing on the first data; and the first decoded data is reconstructed according to the data indication information to obtain reconstructed data.

[0028] Unless otherwise specified, the term "decoding end" in this application may refer to the decoding end itself, a component within the decoding end (e.g., a processor, chip, or chip system), or a logic module or software that implements all or part of the decoding end's functions. This application does not limit the execution entity of the data decompression method.

[0029] In the above implementation scheme, the decoding end restores the data to be compressed at the encoding end according to the decoding process adapted to the encoding end. The decoding end adopts a unified data decompression process to simplify the complexity of data decompression and improve the efficiency of data decompression.

[0030] In a possible implementation of the second aspect of the present application, the decompression of the second decoded data in the encoded code stream to obtain the first data includes: performing scalar inverse quantization processing on the amplitude compression information to obtain the amplitude of the first decoded data; performing vector inverse quantization processing on the vector direction compression information to obtain the vector direction of the first decoded data; and generating the first decoded data according to the amplitude and the vector direction. In the above implementation scheme, the decoding end can use different decompression processes for inverse quantization processing for the amplitude and vector direction respectively, and can use a unified decompression process for the second decoded data, which can simplify the process of decompression configuration. The vector direction compression information has a unified compressed data format, which simplifies the complexity of data decompression and improves the efficiency of data decompression.

[0031] In a possible implementation of the second aspect of the present application, performing scalar dequantization on the amplitude compression information to obtain the amplitude of the first decoded data includes: obtaining an amplitude quantization length L; and performing scalar dequantization on the amplitude compression information according to the amplitude quantization length L to obtain the amplitude. In the above implementation, the amplitude included in the second decoded data is scalar dequantized using the amplitude quantization length L. In the embodiment of the present application, a unified decompression process is adopted for the second decoded data, which can simplify the decompression configuration process. Since the second decoded data has a unified compressed data format, obtaining the first decoded data through the second decoded data can simplify the complexity of data decompression and improve the efficiency of data decompression.

[0032] In a possible implementation of the second aspect of the present application, performing vector inverse quantization on the vector direction compressed information to obtain the vector direction of the first decoded data includes: obtaining a target vector quantization parameter; and performing vector inverse quantization on the vector direction compressed information according to the target vector quantization parameter to obtain the vector direction. In the above implementation, vector inverse quantization is performed on the vector direction compressed information according to the target vector quantization parameter, so that a unified decompression process can be adopted for the second decoded data, which can simplify the decompression configuration process. The vector direction compressed information has a unified compressed data format, which simplifies the complexity of data decompression and improves the efficiency of data decompression.

[0033] In a possible implementation of the second aspect of the present application, obtaining the target vector quantization parameter includes: receiving vector quantization parameter configuration information; and determining the target vector quantization parameter based on the vector quantization parameter configuration information. In the above implementation, determining the target vector quantization parameter based on the received vector quantization parameter configuration information simplifies the method for obtaining the target vector quantization parameter.

[0034] In a possible implementation of the second aspect of the present application, obtaining the target vector quantization parameter includes: obtaining first indication information of the data to be compressed; and determining the target vector quantization parameter corresponding to the first indication information based on a mapping relationship between the indication information and the vector quantization parameter. In this implementation, determining the corresponding vector quantization method based on the different indication information of the data to be compressed can achieve a unified decompression process while using an adapted vector quantization parameter for vector inverse quantization, further improving data decompression efficiency.

[0035] In a possible implementation of the second aspect of the present application, determining the target vector quantization parameter corresponding to the first indication information based on a mapping relationship between indication information and vector quantization parameters includes: determining m indication parameters included in the first indication information, where m is a positive integer; determining m groups of candidate vector quantization parameters corresponding to the m indication parameters based on the mapping relationship; and determining the target vector quantization parameter from the m groups of candidate vector quantization parameters. In the above implementation, a final target vector quantization parameter can be selected based on the m indication parameters included in the first indication information, thereby achieving dynamic selection of the target vector quantization parameter, which is advantageous for improving data decompression efficiency.

[0036] In a possible implementation of the second aspect of the present application, determining the target vector quantization parameter from the m groups of candidate vector quantization parameters includes: receiving a first parameter index from the encoding end; and determining the target vector quantization parameter corresponding to the first parameter index from the m groups of candidate vector quantization parameters based on a preset vector quantization parameter index mapping relationship. In the above implementation scheme, the decoding end receives the first parameter index sent by the encoding end, queries the vector quantization parameter index mapping relationship, and determines the target vector quantization parameter corresponding to the first parameter index from the m groups of candidate vector quantization parameters, so that the decoding end can use the same target vector quantization parameter as the decoding end for decoding, simplifying the decompression process of the decoding end and improving the efficiency of data decompression.

[0037] In a possible implementation of the second aspect of the present application, the target vector quantization parameter includes: a vector quantization codebook; performing vector inverse quantization processing on the vector direction compression information according to the target vector quantization parameter includes: obtaining a length N of a vector quantization code block according to the vector quantization codebook, where N is a positive integer; and performing vector inverse quantization processing on the vector direction compression information according to the length N of the vector quantization code block and the vector quantization codebook. In the above implementation scheme, the decoding end can use the vector quantization codebook and the length N of the vector quantization code block to perform vector inverse quantization processing on the vector direction compression information, thereby completing vector direction decompression of the second decoded data.

[0038] In a possible implementation of the second aspect of the present application, the target vector quantization parameter includes: code block length N and code block precision K; performing vector inverse quantization processing on the vector direction compressed information based on the target vector quantization parameter includes: performing vector inverse quantization processing on the vector direction compressed information based on the code block length N and the code block precision K. In the above implementation, a unified compression process is adopted for the vector direction of the first data, which can simplify the compression configuration process and improve the efficiency of data compression. In addition, using code block length N and code block precision K for vector quantization has the advantage of low-complexity encoding and does not require iterative optimization of the dictionary.

[0039] In a possible implementation of the second aspect of the present application, the vector direction compression information includes: one or more vector quantization indication information, where the vector quantization indication information corresponds to a vector quantization element. The vector quantization indication information may refer to an index number (index) of the vector quantization element, or the vector quantization indication information may also be a bit value corresponding to the vector quantization element. In the embodiment of the present application, there is no limitation on the number of vector quantization indication information included in the vector direction compression information and the vector quantization elements corresponding to the vector quantization indication information.

[0040] In a possible implementation of the second aspect of the present application, the target vector quantization parameter includes a target pyramid vector PVQ parameter; and performing vector dequantization on the vector direction compressed information based on the target vector quantization parameter includes performing PVQ dequantization on the vector direction compressed information based on the target PVQ parameter. In this implementation, a unified decompression process is employed for the vector direction compressed information, which simplifies the decompression configuration process and improves data decompression efficiency. Furthermore, employing PVQ dequantization for vector dequantization offers the advantage of low-complexity decoding, eliminating the need for iterative dictionary optimization.

[0041] In a possible implementation of the second aspect of the present application, the target PVQ parameters include: the length N of the PVQ code block and the parameter K of the PVQ code block; the PVQ dequantization processing of the vector direction compression information according to the target PVQ parameters includes: obtaining the PVQ coding bit length Q and PVQ calculation information according to the length N of the PVQ code block and the parameter K of the PVQ code block; and performing PVQ dequantization processing on the vector direction compression information according to the length N of the PVQ code block, the PVQ calculation information, and the PVQ coding bit length Q. In the above implementation scheme, decoding of the vector direction compression information can be achieved through PVQ dequantization, and there is no need to use a real codebook for decompression. The PVQ dequantization processing only needs to use the PVQ calculation information to complete the decompression. The PVQ calculation information is different from the real codebook and has the advantage of low complexity, which can further improve the efficiency of data decompression.

[0042] In a possible implementation of the second aspect of the present application, the data indication information includes: bitmap indication information, or index set indication information, wherein the bitmap indication information includes: whether each sub-data block in the data to be compressed is selected as the bit value of the first data, and the index set indication information includes: the index value of the first data in the data to be compressed. In the above implementation scheme, the encoding end uses a bitmap to indicate data screening, or uses an index set to indicate data screening. The encoding end can generate bitmap indication information or index set indication information, thereby being able to implement an indication of data screening during the compression process of the first data, and the data indication information can be obtained through a unified data compression process.

[0043] In a third aspect, an embodiment of the present application provides a data compression device, comprising:

[0044] an encoding module, configured to encode the first data to obtain second data, wherein the second data includes: data indication information, amplitude compression information, and vector direction compression information;

[0045] The data indication information is used to indicate an identifier of the first data in the data to be compressed, the first data is screened from the data to be compressed, the amplitude compression information is obtained by performing amplitude quantization processing on the first data, and the vector direction compression information is obtained by performing vector direction quantization processing on the first data;

[0046] The sending module is used to generate a coded code stream according to the second data, and the coded code stream is used to be sent to the decoding end.

[0047] In the third aspect of the present application, the constituent modules of the data compression device may also execute the steps described in the aforementioned first aspect and various possible implementations. For details, please refer to the aforementioned description of the first aspect and various possible implementations.

[0048] In a fourth aspect, an embodiment of the present application provides a data decompression device, comprising:

[0049] The acquisition module is used to obtain the encoded code stream from the encoding end;

[0050] a decompression module, configured to decompress second decoded data in the encoded code stream to obtain first decoded data, the second decoded data including: data indication information, amplitude compression information, and vector direction compression information, the data indication information being used to indicate an identifier for filtering out the first data from the data to be compressed, the amplitude compression information being obtained by performing amplitude quantization processing on the first data, and the vector direction compression information being obtained by performing vector direction quantization processing on the first data;

[0051] A reconstruction module is used to reconstruct the first decoded data according to the data indication information to obtain reconstructed data.

[0052] In the fourth aspect of the present application, the constituent modules of the data decompression device can also execute the steps described in the aforementioned second aspect and various possible implementations. For details, please refer to the aforementioned description of the second aspect and various possible implementations.

[0053] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores instructions, which, when executed on a computer, enables the computer to execute the method described in the first or second aspect above.

[0054] In a sixth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method described in the first or second aspect above.

[0055] In the seventh aspect, an embodiment of the present application provides a communication device, which may include an entity such as a terminal device or a chip, and the communication device includes: a processor, a memory; the memory is used to store instructions; the processor is used to execute the instructions in the memory, so that the method as described in any one of the first or second aspects above is implemented.

[0056] In an eighth aspect, the present application provides a chip system, which includes a processor for supporting a data compression device or a data decompression device to implement the functions involved in the above aspects, for example, sending or processing the data and / or information involved in the above methods. In one possible design, the chip system also includes a memory, which is used to store the necessary program instructions and data for the data compression device or the data decompression device. The chip system can be composed of a chip, or it can include a chip and other discrete devices. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] FIG1 is a schematic diagram of the structure of a wireless access network provided in an embodiment of the present application;

[0058] FIG2 is a schematic diagram of an interaction process between a data compression end and a data decompression end provided in an embodiment of the present application;

[0059] FIG3 is a flow chart of a data compression method according to an embodiment of the present application;

[0060] FIG4 is a schematic diagram of first data obtained by screening data to be compressed according to an embodiment of the present application;

[0061] FIG5 is a schematic diagram of the composition structure of the second data provided in an embodiment of the present application;

[0062] FIG6 is a flow chart of a data decompression method according to an embodiment of the present application;

[0063] FIG7 is a schematic diagram of a general data compression framework based on PVQ provided in an embodiment of the present application;

[0064] FIG8 is a schematic diagram of a process for generating a PVQ-based encoding stream according to an embodiment of the present application;

[0065] FIG9a is a schematic diagram of distinguishing importance of an SVD singular value matrix provided by an embodiment of the present application;

[0066] FIG9 b is a schematic diagram of distinguishing importance of an SVD singular value matrix provided by an embodiment of the present application;

[0067] FIG10a is a schematic diagram of a structure of data indication information carried in a compressed code stream provided by an embodiment of the present application;

[0068] FIG10b is a schematic diagram of a structure of data indication information and PVQ parameter indication information carried in a compressed code stream provided by an embodiment of the present application;

[0069] FIG11 is a schematic diagram of a process for determining PVQ parameters according to bandwidth constraints according to an embodiment of the present application;

[0070] FIG12 is a schematic diagram of a process for filtering out first data from data to be compressed according to an embodiment of the present application;

[0071] FIG13a is a schematic diagram of an interaction process for using fixed PVQ parameter compression in an uplink scenario provided by an embodiment of the present application;

[0072] FIG13b is a schematic diagram of an interaction process for dynamically determined PVQ parameter compression in an uplink scenario provided by an embodiment of the present application;

[0073] FIG13c is a schematic diagram of an interaction process for dynamically determined PVQ parameter compression in a downlink scenario provided by an embodiment of the present application;

[0074] FIG14 is a schematic diagram of the structure of an encoding device provided in an embodiment of the present application;

[0075] FIG15 is a schematic diagram of the structure of a decoding device provided in an embodiment of the present application;

[0076] FIG16 is a schematic diagram of the structure of an encoding device provided in an embodiment of the present application;

[0077] FIG17 is a schematic diagram of the composition structure of a decoding device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0078] The embodiments of the present application are described below with reference to the accompanying drawings.

[0079] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, and this is merely a way of distinguishing the objects of the same attributes when describing them in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0080] The technical solutions of the embodiments of the present application can be applied to various data processing communication systems, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal frequency-division multiple access (OFDMA), single carrier frequency division multiple access (SC-FDMA) and other systems.

[0081] The term "system" and "network" are used interchangeably.

[0082] The communication system can also be applicable to communication technologies for the next generation (for example, a possible sixth generation (6Generation, referred to as "6G") communication system), and the technical solutions provided in the embodiments of the present application are applicable. The system 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. It is known to those skilled in the art 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.

[0083] Figure 1 shows a schematic diagram of the structure of a possible radio access network (RAN) according to an embodiment of the present application. The RAN may be a base station access system of a 2G network (i.e., the RAN includes a base station and a base station controller), or a base station access system of a 3G network (i.e., the RAN includes a base station and a radio network controller (RNC)), or a base station access system of a 4G network (i.e., the RAN includes an evolved Node B (eNB) and an RNC), or a base station access system of a 5G network, or a base station access system of a 6G network.

[0084] The RAN includes one or more network devices. The network device can be any device with wireless transceiver functions, or a chip set in a device with specific wireless transceiver functions. The network devices include but are not limited to: base stations (such as base station BS, base station NodeB, evolved base station eNodeB or eNB, base station gNodeB or gNB in ​​the fifth generation 5G communication system, base station in future communication system, access node in WiFi system, wireless relay node, wireless backhaul node), etc. The base station can be: macro base station, micro base station, pico base station, small station, relay station, etc. Multiple base stations can support networks with one or more of the above-mentioned technologies, or future evolved networks. The core network can support networks with one or more of the above-mentioned technologies, or future evolved networks. The base station can include one or more co-sited or non-co-sited transmission receiving points (TRPs). The network device can also be a wireless controller, centralized unit (CU), or distributed unit (DU) in the cloud radio access network (CRAN) scenario. The network device can also be a server, wearable device, or vehicle-mounted device, etc. The following description uses a base station as an example. The multiple network devices can be base stations of the same type or different types. The base station can communicate with terminal devices 1-6 or communicate with terminal devices 1-6 through a relay station. Terminal devices 1-6 can support communication with multiple base stations using different technologies. For example, a terminal device can support communication with a base station supporting an LTE network, a base station supporting a 5G network, or dual connectivity with both an LTE network base station and a 5G network base station. For example, a RAN node connects the terminal to a wireless network. Currently, some examples of RAN nodes include: gNB, transmission reception point (TRP), eNB, radio network controller (RNC), Node B (NB), base station controller (BSC), base transceiver station (BTS), home base station (e.g., home evolved NodeB, or home Node B, HNB), baseband unit (BBU), or Wi-Fi access point (AP).In a network structure, the network device may include a centralized unit (CU) node, a distributed unit (DU) node, or a RAN device including a CU node and a DU node.

[0085] Terminal devices 1-6, also known as user equipment (UE), mobile station (MS), mobile terminal (MT), terminal, etc., are devices that provide voice and / or data connectivity to users, or chips set in the device, such as handheld devices with wireless connection capabilities, vehicle-mounted devices, etc. Currently, some examples of terminal devices include: mobile phones, tablet computers, laptops, PDAs, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, etc. The terminal devices provided in the embodiments of the present application can be low-complexity terminal devices and / or terminal devices in coverage enhancement mode A.

[0086] In an embodiment of the present application, the base station and UE1 to UE6 form a communication system. In the communication system, the base station sends one or more system information, RAR messages and paging messages to one or more UEs among UE1 to UE6. In addition, UE4 to UE6 also form a communication system. In the communication system, UE5 can be implemented as the function of a base station, and UE5 can send one or more system information, control information and paging messages to one or more UEs among UE4 and UE6.

[0087] Unless otherwise specified, the term "terminal device" in this application may refer to the terminal device itself, a component in the terminal device (e.g., a processor, chip, or chip system), or a logic module or software that implements all or part of the functions of the terminal device. This application does not limit the execution entity of the data compression method.

[0088] Similarly, the term "network device" in this application may refer to the network device itself, a component in the network device (e.g., a processor, chip, or chip system), or a logic module or software that implements all or part of the network device's functions. This application does not limit the execution entity of the data decompression method.

[0089] The next generation of wireless communications will generate a large amount of data for new scenarios, and new requirements will arise for transmitting this data. For example, RAN systems may generate a variety of data types, including native data. This data is characterized by large volumes, high redundancy, and correlation across time, frequency, and spatial domains.

[0090] For example, the data of the next generation RAN system may include at least one of the following, but not limited to:

[0091] The first is perception data, such as 2D or 3D imaging data, environment reconstruction data, point cloud data, or positioning data;

[0092] The second type is artificial intelligence (AI)-related data or edge artificial intelligence (AI)-related data, such as AI model data, training data, gradient update data, feature information extracted by neural networks, etc.

[0093] The third type is channel data, such as the channel matrix, channel information fed back by devices in a multi-antenna system, and channel state information (CSI) data.

[0094] There are other ways to realize data for new scenarios, such as video data, sensor data, perception data, AI data contained in applications such as smart factories, or control data from upper layers.

[0095] By illustrating data from different wireless communication scenarios, we can see that these data have characteristics such as large data volume, high redundancy, and correlation in the time, frequency, and spatial domains. For example, imaging data and radar detection data are highly sparse, while positioning and tracking data acquired over continuous time, environmental imaging or reconstruction data, and AI training data have strong temporal correlation. The sparsity and correlation of these data can be exploited to compress the data to be transmitted, thereby reducing transmission overhead. Furthermore, in many scenarios, a certain degree of lossy compression and transmission results are acceptable to meet the needs of specific perception and AI tasks, meaning that 100% recovery of the original data is not necessary.

[0096] Current data compression and decompression methods use model-trained dictionaries. However, achieving high dictionary optimization accuracy requires a large number of iterations, resulting in high computational complexity. Different data types have large distribution differences, so multiple sets of dictionaries need to be optimized, resulting in high storage overhead. When data characteristics are time-varying, dictionaries need to be updated, which involves real-time training data transmission, distribution of updated dictionary information, and high communication overhead.

[0097] Different data types have different characteristics, resulting in data diversity. Currently, different compression processes are used for different data types, resulting in high data standardization costs. The present application addresses the problem of adopting a unified compression framework for diverse data types and executing concise compression and decompression configuration processes.

[0098] The present application provides a data compression method and a data decompression method, which are applicable to data transmission processes in wireless communication scenarios. In the present application, the data transmission between a data compression end and a data decompression end is taken as an example, for example, data transmission between a terminal device and a network device, or data transmission between a network device and a terminal device, or data transmission between terminal devices, or data transmission between two network elements in a wireless communication network. Please refer to Figure 2, which is a schematic diagram of an interaction process between a data compression end and a data decompression end provided in the present application. The data compression method and data decompression method provided in the present application mainly include the following steps:

[0099] 201. Encode first data to obtain second data, where the second data includes data indication information, amplitude compression information, and vector direction compression information.

[0100] Among them, the data indication information is used to indicate the identification of the first data in the data to be compressed, the first data is filtered out from the data to be compressed, the amplitude compression information is obtained by performing amplitude quantization processing on the first data, and the vector direction compression information is obtained by performing vector direction quantization processing on the first data.

[0101] In an embodiment of the present application, the original data of the first data may be RAN data, or it may be data after preprocessing the RAN data. The preprocessing method adopted in the embodiment of the present application includes but is not limited to performing discrete Fourier transform (DFT), singular value decomposition (SVD) and other operations on the RAN data.

[0102] In an embodiment of the present application, the encoding end is used to execute the compression process shown in step 201. The encoding end can also be called a data encoding end, or a compression end, or a data compression end, etc. The encoding end can specifically be a network device, a terminal device, or a network element in a wireless communication network, which is not limited here.

[0103] Optionally, the encoding end represents the data in vector form, compresses the data using a unified compression framework, and executes a concise compression configuration process. Taking the compression processing of the first data by the encoding end as an example, the first data represents the data before compression. For example, the first data includes: M sub-data blocks, M is a positive integer, and M represents the number of sub-data blocks in the first data. For example, if the value of M is 1, the first data can be a sub-data block, or if the value of M is greater than 1, the first data can represent multiple sub-data blocks. In the embodiment of the present application, there is no limitation on the size of the sub-data block. In the following, taking 1 sub-data block as n1×n2 as an example, the values ​​of n1 and n2 are not limited. It can be understood that the compression of the first data in the embodiment of the present application can be specifically understood as the compression of the M sub-data blocks in the first data. The amplitude quantization processing and vector direction quantization processing of the first data in the subsequent embodiments can further include the amplitude quantization processing and vector direction quantization processing of the M sub-data blocks in the first data.

[0104] In the embodiment of the present application, the first data is data represented in vector form (referred to as vector data for short), and the first data includes data of two dimensions, namely amplitude and vector direction. For example, in the embodiment of the present application, the first data can be represented as vector data by preprocessing. For example, the data to be compressed is a complex signal to be compressed, and the complex signal to be compressed is represented as real data and imaginary data. The real data and the imaginary data can be spliced ​​and then compressed together. For example, the complex data to be compressed can be first split into sub-data blocks of size n1×(n2 / 2), and then the real part and the imaginary part of each complex sub-data block are spliced ​​to obtain n1×n2 real sub-data blocks, and then the real sub-data blocks are compressed. For another example, the complex signal to be compressed can be represented as complex absolute value data and phase data, and then compression can be performed on amplitude and phase respectively. For details, see the example description of the data compression process in the subsequent embodiments.

[0105] The encoding end performs a unified compression process on the first data to obtain second data. In the embodiment of the present application, the compression process shown in step 201 is performed for the diverse content of the first data, thereby obtaining second data. The second data includes the following three types of information: data indication information, amplitude compression information, and vector direction compression information. In the embodiment of the present application, the use of a unified compression process for the first data can simplify the compression configuration process, so that the compressed second data includes data indication information, amplitude compression information, and vector direction compression information. The second data has a unified compressed data format, which simplifies the complexity of data compression and improves the efficiency of data compression.

[0106] In an embodiment of the present application, the encoding end filters out the first data from the data to be compressed, and can indicate the identification of the first data in the data to be compressed through data indication information. For example, the data indication information indicates the position information of the first data in the data to be compressed. For example, if the first data includes M sub-data blocks, the data indication information can indicate the positions of the M sub-data blocks in the data to be compressed. For example, the identification of the first data in the data to be compressed can be a parameter index, and the data indication information indicates the parameter index number corresponding to the first data in the data to be compressed. For example, the data indication information can specifically be data screening indication information, data selection indication information, or data selection indication information, etc.

[0107] In the embodiment of the present application, the data indication information can be obtained through a unified data compression process. The amplitude quantization and vector direction quantization are further performed on the filtered first data to obtain amplitude compression information and vector direction compression information. Therefore, the amplitude compression information and vector direction compression information can be obtained through a unified data compression process. Among them, the amplitude compression information represents the result of amplitude quantization of the first data. The amplitude compression information can also be called amplitude quantization information. Specifically, the amplitude compression information can be the compression result corresponding to the amplitude of the first data. The vector direction compression information represents the result of vector direction quantization of the first data. The vector direction compression information can also be called vector quantization information or direction quantization information. Specifically, the vector direction compression information can be the compression result corresponding to the vector direction of the first data.

[0108] Next, the amplitude and vector direction of the first data in the embodiment of the present application are illustrated. In one example, the sub-data block size of the first data is 1×4, in the form of a 4-dimensional vector, and the value of the first data is [0, -1, 2, 2]. Then the amplitude A corresponding to the first data is A=sqrt(0+1+4+4)=3, and the vector direction corresponding to the first data can be expressed as d=[0, -1 / 3, 2 / 3, 2 / 3], where sqrt() represents a square root operation. The vector direction can be a unit vector or not, that is, its amplitude is not 1.

[0109] In another example, the sub-data block size of the first data is 2×3 and is in matrix form. The first data is first represented as a 6-dimensional vector. The value of the first data is [0, -1, 2; 1, 2, 3]. The first data is first converted into a 6-dimensional vector [1, -1, 2, 1, 3, -3]. Then, the amplitude A = sqrt(1+1+4+1+9+9) = 5 corresponding to the first data is calculated. The vector direction corresponding to the first number can be expressed as d = [1 / 5, -1 / 5, 2 / 5, 1 / 5, 3 / 5, -3 / 5].

[0110] It is understood that the calculation of the amplitude and vector direction of the first data is only an illustrative example and is not intended to limit the embodiments of the present application. Unless otherwise specified herein, the vector direction may be a unit vector or may not be a unit vector, i.e., its amplitude is not 1.

[0111] In some embodiments of the present application, the data indication information includes: bitmap indication information, or index set indication information,

[0112] The bitmap indication information includes: whether each sub-data block in the to-be-compressed data is selected as the bit value of the first data,

[0113] The index set indication information includes: an index value of the first data in the data to be compressed.

[0114] Optionally, the encoding end can indicate the identification of the first data in the data to be compressed in the form of a bit map. The encoding end can generate bit map indication information. Taking the data block to be compressed as an example, whether each sub-data block in the data to be compressed is selected as the first data can be indicated by a bit map.

[0115] For example, the encoding end uses bitmap to indicate data filtering. For the data to be compressed, the size is N blk,1 ×N blk,2 The binary matrix, N blk,1 and N blk,2 They respectively represent the overhead of the bitmap, a value of 0 indicates that the corresponding sub-data block is not selected, and a value of 1 indicates that the corresponding sub-data block is selected, which can constitute the first data. For example, if the bitmap indication information is 10001110, then 1 among the 8 sub-data blocks represents a selected sub-data block, and 0 represents an unselected sub-data block.

[0116] Optionally, the encoding end may indicate the identification of the first data in the data to be compressed in the form of an index set. The encoding end may generate index set indication information, and take the case where the data block to be compressed includes multiple sub-data blocks as an example, and record the selected sub-data block in the index set indication information.

[0117] For example, the encoding end uses an index set indication data screening, numbers the sub-data blocks in row-first or column-first form, and records the index set of the selected sub-data block as the first data. For example, if the index set indication information is {1, 5, 6, 7, 12, 15, 16, 17, 18, 20}, then the index values ​​1, 5, 6, 7, 12, 15, 16, 17, 18, 20, etc. indicate that the corresponding sub-data block is selected as the first data, and the sub-data block corresponding to the index value that does not belong to the index set indication information indicates that it is not selected.

[0118] In an embodiment of the present application, the encoding end uses a bitmap to indicate data screening, or uses an index set to indicate data screening. The encoding end can generate bitmap indication information or index set indication information, thereby enabling indication of data screening during the compression process of the first data. The data indication information can be obtained through a unified data compression process.

[0119] 202. Generate an encoded code stream according to the second data, where the encoded code stream is sent to a decoding end.

[0120] In this embodiment of the present application, after the encoder obtains the second data, it can write the second data into a coded stream, which can also be called a compressed stream. The encoder and decoder interact via a wireless channel or a wired channel. The encoder can send the coded stream so that the decoder receives it. The decoder then executes the decompression process described in subsequent steps 203 to 205.

[0121] 203. Obtain the encoded bitstream from the encoding end.

[0122] In an embodiment of the present application, the decoding end is used to execute the decompression process shown in step 203. The decoding end can also be called a data decoding end, or a decompression end, or a data decompression end, etc. The decoding end can specifically be a network device, a terminal device, or a network element in a wireless communication network, which is not limited here.

[0123] The decoding end can interact with the encoding end to receive the encoded code stream sent by the encoding end. For example, the decoding end and the encoding end interact through a wireless channel or a wired channel, and the decoding end can obtain the encoded code stream, which is obtained by the encoding end executing the aforementioned steps 201 to 202.

[0124] 204. Decompress the second decoded data in the encoded code stream to obtain the first decoded data, where the second decoded data includes: data indication information, amplitude compression information, and vector direction compression information.

[0125] The data indication information indicates the identity of the first data in the data to be compressed. The first data is selected from the data to be compressed. The amplitude compression information is obtained by performing amplitude quantization processing on the first data, and the vector direction compression information is obtained by performing vector direction quantization processing on the first data. For details on the data indication information, amplitude compression information, and vector direction compression information, see the instructions on the encoder.

[0126] After the decoding end obtains the coded code stream from the encoding end, it will use a unified decompression framework for decompression and execute a simple decompression configuration process. Taking the decompression of the second decoded data in the coded code stream by the decoding end as an example, the second decoded data is the decoded data obtained by the decoding end from the received coded code stream, and the second decoded data corresponds to the second data of the encoding end. The decoding end executes a unified decompression process on the second decoded data to obtain the first decoded data. In the embodiment of the present application, the second decoded data includes the following three types of information: data indication information, amplitude compression information and vector direction compression information. The amplitude compression information and the vector direction compression information are decompressed respectively to obtain the first decoded data. In the embodiment of the present application, a unified decompression process is used for the second decoded data, which can simplify the decompression configuration process. Since the second decoded data has a unified compressed data format, the first decoded data is obtained through the second decoded data, which can simplify the complexity of data decompression and improve the efficiency of data decompression.

[0127] In the embodiment of the present application, the second decoded data represents the decoded data obtained by the decoding end from the received coded code stream. For example, the second decoded data includes: M sub-data blocks, where M is a positive integer and M represents the number of sub-data blocks in the second decoded data. For example, if the value of M is 1, the second decoded data can be one sub-data block, or if the value of M is greater than 1, the second decoded data can represent multiple sub-data blocks. Among them, the sub-data block is the smallest compression unit for data compression in the embodiment of the present application. In the embodiment of the present application, the size of the sub-data block is not limited. In the following, 1 sub-data block is taken as an example with n1×n2. It can be understood that the decompression of the second decoded data in the embodiment of the present application can be specifically understood as the decompression of the M sub-data blocks in the second decoded data.

[0128] 205. Reconstruct the first decoded data according to the data indication information to obtain reconstructed data.

[0129] The decoding end decompresses the amplitude compression information and vector direction compression information in the second decoded data to obtain the first decoded data. The first decoded data is obtained by reconstructing the first data of the encoding end, and the first decoded data corresponds to the first data of the encoding end. The decoding end can also obtain data indication information from the second decoded data. Since the data indication information is used to indicate the identification of the first data in the data to be compressed, after obtaining the first decoded data, the first decoded data is reconstructed according to the data indication information to obtain reconstructed data. The reconstructed data is the data obtained after the first data of the encoding end is reconstructed at the decoding end. For example, the data indication information indicates the identification of the first data in the data to be compressed. The data indication information can be used to restore the position of the first decoded data to obtain reconstructed data. The decoding end restores the first data of the encoding end according to the decoding process adapted to the encoding end. The decoding end adopts a unified data decompression process to simplify the complexity of data decompression and improve the efficiency of data decompression.

[0130] The above embodiments illustrate the interaction process between the encoding end and the decoding end. Next, a data compression method performed by the encoding end is described in detail. Referring to FIG3 , another embodiment of the present application provides a data compression method, which may include:

[0131] 301. Divide the source data to obtain data to be compressed and configuration information.

[0132] The configuration information is used to indicate the size of the data to be compressed, and the data to be compressed includes amplitude and vector direction.

[0133] In the embodiment of the present application, the encoding end first obtains the source data. The source data can be the original data generated by the encoding end, or the data obtained after preprocessing the original data, or the data obtained by the encoding end from the upstream task model. The encoding end divides the source data to obtain the data to be compressed and the configuration information. For example, the data to be compressed may include: M sub-data blocks. The configuration information may indicate the size of the data to be compressed. For example, the configuration information includes: the sub-data block size (n1, n2) or the number of blocks of the data to be compressed (N blk,i =N i / n i ,i=1,2),N blk,i Indicates the number of blocks, N i Indicates the size of the data to be compressed, n i Indicates the size of the sub-data block.

[0134] In an embodiment of the present application, the data to be compressed is vector data, and the data to be compressed has two dimensions of amplitude and vector direction. The data to be compressed is represented by the two dimensions of amplitude and vector direction, thereby realizing a unified representation of the data structure in an embodiment of the present application. A unified representation method is adopted for data with diverse content, and there is no need to adopt different compression processes for different data contents, thereby simplifying the data compression process.

[0135] 302. Filter the data to be compressed based on the amplitude of the data to be compressed to obtain first data and data indication information.

[0136] In the embodiment of the present application, after obtaining the amplitude and vector direction of the data to be compressed, in order to reduce the amount of data transmission, the data to be compressed needs to be filtered. Specifically, the data to be compressed is filtered based on its amplitude to obtain first data and data indication information. There are various ways to filter based on the data amplitude, such as filtering based on a preset amplitude threshold, where sub-data blocks corresponding to amplitudes exceeding the amplitude threshold are selected, while sub-data blocks corresponding to amplitudes below the amplitude threshold are not selected. By determining whether the data to be compressed is filtered out, the amount of data involved in data compression can be reduced, data compression efficiency can be improved, and compression complexity can be reduced.

[0137] For example, as shown in FIG4 , a schematic diagram of the first data obtained by screening the data to be compressed provided by an embodiment of the present application is shown. The gray box represents the selected sub-data block, and the white box represents the unselected sub-data block. The selected sub-data block constitutes the aforementioned first data, and the first data is used to execute the subsequent compression process. The unselected sub-data block does not participate in the subsequent compression process. The unselected sub-data block is set to zero at the position in the data to be compressed and is not sent to the decoding end. When the decoding end reconstructs the data, it fills the position of the unselected sub-data block in the reconstructed data with zero, thereby completing data recovery. In the implementation of the present application, the selected sub-data block constitutes the first data, and the identification of the first data in the data to be compressed is indicated by the data indication information. Specifically, it can be done in the form of a bit map or an index set. Please refer to the aforementioned example for details, which will not be repeated here.

[0138] 303. Perform scalar quantization processing on the amplitude included in the first data to obtain amplitude compression information.

[0139] In an embodiment of the present application, after the encoding end obtains the amplitude and vector direction included in the first data, the encoding end may use different compression processes to perform quantization processing on the amplitude and vector direction respectively. Specifically, scalar quantization processing is performed on the amplitude included in the first data. For example, the scalar quantization performed on the amplitude included in the first data may be uniform scalar quantization or non-uniform scalar quantization. Furthermore, taking the non-uniform scalar quantization of the amplitude included in the first data as an example, a preset quantization table can be determined through a communication protocol, and the amplitude compression information corresponding to the amplitude included in the first data can be obtained by querying the quantization table.

[0140] In some possible implementations of some embodiments of the present application, step 303 performs scalar quantization processing on the amplitude included in the first data, including:

[0141] A1. Obtain the amplitude quantization length L;

[0142] A2. Perform scalar quantization processing on the amplitude included in the first data according to the amplitude quantization length L.

[0143] The amplitude quantization length L refers to the quantization length used when quantizing the amplitude included in the first data. The amplitude quantization length L can specifically be the number of amplitude quantization bits L. The amplitude quantization length L is an amplitude quantization parameter. In the embodiment of the present application, the value of L is not limited. After determining the amplitude quantization length L, the amplitude value corresponding to the amplitude quantization length L is determined from the amplitude included in the first data, and then the amplitude value corresponding to the amplitude quantization length L is scalar quantized. In the embodiment of the present application, the amplitude included in the first data is scalar quantized using the amplitude quantization length L, so that a unified compression process can be adopted for the first data, which can simplify the compression configuration process. The obtained amplitude compression information has a unified compressed data format, which simplifies the complexity of data compression and improves the efficiency of data compression.

[0144] In some embodiments of the present application, the amplitude quantization processing of the first data may specifically be the aforementioned scalar quantization processing of the amplitude included in the first data, thereby implementing a unified compression process for the first data. In other embodiments of the present application, the amplitude quantization processing of the first data may also be vector quantization processing of the amplitudes of multiple sub-data blocks in the first data, thereby also implementing a unified compression process for the first data and simplifying the compression configuration process.

[0145] 304. Perform vector quantization (VQ) processing on the vector direction included in the first data to obtain vector direction compression information.

[0146] Among them, the vector direction compression information corresponds to the amplitude compression information.

[0147] In an embodiment of the present application, after the encoder obtains the amplitude and vector direction included in the first data, the encoder can use different compression processes to perform quantization processing on the amplitude and vector direction respectively. Specifically, vector quantization processing is performed on the vector direction included in the first data. For example, the codebook used for the vector quantization of the vector direction included in the first data can be obtained offline through K-means (K-means), LBG (Linde-Buzo-Gray) and other algorithms. In the embodiment of the present application, other vector quantization codebook calculation methods are not limited.

[0148] For example, the first data includes M sub-data blocks, and vector quantization processing is performed on the vector directions of the M sub-data blocks respectively, so that M vector direction compression information of the M sub-data blocks can be obtained.

[0149] In the embodiment of the present application, the amplitude compression information obtained in step 303 and the vector direction compression information obtained in step 304 correspond to each other. The amplitude compression information is obtained by performing amplitude quantization processing on the amplitude of the first data, and the vector direction compression information is obtained by performing vector direction quantization processing on the vector direction of the first data. For example, there is a one-to-one correspondence between the vector direction compression information and the amplitude compression information. The amplitude compression information and the vector direction compression information are simultaneously used as compression information in the encoded code stream, so that after the decoding end receives the encoded code stream, it decodes according to the amplitude compression information and the vector direction compression information to obtain reconstructed data.

[0150] As shown in Figure 5, a schematic diagram of the composition structure of the second data provided in an embodiment of the present application is provided. The second data includes the following three types of information: data indication information, amplitude compression information, and vector direction compression information. For example, the data indication information is located before the amplitude compression information and the vector direction compression information in the second data. In an embodiment of the present application, a unified compression process is adopted for the first data, which can simplify the compression configuration process. The compressed second data includes the data indication information, the amplitude compression information, and the vector direction compression information. The second data has a unified compressed data format, which simplifies the complexity of data compression and improves the efficiency of data compression.

[0151] It can be understood that in the embodiment of the present application, there is no difference in the order of execution between step 303 and step 304. Step 303 can be executed first and then step 304, or step 304 can be executed first and then step 303, or step 303 and step 304 can be executed at the same time, which is not limited here.

[0152] In some possible implementations of some embodiments of the present application, step 304 performs vector quantization processing on the vector direction included in the first data, including:

[0153] B1. Obtain target vector quantization parameters;

[0154] B2. Perform vector quantization processing on the vector direction included in the first data according to the target vector quantization parameter.

[0155] The target vector quantization parameter refers to the quantization parameter used when quantizing the vector direction included in the first data. In the embodiment of the present application, the encoding end can obtain a fixed target vector quantization parameter or dynamically obtain the target vector quantization parameter, and the method for obtaining the target vector quantization parameter is not limited. After determining the target vector quantization parameter, the target vector quantization parameter is used to perform vector quantization processing on the vector direction included in the first data. In the embodiment of the present application, the vector direction included in the first data is vector quantized according to the target vector quantization parameter, so that a unified compression process can be adopted for the first data, which can simplify the compression configuration process. The obtained vector direction compressed information has a unified compressed data format, which simplifies the complexity of data compression and improves the efficiency of data compression.

[0156] In some possible implementations of some embodiments of the present application, B1 obtains a target vector quantization parameter, including:

[0157] B11. Receive vector quantization parameter configuration information;

[0158] B12. Determine a target vector quantization parameter according to the vector quantization parameter configuration information.

[0159] Among them, the encoding end can receive vector quantization parameter configuration information, and the vector quantization parameter configuration information can be used to configure the vector quantization parameter. For example, in an uplink communication scenario, the encoding end can be a terminal device, and the encoding end receives the vector quantization parameter configuration information from the network device. The vector quantization parameter configuration information received by the encoding end can be a fixed configuration vector quantization parameter, and the vector quantization parameter configuration information is received in advance to complete the configuration of the target vector quantization parameter. After the encoding end receives the vector quantization parameter configuration information, it can determine the aforementioned target vector quantization parameter based on the vector quantization parameter configuration information. The target vector quantization parameter can be used to vector quantize the vector direction included in the first data. In the embodiment of the present application, the target vector quantization parameter is determined by the received vector quantization parameter configuration information, which simplifies the method for obtaining the target vector quantization parameter.

[0160] In some other possible implementations of some embodiments of the present application, B1 obtains a target vector quantization parameter, including:

[0161] B13. Obtain first indication information of the data to be compressed;

[0162] B14. Determine a target vector quantization parameter corresponding to the first indication information according to a mapping relationship between the indication information and the vector quantization parameter.

[0163] The encoding end preconfigures a mapping relationship between the indication information and the vector quantization parameter, and the mapping relationship between the indication information and the vector quantization parameter is used to indicate the vector quantization parameters corresponding to different indication information of the data to be compressed. For example, the mapping relationship between the indication information and the vector quantization parameter can specifically be a mapping table of indication information and vector quantization parameters, and the mapping table is queried using the indication information to obtain the vector quantization parameters corresponding to different indication information. For example, the mapping relationship between the indication information and the vector quantization parameter can be multiple sets, each set including a type of indication information and a corresponding target vector quantization parameter. The set to which the indication information belongs is determined to obtain the corresponding target vector quantization parameter.

[0164] The encoder first obtains first indication information. The first indication information can be used to indicate a vector quantization method corresponding to the data to be compressed. The first indication information is one of multiple indication information. For example, the first indication information can indicate an importance parameter of the data to be compressed. The importance parameter is a data characteristic of the data to be compressed. Determining the corresponding vector quantization method based on the data characteristic of the data to be compressed can achieve a unified compression process while using adaptive vector quantization parameters for vector quantization, further improving data compression efficiency.

[0165] For example, the encoding end is specifically a terminal device, and the first indication information can be specifically sent by a network device to the terminal device. The terminal device receives the first indication information and determines the target vector quantization parameter for vector quantization of the vector direction included in the first data through the first indication information. The terminal device can dynamically configure the vector quantization parameter.

[0166] In some embodiments of the present application, the first indication information of the data to be compressed can be determined based on the data characteristics of the data to be compressed, for example, by performing a singular value decomposition (SVD) calculation on the data to be compressed to obtain a singular matrix to be compressed, and indicating different indication information by the different sizes of the singular values ​​corresponding to each row or column of the singular matrix. For another example, the first indication information is determined based on the contribution of the data to be compressed to the downstream task, for example, the first indication information is determined by considering the influence of the data to be compressed on the accuracy of tasks such as environment reconstruction, target detection, and positioning. The downstream task can be deployed at the decoding end, and the decoding end receives the recovered compressed data and uses the recovered compressed data as the output of the downstream task for subsequent operations.

[0167] It can be understood that the aforementioned steps B11 to B12 and steps B13 to B14 are implementation methods for obtaining target vector quantization parameters in different scenarios. Steps B11 to B12 are applicable to a method for obtaining target vector quantization parameters in advance, and steps B13 to B14 are applicable to a method for dynamically obtaining target vector quantization parameters. The vector quantization parameters can be determined in combination with the application scenario, and are not limited here.

[0168] In some other possible implementations of some embodiments of the present application, B14 determines the target vector quantization parameter corresponding to the first indication information according to the mapping relationship between the indication information and the vector quantization parameter, including:

[0169] B141. Determine m indication parameters included in the first indication information, where m is a positive integer;

[0170] B142. Determine m groups of candidate vector quantization parameters corresponding to the m indicator parameters according to the mapping relationship;

[0171] B143. Determine a target vector quantization parameter from m groups of candidate vector quantization parameters.

[0172] Among them, m has multiple values. One or more indication parameters can be indicated in the first indication information, each indication parameter indicates a data characteristic of the data to be compressed. The encoding end determines m groups of candidate vector quantization parameters corresponding to the m indication parameters based on the mapping relationship between the indication information and the vector quantization parameter, where one indication parameter can correspond to a group of candidate vector quantization parameters. The candidate vector quantization parameters can be used to determine the target vector quantization parameter. For example, all parameters in the m groups of candidate vector quantization parameters can be used as the target vector quantization parameters, or some parameters in the m groups of candidate vector quantization parameters can be used as the target vector quantization parameters. In the embodiment of the present application, the final target vector quantization parameter can be selected based on the m indication parameters included in the first indication information, thereby realizing dynamic selection of the target vector quantization parameter, which is beneficial for improving the efficiency of data compression.

[0173] In some other possible implementations of some embodiments of the present application, B143 determines a target vector quantization parameter from m groups of candidate vector quantization parameters, including:

[0174] B1431. Determine the maximum number of transmission bits B according to the bandwidth resource constraint, where B is a positive integer.

[0175] B1432. Determine a target vector quantization parameter from m groups of candidate vector quantization parameters according to the maximum number of transmission bits B and a preset scaling factor R, where the preset scaling factor R indicates a maximum transmission ratio of the data to be compressed.

[0176] Among them, the encoding end obtains bandwidth resource constraints, which are constraints on the bandwidth resources used by the encoding end to send the encoded code stream. The encoding end can determine the maximum number of transmission bits B based on the bandwidth resource constraints. Next, the encoding end uses the maximum number of transmission bits B and the preset proportional coefficient R as constraints, wherein the preset proportional coefficient R indicates the maximum transmission ratio of the data to be compressed. R can be configured by the network device or according to the communication protocol, which is not limited here. It is judged in turn whether the m groups of alternative vector quantization parameters meet the constraints of the maximum number of transmission bits B and the preset proportional coefficient R. The alternative vector quantization parameters that meet the constraints can be used as target vector quantization parameters. In the embodiment of the present application, the target vector quantization parameter can be determined from the m groups of alternative vector quantization parameters through B and R. Therefore, the obtained target vector quantization parameter can meet the constraints of the maximum number of transmission bits B and the preset proportional coefficient R, thereby realizing vector quantization of the vector direction included in the first data.

[0177] In some other possible implementations of some embodiments of the present application, the data encoding method performed by the encoding end further includes:

[0178] C1. Determine a first parameter index corresponding to a target vector quantization parameter according to a preset vector quantization parameter index mapping relationship;

[0179] C2. Send the first parameter index to the decoding end.

[0180] Among them, the encoding end can pre-configure the vector quantization parameter index mapping relationship, for example, the vector quantization parameter index mapping relationship is specifically a PVQ parameter mapping table, which will be explained in detail in the following examples. After obtaining the target vector quantization parameter, the encoding end queries the vector quantization parameter index mapping relationship to obtain the first parameter index. The encoding end can send the first parameter index to the decoding end, so that the decoding end can obtain the first parameter index. The decoding end queries the target vector quantization parameter corresponding to the first parameter index in the vector quantization parameter index mapping relationship, so that the decoding end can use the same target vector quantization parameter as the encoding end for decoding, which simplifies the decompression process of the decoding end and improves the efficiency of data decompression.

[0181] In some other possible implementations of some embodiments of the present application, the target vector quantization parameter includes: a vector quantization codebook;

[0182] B2 performs vector quantization processing on the vector direction included in the first data according to the target vector quantization parameter, including:

[0183] B21. Obtain a length N of a vector quantization code block according to a vector quantization codebook, where N is a positive integer.

[0184] B22. Perform vector quantization processing on the vector direction included in the first data according to the length N of the vector quantization code block and the vector quantization codebook.

[0185] In which, the encoding end obtains a vector quantization codebook from the target vector quantization parameter, and then determines the length N of the vector quantization code block based on the vector quantization codebook. After obtaining the length N of the vector quantization code block, the encoding end can use the vector quantization codebook and the length N of the vector quantization code block to perform vector quantization processing on the vector direction included in the first data, thereby completing the compression of the vector direction of the first data.

[0186] Furthermore, in some other possible implementations of some embodiments of the present application, the target vector quantization parameter includes: a target pyramid vector quantization (PVQ) parameter;

[0187] B2 performs vector quantization processing on the vector direction included in the first data according to the target vector quantization parameter, including:

[0188] B23. Perform PVQ processing on the vector direction included in the first data according to the target PVQ parameter.

[0189] The vector quantization used by the encoding end may specifically be PVQ, and the target vector quantization parameter may specifically be a target PVQ parameter. The encoding end may use the target PVQ parameter to perform PVQ processing on the vector direction included in the first data. In the embodiment of the present application, a unified compression process is used for the vector direction of the first data, which can simplify the compression configuration process and improve data compression efficiency. Furthermore, using PVQ for vector quantization has the advantage of low-complexity encoding, eliminating the need for iterative dictionary optimization.

[0190] Furthermore, in some other possible implementations of some embodiments of the present application, the target PVQ parameters include: the length N of the PVQ code block and the parameter K of the PVQ code block;

[0191] B23 performs PVQ processing on the vector direction included in the first data according to the target PVQ parameter, including:

[0192] B231. Obtaining a PVQ coding bit length Q and PVQ calculation information according to a length N of the PVQ code block and a parameter K of the PVQ code block;

[0193] B232. Perform PVQ processing on the vector direction included in the first data according to the length N of the PVQ code block, the PVQ calculation information, and the PVQ encoding bit length Q.

[0194] Among them, the vector quantization used by the encoding end can be specifically PVQ, and the target vector quantization parameter is specifically the target PVQ parameter. The target PVQ parameter includes the length N of the PVQ code block and the parameter K of the PVQ code block. N represents the coding block length, and N also corresponds to the codeword size. K represents the constraint conditions satisfied by the PVQ calculation information. The encoding end obtains the PVQ coding bit length Q and PVQ calculation information based on N and K. Q represents the bit length of the vector direction compression information obtained by PVQ processing. The encoding end can also perform PVQ processing on the vector direction included in the first data according to N, Q and PVQ calculation information. In the embodiment of the present application, encoding and decoding of the vector direction included in the first data can be achieved through PVQ, and there is no need to use a real code book for compression. PVQ processing only needs to use PVQ calculation information to complete compression. PVQ calculation information is different from the real code book, has the advantage of low complexity, and can further improve the efficiency of data compression.

[0195] In some other possible implementations of some embodiments of the present application, the target vector quantization parameter includes: code block length N and code block precision K;

[0196] B2 performs vector quantization processing on the vector direction included in the first data according to the target vector quantization parameter, including:

[0197] B24. Perform vector quantization processing on the vector direction included in the first data according to the code block length N and the code block accuracy K.

[0198] In the above implementation, a unified compression process is used for the vector direction of the first data, which can simplify the compression configuration process and improve data compression efficiency. N represents the code block length used when performing vector quantization on the vector direction, and K represents the code block precision used when performing vector quantization on the vector direction. For example, the code block precision K can specifically include the aforementioned PVQ code block parameter K. Using the code block length N and code block precision K for vector quantization has the advantage of low-complexity encoding and does not require iterative dictionary optimization.

[0199] In a possible implementation of the first aspect of the present application, the vector direction compression information includes: one or more vector quantization indication information, where the vector quantization indication information corresponds to a vector quantization element. The vector quantization indication information may refer to an index number (index) of the vector quantization element, or the vector quantization indication information may also be a bit value corresponding to the vector quantization element. In the embodiment of the present application, there is no limitation on the number of vector quantization indication information included in the vector direction compression information and the vector quantization elements corresponding to the vector quantization indication information.

[0200] In another implementation of some embodiments of the present application, in an implementation scenario where the encoding end performs steps B1 to B2, the data encoding method performed by the encoding end further includes:

[0201] D1. Obtain second indication information of the data to be compressed;

[0202] D2. Determine a mapping relationship index corresponding to the second indication information from a plurality of pre-configured vector quantization parameter index mapping relationships;

[0203] D3. Querying a second parameter index corresponding to the target vector quantization parameter according to the vector quantization parameter index mapping relationship corresponding to the mapping relationship index;

[0204] D4. Send the mapping relationship index and the second parameter index to the decoding end.

[0205] The encoding end may pre-configure multiple vector quantization parameter index mapping relationships, each of which has a mapping relationship index. The encoding end first obtains second indication information, which may be used to indicate the vector quantization method corresponding to the data to be compressed. The second indication information is one of multiple indication information. For example, the second indication information may indicate the mapping relationship index corresponding to the data to be compressed. The vector quantization parameter index mapping relationship corresponding to the mapping relationship index is determined from multiple vector quantization parameter index mapping relationships based on the mapping relationship index. After obtaining the target vector quantization parameter, the encoding end then queries the vector quantization parameter index mapping relationship corresponding to the mapping relationship index to obtain the second parameter index. The encoding end may send the mapping relationship index and the second parameter index to the decoding end, so that the decoding end can obtain the mapping relationship index and the second parameter index. The decoding end queries the vector quantization parameter index mapping relationship based on the mapping relationship index, and then queries the target vector quantization parameter corresponding to the second parameter index in the vector quantization parameter index mapping relationship. The decoding end can then use the same target vector quantization parameter as the encoding end for decoding, thereby simplifying the decompression process of the decoding end and improving the efficiency of data decompression.

[0206] In one implementation of the first aspect of the present application, in addition to executing the aforementioned method, the data compression method executed by the encoding end further includes the following steps:

[0207] E. Receive control signaling, where the control signaling is used to indicate at least one of the following: a bandwidth resource constraint, a scaling factor R, and the number m of vector quantization parameters.

[0208] When the encoder is a terminal device, the encoder can receive control signaling from the network device. The control signaling can indicate bandwidth resource constraints, so that the encoder can obtain the bandwidth resource constraints. Similarly, the control signaling sent by the network device can also indicate the scaling factor R and the number of vector quantization parameters m, so that the encoder can determine the target vector quantization parameter based on the received control signaling.

[0209] Specifically, the control signaling may be high-layer signaling, such as radio resource control (RRC) signaling and medium access control (MAC) signaling. Alternatively, the control signaling may be physical layer signaling, such as the physical downlink control channel (PDCCH). The specific implementation method of the control signaling may be determined based on the application scenario.

[0210] In another implementation of some embodiments of the present application, the data compression method performed by the encoding end may further include the following steps:

[0211] F1. Determine the maximum number of transmission bits B according to the bandwidth resource constraint, where B is a positive integer;

[0212] F2. Determine an actual scaling factor R' based on the maximum number of transmission bits B and a preset scaling factor R, where the preset scaling factor R indicates the maximum transmission ratio of the data to be compressed;

[0213] F3. Determine first data from the data to be compressed according to the actual proportional coefficient R'.

[0214] The encoding end obtains a bandwidth resource constraint condition, which is a constraint condition on the bandwidth resources used by the encoding end to send the encoded code stream. The encoding end can determine the maximum number of transmission bits B based on the bandwidth resource constraint condition. Next, the encoding end uses the maximum number of transmission bits B and a preset proportional coefficient R as constraint conditions, wherein the preset proportional coefficient R indicates the maximum transmission ratio of the data to be compressed. The proportional coefficient R can also be called the transmission ratio. R can be configured by the network device or according to the communication protocol, and is not limited here. The actual proportional coefficient R' is calculated to meet the constraints of the maximum number of transmission bits B and the preset proportional coefficient R. The actual proportional coefficient R' that meets the constraint condition can be used to filter out the first data, so that the first data used for compression can meet the bandwidth resource constraint condition.

[0215] 305. Generate second data according to the amplitude compression information, the vector direction compression information, and the data indication information.

[0216] In an embodiment of the present application, the encoding end performs a unified compression process on the first data. After obtaining amplitude compression information, vector direction compression information, and data indication information, the second data can be obtained through the amplitude compression information, vector direction compression information, and data indication information. In an embodiment of the present application, the data generation method shown in step 305 is executed for the diverse content of the first data, thereby obtaining the second data. The second data includes the following three types of information: data indication information, amplitude compression information, and vector direction compression information. In an embodiment of the present application, a unified compression process is adopted for the first data, which can simplify the compression configuration process, so that the compressed second data includes data indication information, amplitude compression information, and vector direction compression information. The second data has a unified compressed data format, which simplifies the complexity of data compression and improves the efficiency of data compression.

[0217] The above embodiments illustrate the data compression method performed by the encoding end. Next, the data decompression method performed by the decoding end is described in detail. Referring to FIG6 , another embodiment of the present application provides a data decompression method, which may include:

[0218] 601. Obtain the encoded bitstream from the encoding end.

[0219] In an embodiment of the present application, the decoding end is used to perform the decompression process. The decoding end can interact with the encoding end to receive the encoded code stream sent by the encoding end. For example, the decoding end and the encoding end interact through a wireless channel, and the decoding end can obtain the encoded code stream.

[0220] 602. Perform scalar inverse quantization processing on the amplitude compression information to obtain the amplitude of the first decoded data.

[0221] In an embodiment of the present application, after the decoder obtains the encoded code stream, the encoder obtains second decoded data from the encoded code stream, the second decoded data corresponds to the first data of the encoder, and performs scalar dequantization on the amplitude compression information in the second decoded data to obtain the amplitude of the first decoded data. Scalar dequantization is the inverse process of scalar quantization in the aforementioned embodiment. The amplitude of the first decoded data can be obtained through scalar dequantization, and the first decoded data corresponds to the first data of the encoder. For example, the scalar dequantization performed on the amplitude included in the second decoded data can be uniform scalar dequantization or non-uniform scalar dequantization. Further, taking the non-uniform scalar dequantization of the amplitude included in the second decoded data as an example, a preset quantization table can be determined through a communication protocol, and the amplitude of the first decoded data can be obtained by querying the quantization table.

[0222] In some possible implementations of some embodiments of the present application, step 602 performs scalar dequantization processing on the amplitude compression information to obtain the amplitude of the first decoded data, including:

[0223] G1, obtain the amplitude quantization length L;

[0224] G2. Perform scalar dequantization processing on the amplitude compression information according to the amplitude quantization length L to obtain the amplitude.

[0225] Among them, the amplitude quantization length L refers to the quantization length used when quantizing the amplitude included in the first data. The amplitude quantization length L can specifically be the number of amplitude quantization bits L. The amplitude quantization length L belongs to the amplitude quantization parameter. In the embodiment of the present application, there is no limitation on the value of L. After determining the amplitude quantization length L, the amplitude value corresponding to the amplitude quantization length L is determined from the amplitude included in the second decoded data, and then the amplitude value corresponding to the amplitude quantization length L is subjected to scalar dequantization processing. In the embodiment of the present application, the amplitude included in the second decoded data is subjected to scalar dequantization processing through the amplitude quantization length L. In the embodiment of the present application, a unified decompression process is adopted for the second decoded data, which can simplify the process of decompression configuration. Since the second decoded data has a unified compressed data format, the first decoded data is obtained through the second decoded data, which can simplify the complexity of data decompression and improve the efficiency of data decompression.

[0226] 603. Perform vector inverse quantization processing on the vector direction compression information to obtain the vector direction of the first decoded data.

[0227] In an embodiment of the present application, after the decoding end obtains the amplitude and vector direction included in the second decoded data, the decoding end may use different decompression processes to perform inverse quantization processing on the amplitude and vector direction, respectively. Specifically, vector inverse quantization processing is performed on the vector direction compression information included in the second decoded data. For example, vector quantization of the vector direction compression information included in the second decoded data can be implemented offline using algorithms such as K-means and LBG. In the embodiment of the present application, other vector inverse quantization processing methods are not limited.

[0228] For example, the vector direction compression information includes M sub-data blocks. By performing vector inverse quantization processing on the vector directions of the M sub-data blocks respectively, M vector directions of the M sub-data blocks can be obtained.

[0229] In some possible implementations of some embodiments of the present application, step 603 performs vector inverse quantization processing on the vector direction compression information to obtain the vector direction of the first decoded data, including:

[0230] H1. Obtain target vector quantization parameters;

[0231] H2. Perform vector dequantization processing on the vector direction compression information according to the target vector quantization parameter to obtain the vector direction.

[0232] The target vector quantization parameter refers to the quantization parameter used when quantizing the vector direction included in the first data. In the embodiment of the present application, the decoding end can obtain a fixed target vector quantization parameter or dynamically obtain the target vector quantization parameter. There is no limitation on the method for obtaining the target vector quantization parameter. After determining the target vector quantization parameter, the target vector quantization parameter is used to perform vector dequantization processing on the vector direction compressed information. In the embodiment of the present application, the vector direction compressed information is dequantized according to the target vector quantization parameter, so that a unified decompression process can be adopted for the second decoded data, which can simplify the decompression configuration process. The vector direction compressed information has a unified compressed data format, which simplifies the complexity of data decompression and improves the efficiency of data decompression.

[0233] In some possible implementations of some embodiments of the present application, H1 obtains a target vector quantization parameter, including:

[0234] H11, receiving vector quantization parameter configuration information;

[0235] H12. Determine a target vector quantization parameter according to the vector quantization parameter configuration information.

[0236] Among them, the decoding end can receive vector quantization parameter configuration information, and the vector quantization parameter configuration information can be used to configure the vector quantization parameter. For example, in an uplink communication scenario, the decoding end can be a terminal device and the encoding end can be a network device, then the decoding end receives the vector quantization parameter configuration information from the network device, or in a scenario where both the decoding end and the encoding end are terminal devices, the decoding end can receive the vector quantization parameter configuration information from the network device in advance. The vector quantization parameter configuration information received by the decoding end can be a fixed configuration vector quantization parameter, and the vector quantization parameter configuration information is received in advance to complete the configuration of the target vector quantization parameter. After the decoding end receives the vector quantization parameter configuration information, the aforementioned target vector quantization parameter can be determined based on the vector quantization parameter configuration information. The target vector quantization parameter can be used to perform vector inverse quantization processing on vector direction compression information. In the embodiment of the present application, the target vector quantization parameter is determined by the received vector quantization parameter configuration information, which simplifies the method of obtaining the target vector quantization parameter.

[0237] In some other possible implementations of some embodiments of the present application, H1 obtains a target vector quantization parameter, including:

[0238] H13. Obtain first indication information of the data to be compressed;

[0239] H14. Determine a target vector quantization parameter corresponding to the first indication information according to a mapping relationship between the indication information and the vector quantization parameter.

[0240] The decoding end preconfigures a mapping relationship between the indication information and the vector quantization parameter, and the mapping relationship between the indication information and the vector quantization parameter is used to indicate the vector quantization parameters corresponding to different indication information of the data to be compressed. For example, the mapping relationship between the indication information and the vector quantization parameter can be specifically a mapping table of indication information and vector quantization parameters, and the mapping table is queried using the indication information to obtain the vector quantization parameters corresponding to different indication information. For example, the mapping relationship between the indication information and the vector quantization parameter can be multiple sets, each set including a type of indication information and a corresponding target vector quantization parameter. The set to which the indication information belongs is determined to obtain the corresponding target vector quantization parameter.

[0241] The decoding end first obtains first indication information. The first indication information can be used to indicate the vector quantization method corresponding to the data to be compressed. The first indication information is one of multiple indication information. For example, the first indication information can indicate an importance parameter of the data to be compressed. The importance parameter is a data characteristic of the data to be compressed. Determining the corresponding vector quantization method based on the data characteristic of the data to be compressed can achieve a unified decompression process while using adapted vector quantization parameters for vector dequantization, further improving data decompression efficiency.

[0242] In some other possible implementations of some embodiments of the present application, H14 determines the target vector quantization parameter corresponding to the first indication information according to the mapping relationship between the indication information and the vector quantization parameter, including:

[0243] H141. Determine m indication parameters included in the first indication information, where m is a positive integer;

[0244] H142. Determine m groups of candidate vector quantization parameters corresponding to the m indicator parameters according to the mapping relationship;

[0245] H143. Determine a target vector quantization parameter from m groups of candidate vector quantization parameters.

[0246] Among them, m has multiple values. One or more indication parameters can be indicated in the first indication information, each indication parameter indicates a data characteristic of the data to be compressed. The decoding end determines m groups of candidate vector quantization parameters corresponding to the m indication parameters based on the mapping relationship between the indication information and the vector quantization parameter, where one indication parameter can correspond to a group of candidate vector quantization parameters. The candidate vector quantization parameters can be used to determine the target vector quantization parameter. For example, all parameters in the m groups of candidate vector quantization parameters can be used as the target vector quantization parameters, or some parameters in the m groups of candidate vector quantization parameters can be used as the target vector quantization parameters. In the embodiment of the present application, the final target vector quantization parameter can be selected based on the m indication parameters included in the first indication information, thereby realizing dynamic selection of the target vector quantization parameter, which is beneficial for improving the efficiency of data decompression.

[0247] In some other possible implementations of some embodiments of the present application, H143 determines a target vector quantization parameter from m groups of candidate vector quantization parameters, including:

[0248] H1431. Receive a first parameter index from the encoding end;

[0249] H1432. Determine a target vector quantization parameter corresponding to the first parameter index from the m groups of candidate vector quantization parameters according to a preset vector quantization parameter index mapping relationship.

[0250] Among them, the decoding end receives the first parameter index sent by the encoding end, the decoding end queries the vector quantization parameter index mapping relationship, and determines the target vector quantization parameter corresponding to the first parameter index from m groups of alternative vector quantization parameters, so that the decoding end can use the same target vector quantization parameter as the decoding end for decoding, which simplifies the decompression process of the decoding end and improves the efficiency of data decompression.

[0251] In some other possible implementations of some embodiments of the present application, the target vector quantization parameter includes: a vector quantization codebook;

[0252] H2. Perform vector dequantization processing on the vector direction compression information according to the target vector quantization parameter, including:

[0253] H21. Obtain the length N of the vector quantization code block according to the vector quantization code book, where N is a positive integer;

[0254] H22. Perform vector inverse quantization processing on the vector direction compression information according to the length N of the vector quantization code block and the vector quantization codebook.

[0255] Among them, the decoding end obtains the vector quantization codebook from the target vector quantization parameter, and then determines the length N of the vector quantization code block according to the vector quantization codebook. After obtaining the length N of the vector quantization code block, the decoding end can use the vector quantization codebook and the length N of the vector quantization code block to perform vector inverse quantization processing on the vector direction compression information, thereby completing the vector direction decompression of the second decoded data.

[0256] Furthermore, in some other possible implementations of some embodiments of the present application, the target vector quantization parameter includes: a target pyramid vector PVQ parameter;

[0257] H2 performs vector dequantization processing on the vector direction compression information according to the target vector quantization parameter, including:

[0258] H23. Perform PVQ dequantization on the vector direction compression information according to the target PVQ parameters.

[0259] The vector inverse quantization used by the decoding end may specifically be PVQ inverse quantization. PVQ inverse quantization is a process that is the inverse of PVQ. The aforementioned target vector quantization parameter is specifically a target PVQ parameter. The decoding end may use the target PVQ parameter to perform PVQ inverse quantization on the vector direction compressed information. In the embodiment of the present application, a unified decompression process is used for the vector direction compressed information, which can simplify the decompression configuration process and improve the efficiency of data decompression. Furthermore, using PVQ inverse quantization for vector inverse quantization has the advantage of low-complexity decoding without the need for iterative dictionary optimization.

[0260] Furthermore, in some other possible implementations of some embodiments of the present application, the target PVQ parameters include: the length N of the PVQ code block and the parameter K of the PVQ code block;

[0261] H23 performs PVQ dequantization on the vector direction compression information according to the target PVQ parameters, including:

[0262] H231. Obtaining PVQ coding bit length Q and PVQ calculation information according to the length N of the PVQ code block and the parameter K of the PVQ code block;

[0263] H232. Perform PVQ dequantization processing on the vector direction compression information according to the length N of the PVQ code block, the PVQ calculation information, and the PVQ encoding bit length Q.

[0264] Among them, the vector inverse quantization used by the decoding end can be specifically PVQ inverse quantization, and the target vector quantization parameter is specifically the target PVQ parameter. The target PVQ parameter includes the length N of the PVQ code block and the parameter K of the PVQ code block. N represents the coding block length, and N also corresponds to the codeword size. K represents the constraint conditions satisfied by the PVQ calculation information. The decoding end obtains the PVQ coding bit length Q and PVQ calculation information according to N and K. Q represents the bit length of the vector direction compression information obtained by PVQ processing. The decoding end can also perform PVQ inverse quantization processing on the vector direction compression information according to N, Q and PVQ calculation information. In the embodiment of the present application, decoding of the vector direction compression information can be achieved through PVQ inverse quantization, and there is no need to use a real codebook for decompression. The PVQ inverse quantization processing only needs to use PVQ calculation information to complete decompression. The PVQ calculation information is different from the real codebook and has the advantage of low complexity, which can further improve the efficiency of data decompression.

[0265] Furthermore, in some other possible implementations of some embodiments of the present application, the target vector quantization parameter includes: code block length N and code block precision K;

[0266] H2 performs vector dequantization processing on the vector direction compression information according to the target vector quantization parameter, including:

[0267] H24. Perform vector dequantization processing on the vector direction compression information according to the code block length N and the code block accuracy K.

[0268] In the above implementation, a unified compression process is used for the vector direction of the first data, which simplifies the compression configuration process and improves data compression efficiency. Furthermore, vector quantization using code block length N and code block precision K offers the advantage of low-complexity encoding without requiring iterative dictionary optimization.

[0269] In a possible implementation of the first aspect of the present application, the vector direction compression information includes: one or more vector quantization indication information, where the vector quantization indication information corresponds to a vector quantization element. The vector quantization indication information may refer to an index number (index) of the vector quantization element, or the vector quantization indication information may also be a bit value corresponding to the vector quantization element. In the embodiment of the present application, there is no limitation on the number of vector quantization indication information included in the vector direction compression information and the vector quantization elements corresponding to the vector quantization indication information.

[0270] 604. Generate first decoded data according to the amplitude and the vector direction.

[0271] Among them, the amplitude in step 604 is obtained by performing scalar dequantization processing on the amplitude compression information, and the vector direction in step 604 is obtained by performing vector dequantization processing on the vector direction compression information. The amplitude and the vector direction correspond to each other, and the first decoded data is generated according to the amplitude and the vector direction. The first decoded data corresponds to the first data at the encoding end.

[0272] 605. Reconstruct the first decoded data according to the data indication information to obtain reconstructed data.

[0273] The decoding end decompresses the amplitude and vector direction based on the amplitude compression information and vector direction compression information in the second decoded data to obtain the amplitude and vector direction. The amplitude and vector direction can be used to generate first decoded data. The first decoded data is obtained by reconstructing the first data from the encoding end, and the first decoded data corresponds to the first data from the encoding end. The decoding end can also obtain data indication information from the second decoded data. Since the data indication information is used to indicate the identification of the first data in the data to be compressed, after obtaining the first decoded data, the first decoded data is reconstructed according to the data indication information to obtain reconstructed data. The reconstructed data is data obtained by reconstructing the data to be compressed from the encoding end. For example, the data indication information indicates the identification of the first data in the data to be compressed. The data indication information can be used to restore the position of the first decoded data to obtain reconstructed data. The decoding end restores the data to be compressed from the encoding end according to a decoding process compatible with the encoding end. The decoding end adopts a unified data decompression process to simplify the complexity of data decompression and improve the efficiency of data decompression.

[0274] To facilitate a better understanding and implementation of the above solutions in the embodiments of the present application, the following examples are given for specific explanation using corresponding application scenarios.

[0275] The embodiments of the present application are applicable to communication systems oriented to future cellular standards and Wi-Fi standards. The communication system may mainly include an encoding device and a decoding device. For example, the encoding device and the decoding device are mainly related products of future cellular and Wi-Fi, including base stations, mobile terminals and other equipment.

[0276] Next, the data encoding process performed by the encoding device and the data decoding process performed by the decoding device are illustrated with examples. Please refer to Figure 7, which is a schematic diagram of a general data compression framework based on PVQ provided in an embodiment of the present application. Taking two-dimensional data to be compressed as an example, it can also be one-dimensional, three-dimensional or other dimensional data, and this solution is not limited.

[0277] The encoding device adopts a general data compression framework based on PVQ, which mainly includes: obtaining the data to be compressed, data division, data screening, amplitude compression and PVQ. The following is an explanation of the above processes:

[0278] 1) Data division:

[0279] The encoding device obtains the pre-processed data to be compressed as N1×N2, divides the pre-processed data to be compressed into sub-data blocks, and the configuration information used by the encoding end includes: the sub-data block size (n1×n2) or the number of blocks (N blk,i =N i / n i ,i=1,2).

[0280] 2) Data screening:

[0281] The encoding device selects the sub-data blocks according to their amplitudes and outputs the first data.

[0282] For example, in FIG7 , the gray sub-data blocks are selected sub-data blocks, and the white sub-data blocks are unselected sub-data blocks. When a subsequent PVQ operation is performed and PVQ compression information is obtained, the unselected sub-data blocks will be directly set to zero, and the encoded bitstream does not include the unselected data.

[0283] The encoding device may generate data indication information, and indicate the selection position of the selected sub-data block through the data indication information.

[0284] Optionally, a bitmap or index set can be used to indicate data filtering. The configuration information used by the encoding device for data filtering includes bandwidth resources and / or proportional coefficient R. R can also be understood as the maximum sending ratio. For example, the percentage of the gray sub-data block shown in Figure 7 to all data blocks can be the proportional coefficient R, which can also be called the sending ratio R.

[0285] First, the data indication information is described through bitmap indication, the size is N blk,1 ×N blk,2 A binary matrix, where a value of 0 indicates that the corresponding sub-data block is not selected, and a value of 1 indicates that the corresponding sub-data block is selected for subsequent PVQ compression, as shown in Table 1 below, is an example of the bitmap value corresponding to the data screening result in Figure 7.

[0286] Table 1 is an example table of bitmap information

[0287] In another optional implementation, the data indication information is indicated by an index set. The sub-data blocks are numbered in a row-first or column-first manner, and the index set of the selected sub-data block is recorded. Taking row-first as an example, the index set corresponding to the data filtering result in Figure 7 is {1, 5, 6, 7, 12, 15, 16, 17, 18, 20}.

[0288] 3) Amplitude Compression and PVQ

[0289] After the encoding device obtains the first data through data division and data screening, it can compress the amplitude and vector direction of the first data respectively, and the amplitude and the vector direction correspond one to one.

[0290] As shown in Figure 8, a schematic diagram of the generation process of the PVQ-based encoding code stream provided in an embodiment of the present application is provided. The encoding device performs a compression operation. For example, the UE or BS divides the data to be compressed into multiple groups of sub-data blocks, and each group of sub-data blocks obtains an amplitude A and a vector direction d. For example, the vector direction d can be a unit vector or not, that is, its amplitude is not 1. The size of the sub-data block is n1×n2. The encoding device then performs a quantization operation to obtain L-bit amplitude quantization information of the amplitude and Q-bit PVQ index information of the vector direction. The above information is sent to the decoding device as a compressed code stream.

[0291] Specifically, the encoding device performs amplitude normalization on the amplitude of the selected sub-data block in the first data to obtain amplitude quantization information, and performs PVQ on the vector direction of the selected sub-data block in the first data to obtain PVQ index information. The encoding device performs amplitude compression and PVQ to obtain compressed information, which includes amplitude quantization information and PVQ index information.

[0292] The configuration information used by the encoding apparatus for amplitude compression and PVQ may include: a PVQ parameter, wherein the PVQ parameter includes: the number of amplitude quantization bits L, PVQ configuration information (N, K), or a PVQ parameter mapping table. Alternatively, the configuration information may include: the number of amplitude quantization bits L and a PVQ parameter, wherein the PVQ parameter includes: the PVQ configuration information (N, K) or a PVQ parameter mapping table.

[0293] For example, the configuration information includes PVQ parameters, including the number of amplitude quantization bits L and the PVQ code block length N, and the codebook parameter K, where the PVQ code block length N is the same as the number of sub-data elements. If the data to be compressed is a complex signal, it can be preprocessed into a real part and an imaginary part, and then the real and imaginary parts can be concatenated and jointly quantized. If the data to be compressed is an amplitude and phase signal, it needs to be quantized separately. In the embodiment of the present application, the scalar quantization processing of the amplitude and the vector quantization processing of the vector direction can be performed in any order.

[0294] First, the scalar quantization of amplitude in the embodiment of the present application is explained. The amplitude compression information is expressed as SQ(L), which means that L-bit scalar quantization (SQ) is performed on the amplitude A, which can be uniform or non-uniform quantization; if non-uniform quantization is used, the quantization table can be preset by the protocol, and the scalar quantization of the amplitude can be completed through the quantization table.

[0295] Next, the vector quantization of the vector direction in the embodiment of the present application is described. The vector direction compression information is expressed as PVQ(N,K), which means that the vector direction d is PVQ-encoded, and the codeword x satisfies the N-dimensional vector and the 1-norm ||x||1=|x1|+|x2|+…+|x N |=K, and all elements are integers, and the 1-norm (L1 Norm) of element x is equal to K. Given N and K, traversing all cases where ||x||1=K can obtain the number of bits Q required for the PVQ index. The following is a method for quickly calculating the number of bits Q.

[0296] No represents the calculation information corresponding to the number of codewords, that is, No(N,K) represents the number of codewords of PVQ calculation information with a length of N and a parameter of K.

[0297] 1. Iteration formula: No(N,K)=No(N,K–1)+No(N–1,K)+No(N–1,K–1), N ≥ 1, K ≥ 1;

[0298] 2. Boundary conditions: No(N,0)=1(N≥0), No(0,K)=0(K≥1);

[0299] Based on the above iterative formula and boundary conditions, we can obtain Q=ceil(log2(No(N,K))), where ceil(·) represents a round-up operation.

[0300] N determines the size of the code block, and K determines the accuracy of the code block. Both N and K can be configured through signaling. For example, the value of N can be determined based on various factors, such as the size of the original data and computational complexity. K can take many different values. For example, if K is 1, very few codewords are available. A larger K value results in more codewords and higher compression accuracy.

[0301] Next, the low-complexity encoding and decoding process of PVQ is illustrated with examples.

[0302] First, an example is given to illustrate the low-complexity coding implementation of PVQ(N,K).

[0303] 1) Input: vector direction d, parameter K of PVQ code block;

[0304] 2) Get the PVQ codeword x closest to d:

[0305] a. Scaling d to obtain d' = K / ||d||1×d;

[0306] b. Round d' element by element to get d';

[0307] c. Determine the relationship between ||d"||1 and K;

[0308] ||d”||1 = K: x = d”;

[0309] ||d”||1 > K: x is obtained by subtracting 1 from the ||d”||1–K elements with the largest error contributions in d”;

[0310] ||d”||1 < K: x is obtained by adding 1 to the K–||d”||1 elements with the largest error contributions in d”.

[0311] 3), Obtain the PVQ index corresponding to the PVQ codeword x, denoted as I:

[0312] a. Initialize I = 0, i = 1, k = K, n = N;

[0313] b. Perform operations according to x i (sign(x) represents calculating the sign of x, and when x > 0, x = 0, x < 0, the values are 1, 0, -1 respectively);

[0314] |x i | = 1: I = I + No(n–1,k) + (1–sign(x i )) / 2*No(n–1,k–1);

[0315] |x i | > 1:

[0316] c. Update: k = k–|x i |, n = n–1, i = i + 1;

[0317] d. Repeat steps b and c until k = 0, and output I.

[0318] 4), Represent the PVQ index I as a binary code stream of Qbits (i.e., PVQ index information) and output it.

[0319] Next, the different N and K in PVQ are explained as follows:

[0320] When N = 4 and K = 1, Q = 3 bits, and the obtained PVQ elements are shown in Table 2 below:

[0321] Table 2 is a table of value examples of PVQ elements

[0322] When N = 4 and K = 2, Q = 5 bits, and the obtained PVQ elements are shown in Table 3 below:

[0323] Table 3 is a table of value examples of PVQ elements

[0324] In the embodiments of the present application, there are multiple ways to obtain PVQ parameters. One is a fixed PVQ parameter method, that is, the PVQ parameters can be given in advance through configuration information. Another is a dynamic PVQ parameter method, in which the PVQ parameters of each sub-data block are dynamically determined based on data characteristics, and the PVQ parameter indication information indicates the indication information used.

[0325] Next, the method of indicating the dynamic selection of PVQ parameters will be described.

[0326] The data frame format of the compressed code stream sent after encoding is designed as follows:

[0327] In one implementation scenario, the BS completes the PVQ parameter configuration and gives the compressed bit lengths L and Q. As shown in FIG10a, a schematic diagram of the structure of the data indication information carried in a compressed code stream provided by an embodiment of the present application is provided. The compressed code stream includes data indication information and PVQ compression information. The PVQ compression information includes the amplitude quantization bits of each sub-data block and the PVQ index bits. The data indication information can be a bitmap or an index set, which requires N blk =N blk,1 ×N blk,2 and R×N blk ×ceil(log2(N blk The advantage of using a bitmap is that the number of bits does not change with the change of the transmission ratio R; the advantage of using an index set is that when R is relatively small, the number of bits will be less than the bitmap, which can save a certain amount of transmission bandwidth.

[0328] In another implementation scenario, the encoding device can dynamically select and indicate PVQ parameters. Figure 10b shows a schematic diagram of the structure of a compressed bitstream carrying data indication information and PVQ parameter indication information in an embodiment of the present application. The compressed bitstream includes PVQ parameter indication information, data indication information, and PVQ compression information, where the PVQ compression information includes amplitude quantization bits and PVQ index bits for each sub-data block.

[0329] It should be noted that the PVQ parameter indication information can be sent together with the PVQ compression information, for example, the PVQ parameter indication information in each segment of data can be changed, or the PVQ parameter indication information can be sent separately, for example, the PVQ parameter indication information remains unchanged for a period of time. When one PVQ parameter mapping table is used, the required overhead is 2×ceil(log2(M)) bits, and when two PVQ parameter mapping tables are used, the required overhead is 1+2×ceil(log2(max(M1,M2))) bits.

[0330] In this embodiment, a mapping relationship can also be established between data characteristics and PVQ parameters to determine the indication method of dynamically selecting PVQ parameters. The data characteristics of the sub-data block can be obtained by the importance indication of the data to be compressed. The definition of importance is as follows:

[0331] The data to be compressed is a right singular matrix or a left singular matrix obtained by SVD. Figure 9a is a schematic diagram of an SVD singular value matrix for distinguishing importance provided by an embodiment of the present application. Figure 9b is a schematic diagram of an SVD singular value matrix for distinguishing importance provided by an embodiment of the present application. The singular values ​​corresponding to each row or column are different in size, and the different importance is indicated by the size of the singular value.

[0332] Another example is measuring the importance of each sub-data block by its contribution to downstream tasks, such as its impact on the accuracy of tasks like environment reconstruction, object detection, and positioning. For example, if the downstream task is deployed in a decoding device, the decoding device will recover the compressed data and use it as the output of the downstream task for subsequent operations. The PVQ parameter is determined by the importance of the compressed data in the downstream task.

[0333] After determining the data characteristics represented by different importance, the mapping relationship between data characteristics and PVQ parameters is further defined as follows:

[0334] In a possible implementation, the BS and the UE may agree or configure a PVQ parameter mapping table in advance. For example, the BS sends the PVQ parameter mapping table to the UE via RRC, as shown in Table 4 below:

[0335] Table 4 is a PVQ parameter mapping table supporting M importance levels

[0336] The coding device supports a maximum of M importance levels, and the PVQ parameter mapping table satisfies L1>L2>…>L M and K1>K2>…>K M , represents different compression levels. From 1 to M, the compression rate increases and the accuracy of the decompressed data decreases. Assuming that m sets of PVQ parameters (m≤M) are selected for encoding, when m is given, the candidate parameter index combinations that can be obtained are shown in Table 5.

[0337] Table 5 is the mapping table of candidate parameter index combinations when the number of PVQ parameters m is specified

[0338] As can be seen from Table 5, in some cases, multiple index combinations are available. For example, when m = 2, there are M–1 combinations, and PVQ parameters with indices 2 and 3 can be selected, corresponding to the second and third groups of PVQ parameters in Table 4. It can be understood that the above {1,2} or {2,3} or ... {M–1,M} are only examples of two-by-two combinations of 1, 2, ..., M. For example, {1,3} or {2,4} can also constitute a feasible parameter index combination. In this case, the newly added PVQ parameter indication information includes: the number of parameters m, which requires floor(log2(M)) bits to represent, where floor(·) indicates floor rounding, and the selected parameter index combination number, which requires floor(log2(M)) bits to represent, to support the M cases when m = 1.

[0339] In another possible implementation, multiple PVQ parameter mapping tables may be predefined to support different M values. The following example provides two mapping tables, as shown in Table 6 below:

[0340] Table 6a is an example of a plurality of PVQ parameter mapping tables

[0341] Table 6b is another example table of multiple PVQ parameter mapping tables

[0342] The above two mapping tables satisfy and In this case, the newly added PVQ parameter indication information includes: the mapping table number, the number of parameters m, and the selected parameter index combination number. For example, corresponding to the mapping table number, two mapping tables require 1 bit, the number of parameters m requires floor(log2(max(M1,M2))) bits to represent, and the selected parameter index combination number requires floor(log2(max(M1,M2)) bits to represent, to support M cases when m=1).

[0343] The above embodiment illustrates the implementation process of PVQ parameters. Next, other vector quantization (such as VQ) is illustrated. Offline, the VQ codebook VQ(N,Q) with a given codeword length N and bit length Q is obtained through K-means, LBG (Linde-Buzo-Gray) and other algorithms. Each codebook contains 2 Q codewords, each codeword is an N-dimensional vector. The storage format is shown in Table 7 below:

[0344] Table 7 VQ parameter mapping table supporting M importance levels

[0345] The decompression process performed by the decoding device is the inverse process of the compression process shown in FIG8 .

[0346] The decoding device performs PVQ decompression on the second decoded data in the compressed code stream to obtain the first decoded data, and fills the first decoded data into corresponding positions according to the data indication information to obtain reconstructed data. For example, the decoding device reconstructs the amplitude of the second decoded data to obtain a reconstructed amplitude, obtains a reconstructed vector direction according to the PVQ index information, and obtains a reconstructed sub-data block according to the reconstructed amplitude and the reconstructed vector direction.

[0347] Next, the low-complexity decoding process of PVQ(N,K) is illustrated with an example.

[0348] 1) Convert the received Qbit binary code stream into PVQ index I and obtain its corresponding codeword x':

[0349] a. Input: PVQ index I, i = 1, k = K, n = N, I' = 0, x' = 0;

[0350] b. If I = I', x' i =0, go to step f.

[0351] c. If I <I’+No(n–1,k),x’ i =0, go to step e; otherwise calculate x' i =x' i +No(n–1,k), set j=1;

[0352] d. If I <I’+2*No(n–1,k),

[0353] I'≤I <I’+No(n–1,k):x’ i =j;

[0354] I≥I'+No(n–1,k):x' i =–j;

[0355] Otherwise, I'=I'+2*No(n–1,k–1), j=j+1, and repeat step d;

[0356] ek=k–|x' i |,n=n–1,i=i+1,if k>0, go to step b, if k=0, output x';

[0357] f. If k>0, x' N =k–|x' i |, output x'.

[0358] 2) Normalize x’ to obtain x’ / ||x’||2, which is the decoding result.

[0359] As shown in FIG. 11, it is a schematic flowchart of determining PVQ parameters according to bandwidth constraint conditions provided by an embodiment of the present application. An example is given for the process of dynamically determining PVQ parameters. In this embodiment, when given bandwidth resource constraint conditions and the highest transmission ratio R of sub-data blocks, a specific method for determining PVQ parameters by combining a PVQ parameter mapping table is given. The inputs are the maximum number of bits B that can be transmitted, the highest transmission ratio R, and the number m of PVQ parameters. Among them, B can be given by resource allocation, R can be configured by the BS, or preset default values or alternatives through protocols.

[0360] First, distinguish m different importance levels for sub-data blocks by rows or columns, and obtain optional PVQ parameter index combinations by referring to the foregoing embodiments. For example, when m = 2, there are M - 1 alternative parameter index combinations. Try the alternative combinations in sequence from front to back (corresponding to the compression ratio from low to high), and determine whether the requirements of bandwidth and transmission ratio are met. If the requirements are met, output the current PVQ parameter combination, and at this time, the corresponding actual transmission ratio R’ = R. If after traversing all PVQ parameter combinations, a set of parameters that meet the bandwidth constraint cannot be found, select the parameter combination with the highest compression ratio (i.e., the lowest bit rate), and calculate the actual transmission ratio R’ (R’ < R) as follows:

[0361] When m = 1, taking the configuration information in Table 4 above as an example, select the parameter combination with the lowest bit rate, and the bit length is (L M ,Q M ), then there is Among them, N blk and b PVQ respectively represent the overhead of bitmap and the overhead of PVQ parameter indication.

[0362] When m > 1, first sort the amplitudes of each sub-data block, and then send different transmission ratios R’ ≤ R from large to small in terms of quantity, so as to meet the following requirements:

[0363] a) Still taking the configuration information in Table 4 as an example, select the parameter combination with the highest compression ratio (the lowest bit rate), and the bit lengths are (L M-m+1 ,Q M-m+1 ),…,(L M ,Q M ), a total of m groups of PVQ parameters;

[0364] b) Calculate the total PVQ compression information length B tot for the sub-data blocks selected according to the bitmap, then the following relationship is satisfied: B tot +N blk +b PVQ ≤B.

[0365] As shown in FIG12, a schematic diagram of a process for filtering out first data from data to be compressed according to an embodiment of the present application is provided. In the case of m=2, B is calculated. tot , B tot =6×(L M-1 +Q M-1 )+4×(L M +Q M ).

[0366] Next, the signaling interaction process between the encoding device and the decoding device is explained. The aforementioned data indication information and PVQ parameter indication information can be configured through RRC, MAC, PDCCH and other signaling, mainly including data partition configuration (i.e., sub-data block size or number of blocks), PVQ parameter mapping table, transmission ratio R, resource allocation information, etc.

[0367] As shown in Figure 13a, an interactive process diagram of an uplink scenario using fixed PVQ parameter compression provided by an embodiment of the present application is provided. The BS completes the indication of data division, PVQ parameters, and resource allocation; the UE determines the sending ratio R of the sub-data block based on this information, and performs amplitude and vector direction encoding operations, and finally sends the encoded data indication information and PVQ compression information; the BS decodes the received PVQ compression information to obtain several sub-data blocks, and fills the recovered sub-data blocks into the corresponding positions according to the data indication information to complete the reconstruction of the original data.

[0368] As shown in Figure 13b, an interactive flow diagram of an uplink scenario using dynamically determined PVQ parameter compression provided by an embodiment of the present application is shown. The UE and the BS synchronize data partition configuration and PVQ parameter mapping table in advance, and the BS completes resource allocation.

[0369] Optionally, the BS can also indicate the maximum sending ratio R. The UE dynamically determines the actual sending ratio R' and PVQ parameters based on the currently configured parameters and the data to be sent, and performs amplitude and vector direction encoding operations, and finally sends the dynamically determined PVQ parameters. The PVQ parameters can be sent together with the data or separately. In addition, the encoded data indication information and PVQ compression information can also be sent; the BS decodes the received PVQ compression information according to the currently obtained PVQ parameters to obtain several sub-data blocks, and fills the recovered sub-data blocks into the corresponding positions according to the data indication information to complete the reconstruction of the original data.

[0370] As shown in Figure 13c, an interactive process diagram of a downlink scenario using dynamically determined PVQ parameter compression provided by an embodiment of the present application is provided. The UE and the BS synchronize data partition configuration and PVQ parameter mapping table in advance, and the BS completes resource allocation.

[0371] Optionally, a maximum sending ratio R can also be preset; the BS dynamically determines the actual sending ratio R' and PVQ parameters based on the currently configured parameters and the data to be sent, and performs amplitude and vector direction encoding operations, and finally sends the dynamically determined PVQ parameters and the encoded data indication information and PVQ compression information; the UE decodes the received PVQ compression information based on the currently obtained PVQ parameters to obtain several sub-data blocks, and fills the recovered sub-data blocks into the corresponding positions according to the data indication information to complete the reconstruction of the original data.

[0372] As can be seen from the preceding examples, the embodiments of this application utilize low-complexity PVQ compression and decompression methods, and establish a universal data compression framework. PVQ codewords possess advantageous structural characteristics, enabling low-complexity encoding and decoding. They also require no dictionary training or explicit dictionary storage, resulting in low communication and storage overhead. In these embodiments, PVQ parameters and signaling configuration can be dynamically selected, allowing for dynamic adjustment based on data characteristics and bandwidth limitations, enabling fixed-length compression at a specified bit rate, offering high flexibility.

[0373] For the sake of simplicity, the aforementioned method embodiments are all expressed as a series of action combinations. However, those skilled in the art know that the present application is not limited to the order of the actions described, because according to the present application, certain steps can be performed in other orders or simultaneously.

[0374] To facilitate the implementation of the above-mentioned solutions of the embodiments of the present application, relevant devices for implementing the above-mentioned solutions are also provided below.

[0375] Referring to FIG. 14 , an encoding device 1400 provided in an embodiment of the present application may include: a sending module 1401 , a receiving module 1402 , and a processing module 1403 , wherein:

[0376] a processing module, configured to encode the first data to obtain second data, wherein the second data includes: data indication information, amplitude compression information, and vector direction compression information;

[0377] The data indication information is used to indicate an identifier of the first data in the data to be compressed, the first data is screened from the data to be compressed, the amplitude compression information is obtained by performing amplitude quantization processing on the first data, and the vector direction compression information is obtained by performing vector direction quantization processing on the first data;

[0378] The processing module is used to generate a coded code stream according to the second data, and the coded code stream is used to be sent to the decoding end.

[0379] In some embodiments of the present application, the sending module is used to send the encoded code stream under the control of the processing module.

[0380] In some embodiments of the present application, the receiving module is used to obtain the first data under the control of the processing module.

[0381] In some embodiments of the present application, the processing module is further configured to filter the data to be compressed based on the amplitude of the data to be compressed to obtain the first data and the data indication information.

[0382] In some embodiments of the present application, the processing module is further used to perform scalar quantization processing on the amplitude included in the first data to obtain the amplitude compression information; perform vector quantization processing on the vector direction included in the first data to obtain the vector direction compression information, wherein the vector direction compression information corresponds to the amplitude compression information; and generate the second data according to the amplitude compression information, the vector direction compression information and the data indication information.

[0383] In some embodiments of the present application, the processing module is further configured to obtain an amplitude quantization length L; and perform scalar quantization processing on the amplitude included in the first data according to the amplitude quantization length L.

[0384] In some embodiments of the present application, the processing module is further configured to obtain a target vector quantization parameter; and perform vector quantization processing on the vector direction included in the first data according to the target vector quantization parameter.

[0385] In some embodiments of the present application, the processing module is further configured to receive vector quantization parameter configuration information through the receiving module; and determine the target vector quantization parameter according to the vector quantization parameter configuration information.

[0386] In some embodiments of the present application, the processing module is further used to obtain first indication information of the data to be compressed; and determine a target vector quantization parameter corresponding to the first indication information according to a mapping relationship between the indication information and the vector quantization parameter.

[0387] In some embodiments of the present application, the processing module is further used to determine the m indication parameters included in the first indication information, where m is a positive integer; determine the m groups of alternative vector quantization parameters corresponding to the m indication parameters according to the mapping relationship; and determine the target vector quantization parameter from the m groups of alternative vector quantization parameters.

[0388] In some embodiments of the present application, the processing module is further used to determine a maximum number of transmission bits B based on a bandwidth resource constraint, where B is a positive integer; and determine the target vector quantization parameter from the m groups of alternative vector quantization parameters based on the maximum number of transmission bits B and a preset proportional coefficient R, where the preset proportional coefficient R indicates the maximum transmission ratio of the data to be compressed.

[0389] In some embodiments of the present application, the processing module is further used to determine a first parameter index corresponding to the target vector quantization parameter according to a preset vector quantization parameter index mapping relationship; and send the first parameter index to the decoding end through the sending module.

[0390] In some embodiments of the present application, the target vector quantization parameter includes: a vector quantization codebook; a processing module, further used to obtain a length N of a vector quantization code block according to the vector quantization codebook, where N is a positive integer; and perform vector quantization processing on the vector direction included in the first data according to the length N of the vector quantization code block and the vector quantization codebook.

[0391] In some embodiments of the present application, the target vector quantization parameter includes: code block length N and code block precision K; the processing module is also used to perform vector quantization processing on the vector direction included in the first data according to the code block length N and the code block precision K.

[0392] In some embodiments of the present application, the vector direction compression information includes: one or more vector quantization indication information, and the vector quantization indication information corresponds to a vector quantization element.

[0393] In some embodiments of the present application, the data indication information includes: bit map indication information, or index set indication information, wherein the bit map indication information includes: whether each sub-data block in the data to be compressed is selected as the bit value of the first data, and the index set indication information includes: the index value of the first data in the data to be compressed.

[0394] In some embodiments of the present application, the processing module is further used to determine a maximum number of transmission bits B based on a bandwidth resource constraint, where B is a positive integer; determine an actual proportional coefficient R' based on the maximum number of transmission bits B and a preset proportional coefficient R, where the preset proportional coefficient R indicates the maximum sending ratio of the data to be compressed; and determine the first data from the data to be compressed based on the actual proportional coefficient R'.

[0395] In some embodiments of the present application, the first data includes: M sub-data blocks, each sub-data block includes: an amplitude and a vector direction corresponding to the amplitude, and M is a positive integer.

[0396] In some embodiments of the present application, the processing module is further used to perform data partitioning on the source data to obtain the data to be compressed and configuration information, wherein the configuration information is used to indicate the size of the data to be compressed, and the data to be compressed includes amplitude and vector direction.

[0397] Referring to FIG. 15 , a decoding device 1500 provided in an embodiment of the present application may include: a receiving module 1501 , a processing module 1502 , and a sending module 1503 , wherein:

[0398] A processing module is used to obtain the encoded code stream from the encoding end;

[0399] a processing module, configured to decompress second decoded data in the encoded code stream to obtain first decoded data, the second decoded data including: data indication information, amplitude compression information, and vector direction compression information, the data indication information being used to indicate an identifier for filtering out the first data from the data to be compressed, the amplitude compression information being obtained by performing amplitude quantization processing on the first data, and the vector direction compression information being obtained by performing vector direction quantization processing on the first data;

[0400] A processing module is used to reconstruct the first decoded data according to the data indication information to obtain reconstructed data.

[0401] In some embodiments of the present application, the receiving module is used to obtain the encoded code stream under the control of the processing module.

[0402] In some embodiments of the present application, the sending module is used to send the reconstructed data under the control of the processing module.

[0403] In some embodiments of the present application, the processing module is further used to perform scalar dequantization processing on the amplitude compression information to obtain the amplitude of the first decoded data; perform vector dequantization processing on the vector direction compression information to obtain the vector direction of the first decoded data; and generate the first decoded data based on the amplitude and the vector direction.

[0404] In some embodiments of the present application, the processing module is further configured to obtain an amplitude quantization length L; and perform scalar dequantization processing on the amplitude compression information according to the amplitude quantization length L to obtain the amplitude.

[0405] In some embodiments of the present application, the processing module is further configured to obtain a target vector quantization parameter; and perform vector inverse quantization processing on the vector direction compression information according to the target vector quantization parameter to obtain the vector direction.

[0406] In some embodiments of the present application, the processing module is further configured to receive vector quantization parameter configuration information through the receiving module; and determine the target vector quantization parameter according to the vector quantization parameter configuration information.

[0407] In some embodiments of the present application, the processing module is further used to obtain first indication information of the data to be compressed; and determine a target vector quantization parameter corresponding to the first indication information according to a mapping relationship between the indication information and the vector quantization parameter.

[0408] In some embodiments of the present application, the processing module is further used to determine the m indication parameters included in the first indication information, where m is a positive integer; determine the m groups of alternative vector quantization parameters corresponding to the m indication parameters according to the mapping relationship; and determine the target vector quantization parameter from the m groups of alternative vector quantization parameters.

[0409] In some embodiments of the present application, the processing module is further used to receive a first parameter index from the encoding end; and determine a target vector quantization parameter corresponding to the first parameter index from the m groups of candidate vector quantization parameters according to a preset vector quantization parameter index mapping relationship.

[0410] In some embodiments of the present application, the target vector quantization parameter includes: a vector quantization codebook; a processing module, further used to obtain the length N of the vector quantization code block according to the vector quantization codebook, where N is a positive integer; and perform vector inverse quantization processing on the vector direction compression information according to the length N of the vector quantization code block and the vector quantization codebook.

[0411] In some embodiments of the present application, the target vector quantization parameter includes: code block length N and code block precision K; the processing module is also used to perform vector inverse quantization processing on the vector direction compression information according to the code block length N and the code block precision K.

[0412] In some embodiments of the present application, the vector direction compression information includes: one or more vector quantization indication information, and the vector quantization indication information corresponds to a vector quantization element.

[0413] In some embodiments of the present application, the data indication information includes: bit map indication information, or index set indication information, wherein the bit map indication information includes: whether each sub-data block in the data to be compressed is selected as the bit value of the first data, and the index set indication information includes: the index value of the first data in the data to be compressed.

[0414] The information interaction, execution process, etc. between the modules / units of the above-mentioned device are based on the same concept as the method embodiment of the present application, and the technical effects they bring are the same as those of the method embodiment of the present application. For specific contents, please refer to the description in the method embodiment shown above in the present application, and no further details will be given here.

[0415] An embodiment of the present application further provides a computer storage medium, wherein the computer storage medium stores a program, and the program execution includes some or all of the steps recorded in the above method embodiment.

[0416] Next, another communication device provided in an embodiment of the present application is introduced. The communication device is specifically an encoding device. As shown in FIG16 , the encoding device 1600 includes:

[0417] Receiver 1601, transmitter 1602, processor 1603, and memory 1604 (wherein the number of processors 1603 in the encoding device 1600 may be one or more, and FIG16 takes one processor as an example). In some embodiments of the present application, the receiver 1601, transmitter 1602, processor 1603, and memory 1604 may be connected via a bus or other means, wherein FIG16 takes connection via a bus as an example.

[0418] Memory 1604 may include read-only memory and random access memory, and provides instructions and data to processor 1603. Memory 1604 may also include non-volatile random access memory (NVRAM). Memory 1604 may store an operating system, protocol stack, instructions, executable modules, or data structures, where the instructions may be used to implement various operations. The operating system may include various system programs for implementing various basic services and processing hardware-based tasks.

[0419] The processor 1603 may be used to control the operation of the encoding device. The processor 1603 may also be referred to as a central processing unit (CPU).

[0420] In a specific application, the various components of the encoding device are coupled together via a bus system. In addition to a data bus, the bus system may also include a power bus, a control bus, and a status signal bus. However, for the sake of clarity, the various buses are collectively referred to as a bus system in the figure.

[0421] The methods disclosed in the above embodiments of the present application can be applied to the processor 1603 or implemented by the processor 1603. The processor 1603 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by the hardware integrated logic circuit in the processor 1603 or by instructions in the form of software. The above processor 1603 may include: a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The processor 1603 can be used to implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. Specifically, the general-purpose processor can be a microprocessor or a processor or any conventional processor. The steps of the methods disclosed in conjunction with the embodiments of the present application can be directly embodied as being executed by a hardware processor, or can be executed by a combination of hardware and software modules in the processor. The software module may be located in a storage medium known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage medium is located in memory 1604, and processor 1603 reads information from memory 1604 and, in conjunction with its hardware, completes the steps of the above method.

[0422] Optionally, the memory 1604 is integrated into the processor 1603 or is independent of the processor 1603 .

[0423] The receiver 1601 may be used to receive input digital information or character information and generate signal input related to the relevant settings and function control of the encoding device. Similarly, the transmitter 1602 may be used to output digital or character information.

[0424] In the embodiment of the present application, the processor 1603 is configured to execute the aforementioned data compression method at the encoding end.

[0425] Next, another communication device provided in an embodiment of the present application is introduced. The communication device is specifically a decoding device. As shown in FIG17 , the decoding device 1700 includes:

[0426] Receiver 1701, transmitter 1702, processor 1703, and memory 1704 (wherein the number of processors 1703 in the decoding device 1700 may be one or more, and FIG17 uses one processor as an example). In some embodiments of the present application, the receiver 1701, transmitter 1702, processor 1703, and memory 1704 may be connected via a bus or other means, wherein FIG17 uses a bus connection as an example.

[0427] Memory 1704 may include read-only memory and random access memory, and provides instructions and data to processor 1703. Memory 1704 may also include NVRAM. Memory 1704 may store an operating system, protocol stack, instructions, executable modules, or data structures, or subsets or extended sets thereof. The operating instructions may include various operating instructions for implementing various operations. The operating system may include various system programs for implementing various basic services and processing hardware-based tasks.

[0428] Processor 1703 can be used to control the operation of the decoding device and can also be referred to as a CPU. In specific applications, the various components of the decoding device are coupled together via a bus system. In addition to a data bus, the bus system may also include a power bus, a control bus, and a status signal bus. However, for clarity, all of these buses are referred to as a bus system in the figure.

[0429] The methods disclosed in the above embodiments of the present application can be applied to or implemented by processor 1703. Processor 1703 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be performed by hardware integrated logic circuits in processor 1703 or by software instructions. The above processor 1703 can include: a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, discrete gate or transistor logic devices, or discrete hardware components. Processor 1703 can be used to implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of this application. Specifically, the general-purpose processor can be a microprocessor, a processor, or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software modules can be located in storage media well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory 1704 , and the processor 1703 reads the information in the memory 1704 and completes the steps of the above method in combination with its hardware.

[0430] Optionally, the memory 1704 is integrated into the processor 1703 or is independent of the processor 1703 .

[0431] The receiver 1701 can be used to receive signal input related to the settings and function control of the encoding device. Similarly, the transmitter 17 is used to output digital or character information.

[0432] In the embodiment of the present application, the processor 1703 is configured to execute the aforementioned data decompression method at the decoding end.

[0433] In another possible design, when the encoding device or decoding device is a chip, the chip includes: a processing unit and a communication unit, wherein the processing unit may be, for example, a processor, and the communication unit may be, for example, an input / output interface, a pin, or a circuit. The processing unit may execute computer-executable instructions stored in the storage unit so that the chip executes the method of any one of the first or second aspects above. Optionally, the storage unit is a storage unit within the chip, such as a register, a cache, etc. The storage unit may also be a storage unit within the terminal that is located outside the chip, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM), etc.

[0434] The processor mentioned in any of the above places can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the program of the first aspect method or the second aspect method.

[0435] It should also be noted that the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed across multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment. In addition, in the drawings of the device embodiments provided in this application, the connection relationship between the modules indicates that there is a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines.

[0436] Through the description of the above embodiments, it is clear to those skilled in the art that the present application can be implemented by means of software plus necessary general-purpose hardware, and of course it can also be implemented by means of dedicated hardware including application-specific integrated circuits, dedicated CPUs, dedicated memories, dedicated components, etc. In general, all functions performed by computer programs can be easily implemented with corresponding hardware, and the specific hardware structures used to implement the same function can also be various, such as analog circuits, digital circuits, or dedicated circuits, etc. However, for the present application, software program implementation is a better implementation method in most cases. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product is stored in a readable storage medium, such as a computer's floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0437] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.

[0438] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, a computer, a server, or a data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode to another website, a computer, a server, or a data center. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a server or a data center that includes one or more available media integrations. The available medium can be a magnetic medium, (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid-state drive (SSD)).

Claims

1. A data compression method, characterized in that, The method is applied to an encoding end, and includes: Encoding the first data to obtain second data, wherein the second data includes: data indication information, amplitude compression information and vector direction compression information, The data indication information is used to indicate an identifier of the first data in the data to be compressed, the first data is screened from the data to be compressed, the amplitude compression information is obtained by performing amplitude quantization processing on the first data, and the vector direction compression information is obtained by performing vector direction quantization processing on the first data; An encoded code stream is generated according to the second data, and the encoded code stream is used to be sent to a decoding end.

2. The method according to claim 1, characterized in that The method further comprises: The data to be compressed is screened based on the amplitude of the data to be compressed to obtain the first data and the data indication information.

3. The method according to any one of claims 1 to 2, characterized in that, The encoding of the first data to obtain the second data includes: performing scalar quantization processing on the amplitude included in the first data to obtain the amplitude compression information; performing vector quantization processing on the vector direction included in the first data to obtain the vector direction compression information, wherein the vector direction compression information corresponds to the amplitude compression information; The second data is generated according to the amplitude compression information, the vector direction compression information and the data indication information.

4. The method according to claim 3, characterized in that, The performing scalar quantization processing on the amplitude included in the first data includes: Get the amplitude quantization length L; The amplitude of the first data is scalar quantized according to the amplitude quantization length L.

5. The method according to claim 3 or 4, characterized in that, The performing vector quantization processing on the vector direction included in the first data includes: Obtain target vector quantization parameters; Vector quantization processing is performed on the vector direction included in the first data according to the target vector quantization parameter.

6. The method according to claim 5, characterized in that, The obtaining of the target vector quantization parameter includes: Receiving vector quantization parameter configuration information; The target vector quantization parameter is determined according to the vector quantization parameter configuration information.

7. The method according to claim 5, characterized in that, The obtaining of the target vector quantization parameter includes: Obtaining first indication information of the data to be compressed; A target vector quantization parameter corresponding to the first indication information is determined according to a mapping relationship between the indication information and the vector quantization parameter.

8. The method according to claim 7, characterized in that, The determining, according to a mapping relationship between the indication information and the vector quantization parameter, a target vector quantization parameter corresponding to the first indication information includes: Determine m indication parameters included in the first indication information, where m is a positive integer; Determine, according to the mapping relationship, m groups of candidate vector quantization parameters corresponding to the m indication parameters; The target vector quantization parameter is determined from the m groups of candidate vector quantization parameters.

9. The method according to claim 8, characterized in that The determining the target vector quantization parameter from the m groups of candidate vector quantization parameters includes: Determine the maximum number of transmission bits B according to the bandwidth resource constraint condition, where B is a positive integer; The target vector quantization parameter is determined from the m groups of candidate vector quantization parameters according to the maximum number of transmission bits B and a preset scaling factor R, where the preset scaling factor R indicates a maximum transmission ratio of the data to be compressed.

10. The method according to any one of claims 5 to 9, characterized in that, The method further comprises: Determine a first parameter index corresponding to the target vector quantization parameter according to a preset vector quantization parameter index mapping relationship; Send the first parameter index to the decoding end.

11. The method according to any one of claims 5 to 10, characterized in that The target vector quantization parameter includes: a vector quantization codebook; The vector quantization processing of the vector direction included in the first data according to the target vector quantization parameter includes: Obtain the length N of a vector quantization code block according to the vector quantization codebook, where N is a positive integer; Perform vector quantization processing on the vector direction included in the first data according to the length N of the vector quantization code block and the vector quantization codebook.

12. The method according to any one of claims 5 to 10, characterized in that The target vector quantization parameter includes: a code block length N and a code block precision K; The vector quantization processing of the vector direction included in the first data according to the target vector quantization parameter includes: Perform vector quantization processing on the vector direction included in the first data according to the code block length N and the code block precision K.

13. The method according to any one of claims 1 to 12, characterized in that The vector direction compression information includes: one or more vector quantization indication information, and the vector quantization indication information corresponds to vector quantization elements.

14. The method according to any one of claims 1 to 13, characterized in that The data indication information includes: bitmap indication information, or index set indication information, wherein, the bitmap indication information includes: the bit value indicating whether each sub-data block in the data to be compressed is selected as the first data, the index set indication information includes: the index value of the first data in the data to be compressed.

15. The method according to any one of claims 1 to 14, characterized in that The method further includes: Determine a maximum transmission bit number B according to bandwidth resource constraint conditions, where B is a positive integer; Determine an actual proportionality coefficient R' according to the maximum transmission bit number B and a preset proportionality coefficient R, and the preset proportionality coefficient R indicates the maximum transmission ratio of the data to be compressed; Determine the first data from the data to be compressed according to the actual proportionality coefficient R'.

16. The method according to any one of claims 1 to 15, characterized in that The first data includes: M sub-data blocks, and the sub-data block includes: an amplitude and a vector direction corresponding to the amplitude, where M is a positive integer.

17. The method according to any one of claims 1 to 16, characterized in that The method further includes: Perform data partitioning on the source data to obtain the data to be compressed and configuration information, and the configuration information is used to indicate the size of the data to be compressed, and the data to be compressed includes an amplitude and a vector direction.

18. A data decompression method, characterized in that: The method is applied to a decoding end, and the method includes: Obtain an encoded code stream of an encoding end; Decompress second decoded data in the encoded code stream to obtain first decoded data, where the second decoded data includes: data indication information, amplitude compression information, and vector direction compression information, and the data indication information is used to indicate an identifier for screening out the first data from the data to be compressed, the amplitude compression information is obtained by performing amplitude quantization processing on the first data, and the vector direction compression information is obtained by performing vector direction quantization processing on the first data; Reconstruct the first decoded data according to the data indication information to obtain reconstructed data.

19. The method according to claim 18, characterized in that, The decompressing the second decoded data in the encoded code stream to obtain first data includes: Perform scalar inverse quantization processing on the amplitude compression information to obtain the amplitude of the first decoded data; performing vector inverse quantization processing on the vector direction compression information to obtain the vector direction of the first decoded data; The first decoded data is generated according to the magnitude and the vector direction.

20. The method according to claim 19, characterized in that The performing scalar dequantization processing on the amplitude compression information to obtain the amplitude of the first decoded data includes: Get the amplitude quantization length L; The amplitude compression information is subjected to scalar inverse quantization processing according to the amplitude quantization length L to obtain the amplitude.

21. The method according to claim 19 or 20, characterized in that, The performing vector inverse quantization processing on the vector direction compression information to obtain the vector direction of the first decoded data includes: Obtain target vector quantization parameters; Performing vector inverse quantization processing on the vector direction compression information according to the target vector quantization parameter to obtain the vector direction.

22. The method according to claim 21, wherein The obtaining of the target vector quantization parameter includes: Receiving vector quantization parameter configuration information; The target vector quantization parameter is determined according to the vector quantization parameter configuration information.

23. The method according to claim 21, wherein The obtaining of the target vector quantization parameter includes: Obtaining first indication information of the data to be compressed; A target vector quantization parameter corresponding to the first indication information is determined according to a mapping relationship between the indication information and the vector quantization parameter.

24. The method according to claim 23, characterized in that The determining, according to a mapping relationship between the indication information and the vector quantization parameter, a target vector quantization parameter corresponding to the first indication information includes: Determine m indication parameters included in the first indication information, where m is a positive integer; Determine, according to the mapping relationship, m groups of candidate vector quantization parameters corresponding to the m indication parameters; The target vector quantization parameter is determined from the m groups of candidate vector quantization parameters.

25. The method according to claim 24, characterized in that, The determining the target vector quantization parameter from the m groups of candidate vector quantization parameters includes: receiving a first parameter index from the encoding end; A target vector quantization parameter corresponding to the first parameter index is determined from the m groups of candidate vector quantization parameters according to a preset vector quantization parameter index mapping relationship.

26. The method according to any one of claims 21 to 25, characterized in that The target vector quantization parameter includes: a vector quantization codebook; The performing vector inverse quantization processing on the vector direction compression information according to the target vector quantization parameter includes: Obtaining a length N of a vector quantization code block according to the vector quantization code book, where N is a positive integer; Perform vector inverse quantization processing on the vector direction compression information according to the length N of the vector quantization code block and the vector quantization codebook.

27. The method according to any one of claims 21 to 26, characterized in that The target vector quantization parameters include: code block length N and code block precision K; The performing vector inverse quantization processing on the vector direction compression information according to the target vector quantization parameter includes: Perform vector inverse quantization processing on the vector direction compression information according to the code block length N and the code block precision K.

28. The method according to any one of claims 18 to 27, characterized in that The vector direction compression information includes: one or more vector quantization indication information, where the vector quantization indication information corresponds to a vector quantization element.

29. The method according to any one of claims 18 to 28, characterized in that The data indication information includes: bitmap indication information, or index set indication information, The bitmap indication information includes: whether each sub-data block in the data to be compressed is selected as the bit value of the first data, The index set indication information includes: the index value of the first data in the data to be compressed.

30. A communication device, characterized in that: The communication device includes: a processor and a memory; the processor and the memory communicate with each other; The memory is used to store instructions; The processor is configured to execute the instructions in the memory so that the method according to any one of claims 1 to 17 or 18 to 29 is implemented.

31. A computer-readable storage medium comprising instructions, which, when executed on a computer, causes the computer to perform the method according to any one of claims 1 to 17, or 18 to 29.

32. A computer program product comprising instructions which, when run on a computer, cause the computer to perform the method according to any one of claims 1 to 17, or 18 to 29.

Citation Information

Patent Citations

  • Data compression method based on vector quantization in D-RoF system

    CN109474349A

  • Channel compression matrix parameters

    CN111566946A

  • Precoder matrix quantization for compressed CSI feedback

    CN113330697A

  • Apparatus and method for data compression and decompression based on calculation of error vector magnitude

    US20190173490A1