Data compression method, data decompression method and related apparatuses

WO2025103289A1PCT designated stage expired Publication Date: 2025-05-22HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/131479
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-15
Filing Date
2024-11-12
Publication Date
2025-05-22

AI Technical Summary

Technical Problem

Existing matrix compression algorithms are difficult to process irregular data, resulting in the inability to effectively compress and decompress.

Method used

By obtaining the preprocessing rules for the original data, matrix filling, column translation or row value transformation are performed, irregular data are converted into matrix data suitable for the matrix compression algorithm, and corresponding inverse processing is performed during the decompression process.

Benefits of technology

The problem of matrix compression algorithm processing irregular data is solved, the efficiency of data compression and decompression is improved, and the accurate data restoration is ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024131479_22052025_PF_FP_ABST
    Figure CN2024131479_22052025_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides a data compression method and a compression apparatus. Before executing matrix compression processing, the compression apparatus can process original data into matrix data suitable for a matrix compression algorithm, so that the original data can be used as an input of the matrix compression algorithm, thereby avoiding the problem of impossible use of the matrix compression algorithm due to irregular original data, and facilitating improvement of the data compression efficiency. Additionally, the present application further provides a data decompression method and a decompression apparatus. The decompression apparatus can acquire the compression apparatus and first information, and recover compressed data into the original data on the basis of the first information. Even when the compression apparatus executes preprocessing on the original data, the decompression apparatus can quickly and efficiently recover the compressed data into the original data on the basis of the first information, thereby facilitating improvement of the data decompression efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Data compression method, data decompression method and related devices

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on November 15, 2023, with application number 202311524615.X and invention name “Data compression method, data decompression method and related devices”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The embodiments of the present application relate to the field of data compression, and in particular to a data compression method, a data decompression method, and related devices. Background Art

[0003] Data compression refers to a technical method that reorganizes data according to a specific algorithm to reduce data redundancy without losing useful information, thereby facilitating data transmission using fewer transmission resources. Generally, compression algorithms have certain requirements for the format of the data to be compressed. For example, a matrix compression algorithm requires that the data to be compressed be matrix data, i.e., arranged into a matrix with m rows and n columns, where m and n are both integers greater than or equal to 1.

[0004] However, the data in some scenarios is irregular and may not be suitable for matrix compression algorithms.

[0005] Summary of the Invention

[0006] The present application provides a data compression method and a compression device for solving the problem of irregular data when using a matrix compression algorithm. In addition, the present application also provides a data decompression method and a decompression device for restoring data compressed using a matrix compression algorithm to the original irregular data.

[0007] In a first aspect, the present application provides a data compression method, which can be performed by a compression device or by a component of the compression device (e.g., a processor, chip, or chip system). Taking the compression device as an example, the compression device obtains a preprocessing rule corresponding to original data, where the original data includes at least one column of data; then, the compression device preprocesses the original data based on the preprocessing rule to obtain data to be compressed, where the data to be compressed is matrix data; then, the compression device uses a matrix compression algorithm to perform compression processing on the data to be compressed, and outputs the compressed data, where the matrix compression algorithm is used to perform compression processing on the matrix data.

[0008] In this embodiment, the compression device can obtain preprocessing rules corresponding to the original data, and based on the preprocessing rules, the compression device processes the original data into matrix data, and then the compression device can perform compression processing on the matrix data using a matrix compression algorithm. Because the compression device can process the original data into matrix data suitable for the matrix compression algorithm before performing the matrix compression processing, the original data can be used as input for the matrix compression algorithm, avoiding the problem of being unable to use the matrix compression algorithm due to irregularities in the original data, which is conducive to improving data compression efficiency.

[0009] In a possible implementation manner, the original data is irregular data.

[0010] Optionally, the irregular data includes data with unequal column lengths and / or data with uneven row values.

[0011] Optionally, the irregular data includes data with unequal row lengths and / or data with uneven column values.

[0012] In this embodiment, since the compression device can process irregular original data into matrix data suitable for the matrix compression algorithm based on preprocessing rules, the problem of irregular data when using the matrix compression algorithm is solved, which is conducive to improving the efficiency of data compression.

[0013] In one possible implementation, the preprocessing rule includes at least one of the following preprocessing methods:

[0014] Matrix filling processing, the matrix filling processing is used to fill the data to be processed into matrix data; or,

[0015] Column translation processing, the column translation processing is used to translate at least one column of the data to be processed along the column direction; or,

[0016] Row value transformation processing is used to process the numerical value of at least one data element in at least one row of data in the data to be processed; wherein the data to be processed is the original data or the data obtained by at least one preprocessing of the original data.

[0017] In this embodiment, the matrix filling process can fill non-matrix data with matrix data, so that the data after the matrix filling process can be applied to the compression algorithm that requires the input to be matrix data, which is beneficial to improving the efficiency of subsequent data compression. The column translation process can translate at least one column of data along the column direction, so that the numerical difference of the data elements in the same row after the column translation process is reduced, which is beneficial to reducing the approximation error that may be introduced in the subsequent compression process. The row value transformation process can translate and / or scale the numerical value of at least one data element in at least one row of data according to the row value transformation parameter, so that the numerical value of each row is mapped to the same numerical range. It is beneficial to reduce the numerical difference of the data elements in the same row, and / or reduce the numerical difference of the data elements in different rows, thereby improving the performance of the subsequent compression process.

[0018] In a possible implementation, the preprocessing rule is related to feature information of the original data.

[0019] In this embodiment, since the compression device processes the original data into matrix data suitable for the matrix compression algorithm according to the preprocessing rules related to the characteristic information of the original data, it not only solves the problem of irregular data when using the matrix compression algorithm, but also facilitates on-demand personalized preprocessing based on the characteristics of the original data, thereby improving the efficiency of data compression.

[0020] In one possible implementation, the characteristic information includes at least one of the following:

[0021] Information indicating a difference in column lengths of at least two columns of data in the original data; or,

[0022] Information indicating the difference in the values ​​of data elements contained in the same row of data in the original data; or,

[0023] Information indicating the difference in values ​​between data elements contained in at least two rows of data in the original data.

[0024] Optionally, the characteristic information of the original data is used to indicate that the original data is irregular data, that is, data that is not suitable for direct use as input to the matrix compression algorithm. Optionally, the characteristic information of the original data is used to indicate that the original data is data with unequal column lengths and / or data with uneven row values. For example, information indicating the difference in column lengths of at least two columns of data in the original data is used to reflect that the original data has a problem of unequal column lengths. Information indicating the difference in numerical values ​​of data elements contained in the same row of data in the original data is used to reflect that the row values ​​of the same row in the original data are uneven. Information indicating the difference in numerical values ​​of data elements contained in at least two rows of data in the original data is used to reflect that the numerical values ​​of data elements in different rows of the original data are uneven.

[0025] In this embodiment, the characteristic information of the original data can reflect whether the original data has the problem of unequal column lengths and uneven row values, which is conducive to determining the preprocessing rules corresponding to the original data based on the characteristic information of the original data, that is, the preprocessing rules that can overcome the problem of unequal column lengths and / or uneven row values ​​of the original data.

[0026] In one possible embodiment, the preprocessing rule includes matrix filling processing. The compression device performs preprocessing on the original data based on the preprocessing rule, including: the compression device performs matrix filling processing on the data to be filled, outputting matrix data, at least two columns of the data to be filled have different column lengths, any two columns of the matrix data have equal column lengths, and the data to be filled is the original data or data obtained by performing at least one column shift on the original data.

[0027] For example, if the compression device determines that the characteristic information of the original data contains information indicating the difference in column lengths of at least two columns of data, that is, the original data has a problem of unequal column lengths, the compression device determines that the preprocessing rule includes at least matrix filling processing.

[0028] In this embodiment, the matrix filling process can fill non-matrix data into matrix data, so that the data after the matrix filling process can be applicable to the compression algorithm requiring the input to be matrix data, which is beneficial to improving the efficiency of subsequent data compression.

[0029] In one possible implementation, the preprocessing rule includes column shifting. Before the compression device performs matrix filling processing on the data to be filled and outputs the matrix data, the method further includes: the compression device performs column shifting processing on the original data and outputs the data to be filled.

[0030] For example, if the compression device determines that the characteristic information of the original data includes information indicating the numerical differences of data elements contained in the same row of data, that is, the numerical values ​​of data elements in the same row of the original data are uneven, the compression device determines that the preprocessing rule at least includes column translation processing.

[0031] In this embodiment, the column shift processing can shift at least one column of data along the column direction, so that the numerical difference of data elements in the same row is reduced after the column shift processing, which is beneficial to reducing the approximation error that may be introduced in the subsequent compression process.

[0032] In one possible implementation, the preprocessing rule includes a row value transformation process. After the compression device performs the matrix filling process, or the compression device performs the matrix filling process on the original data, the method further includes: the compression device performs the row value transformation process on the matrix data, and outputs the data to be compressed, where the matrix data is the original data or data obtained by performing the matrix filling process on the original data.

[0033] For example, if the compression device determines that the characteristic information of the original data includes information indicating the numerical difference between data elements contained in at least two rows of data, that is, the numerical values ​​of data elements in different rows of the original data are uneven, then the compression device determines that the preprocessing rules include at least row value transformation processing.

[0034] In this embodiment, the row value transformation process can shift and / or scale the value of at least one data element in at least one row of data according to the row value transformation parameter, so that the values ​​of each row are mapped to the same value range. This is beneficial for reducing the difference in values ​​between data elements in the same row and / or reducing the difference in values ​​between data elements in different rows, thereby improving the performance of subsequent compression processing.

[0035] In one possible implementation, the compression device may have multiple ways of obtaining the preprocessing rules corresponding to the original data:

[0036] In one example, the compression device determines a preprocessing rule corresponding to the raw data based on characteristic information of the raw data. In this example, the compression device can determine the preprocessing rule corresponding to the raw data based on the characteristic information of the raw data, enabling on-demand determination of the preprocessing rule based on the characteristic information of the raw data, improving the degree of matching of the preprocessing rule with the raw data, thereby improving the efficiency of preprocessing and, in turn, the efficiency of subsequent compression processing.

[0037] In another example, the compression device receives configuration information including preprocessing rules. The configuration information can be manually configured or sent by another device. In this example, the compression device can receive configuration information including preprocessing rules, which facilitates the compression device to quickly obtain the preprocessing rules corresponding to the raw data, thereby reducing the compression device's processing overhead.

[0038] In another example, the preprocessing rules are predefined by the protocol. For another example, the compression protocol rules supported by the compression device determine which one or several preprocessings need to be performed on irregular data, and the compression device compresses the data after the preprocessing. For another example, the transmission protocol supported by the communication device (i.e., the communication device integrated with the compression device) stipulates that after obtaining the original data, which one or several preprocessings need to be performed on the original data first, and then compression processing is performed on the data after the preprocessing, and the compressed data is transmitted. In this embodiment, the compression device may not need to determine the preprocessing rules based on the configuration information or the characteristic information of the original data.

[0039] In a possible implementation, after the compression device outputs the compressed data, the method further includes:

[0040] The compression device sends compressed data and first information to the decompression device. The first information is used by the decompression device to determine the data to be compressed and the original data based on the compressed data. The first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in the preprocessing process.

[0041] For example, the first information is used by the decompression device to first determine the data to be compressed based on the compressed data and the first information, and then determine the original data based on the data to be compressed and the first information.

[0042] In this embodiment, in addition to sending the compressed data to the decompression device, the compression device also sends first information to the decompression device, so that the decompression device can restore the compressed data to the original data based on the first information. This helps the decompression device accurately restore the compressed data to the original data, thereby improving the processing efficiency of the decompression device.

[0043] In one possible implementation, the preprocessing parameters include at least one of the following:

[0044] The length of each column in the original data; or,

[0045] The number of columns is used to indicate the number of column data contained in the original data; or,

[0046] Column shift parameter, which is used to indicate the column shift amount of each column of data in the column shift process; or,

[0047] The column length of the matrix data; or,

[0048] The row value transformation parameter is used to indicate the translation and / or scaling of the value of each row of data relative to the value before the row value transformation during the row value transformation process.

[0049] In this embodiment, the compression device includes preprocessing parameters in the first information it transmits. These preprocessing parameters reflect the preprocessing performed on the original data by the compression device and the parameters used during the preprocessing. This facilitates the decompression device to perform the inverse of the preprocessing based on the preprocessing parameters, thereby improving the efficiency of the decompression device in processing data.

[0050] In a second aspect, the present application provides a data decompression method, which can be performed by a decompression device or by a component of the decompression device (e.g., a processor, a chip, or a chip system). Taking the decompression device as an example, the decompression device obtains compressed data and first information, where the compressed data is data obtained by performing compression processing on the compressed data using a matrix compression algorithm, and the data to be compressed is data obtained by performing preprocessing on the original data; then, the decompression device performs decompression processing on the compressed data based on the first information to obtain the data to be compressed, which is matrix data; then, the decompression device performs inverse processing corresponding to the preprocessing on the compressed data based on the first information, and outputs the original data, where the original data includes at least one column of data.

[0051] In this application, a decompression device obtains compressed data and first information. This first information is used by the decompression device to determine, based on the compressed data, the data to be compressed before compression and the original data before preprocessing, so that the decompression device can restore the compressed data to the original data based on the first information. Even if the compression device has preprocessed the original data, the decompression device can quickly and efficiently restore the compressed data to the original data based on the first information. This helps improve the efficiency of data decompression.

[0052] In one possible implementation, the first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in a preprocessing process. The compression parameters are used by the decompression device to determine the data to be compressed based on the compressed data and the compression parameters, and the preprocessing parameters are used by the decompression device to determine the original data based on the data to be compressed and the preprocessing parameters.

[0053] In one possible implementation, the preprocessing parameters include at least one of the following:

[0054] The length of each column in the original data; or,

[0055] The number of columns is used to indicate the number of column data contained in the original data; or,

[0056] Column shift parameter, which is used to indicate the column shift amount of each column of data in the column shift process; or,

[0057] The column length of the matrix data; or,

[0058] The row value transformation parameter is used to indicate the translation and / or scaling of the value of each row of data relative to the value before the row value transformation during the row value transformation process.

[0059] In one possible embodiment, the preprocessing parameters include row value transformation parameters; the preprocessing includes row value transformation processing, which is used to process the numerical value of at least one data element in at least one row of data. The decompression device performs an inverse process corresponding to the preprocessing on the data to be compressed based on the first information, including: the decompression device performs an inverse process of the row value transformation processing on the data to be compressed based on the row value transformation parameters, and outputs matrix data before the row value transformation processing, where the matrix data before the row value transformation processing is the original data or data obtained by performing a matrix filling process on the original data.

[0060] In this embodiment, if the preprocessing parameters include row value transformation parameters, the preprocessing includes row value transformation processing, and the row value transformation processing is used to translate and / or scale the numerical value of each data element in at least one row of data according to the row value transformation parameters. Specifically, the decompression device performs the inverse processing of the row value transformation processing on the data to be compressed based on the row value transformation parameters, and outputs the matrix data before the row value transformation. The matrix data is the original data or the data obtained by the original data after the matrix filling processing. Since the decompression device can perform the inverse processing of the row value transformation processing on the matrix data obtained by the decompression processing based on the row value transformation parameters, it is beneficial to restore the numerical differences of data elements in the same row and / or the numerical differences of data elements in different rows.

[0061] In one possible implementation, the preprocessing parameters include the column length of each column of data in the original data and the column length of the matrix data; the preprocessing includes matrix filling processing, which is used to fill the data into matrix data. The method further includes:

[0062] The decompression device performs an inverse process of the matrix filling process on the matrix data based on the column length of each column of data in the original data and the column length of the matrix data, and outputs the data to be filled; wherein the matrix data is the data obtained by the original data after the matrix filling process, and the data to be filled is the original data or the data obtained by the original data after at least one column translation process.

[0063] In this embodiment, if the preprocessing parameters include the column length of each column of data in the original data and the column length of the matrix data, the preprocessing includes a matrix filling process, and the matrix filling process is used to fill the data into matrix data. Specifically, the decompression device performs the inverse of the matrix filling process on the matrix data based on the column length of each column of data in the original data and the column length of the matrix data, and outputs the data to be filled. The matrix data is the data obtained by performing the matrix filling process on the original data, and the data to be filled is the original data or the data obtained by performing at least one column shift process on the original data. Since the decompression device can perform the inverse of the matrix filling process on the matrix data based on the column length of each column of data and the column length of the matrix data, it is beneficial to eliminate the padding values ​​added to construct the matrix data, thereby preventing the padding values ​​from affecting the original data.

[0064] In one possible embodiment, the data to be padded is data obtained by subjecting the original data to at least one column shift process; the preprocessing parameters include a column shift parameter and the column length of each column of data in the original data; the preprocessing is a column shift process, which is used to shift at least one column of data along the column direction. The method further includes: the decompression device performing an inverse process of the column shift process on the data to be padded based on the column shift parameter and the column length of each column of data in the original data, and outputting the original data.

[0065] In this embodiment, if the preprocessing parameters include a column shift parameter and the column length of each column of data in the original data, the preprocessing is a column shift process, and the column shift process is used to shift at least one column of data along the column direction. Specifically, the decompression device performs the inverse process of the column shift process on the data to be filled based on the column shift parameter and the column length of each column of data in the original data, and outputs the original data. The data to be filled is the data obtained by the original data after at least one column shift process. Since the decompression device can perform the inverse process of the column shift process on the data to be filled based on the column shift parameter and the column length of each column of data in the original data, it is beneficial to restore the row and column arrangement characteristics of the original data and improve the accuracy of data restoration.

[0066] In a possible implementation, the data to be compressed is data obtained by preprocessing original data based on a preprocessing rule, and the preprocessing rule is related to feature information of the original data.

[0067] In one possible implementation, the characteristic information includes at least one of the following:

[0068] Information indicating a difference in column lengths of at least two columns of data in the original data; or,

[0069] Information indicating the difference in the values ​​of data elements contained in the same row of data in the original data; or,

[0070] Information indicating the difference in values ​​between data elements contained in at least two rows of data in the original data.

[0071] It should be noted that the specific implementation methods and beneficial effects of this aspect are similar to some implementation methods in the first aspect above. Please refer to the specific implementation methods and beneficial effects of the first aspect for details, and no further details will be given here.

[0072] In a third aspect, an embodiment of the present application provides a device, which can be the compression device in the aforementioned embodiment, or a chip within the compression device. The device may include a processing module and a transceiver module. When the device is a compression device, the processing module may be a processor, and the transceiver module may be a transceiver; the compression device may also include a storage module, which may be a memory; the storage module is used to store instructions, and the processing module executes the instructions stored in the storage module to cause the compression device to perform the method in the first aspect or any one of the embodiments of the first aspect. When the device is a chip within the compression device, the processing module may be a processor, and the transceiver module may be an input / output interface, pin, or circuit, etc.; the processing module executes the instructions stored in the storage module to cause the compression device to perform the method in the first aspect or any one of the embodiments of the first aspect. The storage module may be a storage module within the chip (e.g., a register, cache, etc.), or a storage module within the compression device located outside the chip (e.g., a read-only memory, a random access memory, etc.).

[0073] In a fourth aspect, embodiments of the present application provide a device, which may be the decompression device described in the aforementioned embodiments, or may be a chip within the decompression device. The device may include a processing module and a transceiver module. When the device is a decompression device, the processing module may be a processor, and the transceiver module may be a transceiver. The decompression device may also include a storage module, which may be a memory. The storage module is configured to store instructions, and the processing module executes the instructions stored in the storage module to cause the first decompression device to perform the method described in the second aspect or any one of the embodiments of the second aspect. When the device is a chip within the decompression device, the processing module may be a processor, and the transceiver module may be an input / output interface, pin, or circuit, etc. The processing module executes the instructions stored in the storage module to cause the first decompression device to perform the method described in the second aspect or any one of the embodiments of the second aspect. The storage module may be a storage module within the chip (e.g., a register, cache, etc.), or a storage module within the decompression device located outside the chip (e.g., a read-only memory, random access memory, etc.).

[0074] In a fifth aspect, the present application provides a device, which may be an integrated circuit chip. The integrated circuit chip includes a processor. The processor is coupled to a memory, which is configured to store programs or instructions. When the program or instructions are executed by the processor, the communication device performs the method described in any of the embodiments of the aforementioned aspects.

[0075] 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 a method as described in any one of the aforementioned aspects.

[0076] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium comprising instructions, which, when executed on a computer, enable the computer to execute a method as described in any one of the embodiments in the foregoing aspects.

[0077] In an eighth aspect, an embodiment of the present application provides a system, which includes a compression device for executing the aforementioned first aspect and any one of the embodiments of the first aspect, and a decompression device for executing the aforementioned second aspect and any one of the embodiments of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] FIG1 is a flow chart of the data compression method proposed in this application;

[0079] FIG2A is an example diagram of original data with unequal column lengths in this application;

[0080] FIG2B is an example diagram of original data with uneven row values ​​in this application;

[0081] FIG2C is an example diagram of original data with unequal column lengths and uneven row values ​​in this application;

[0082] FIG2D is an example diagram of RF map data in a communication system;

[0083] FIG3A is an example diagram of the matrix filling process of the present application;

[0084] FIG3B is another example diagram of the matrix filling process of the present application;

[0085] FIG3C is another example diagram of the matrix filling process of the present application;

[0086] FIG3D is another example diagram of the matrix filling process of the present application;

[0087] FIG4A is an example diagram of the column translation process of the present application;

[0088] FIG4B is another exemplary diagram of the column translation process of the present application;

[0089] FIG5 is an example diagram of the row value transformation process of the present application;

[0090] FIG6A is an example diagram of pre-processing rules provided in this application;

[0091] FIG6B is an example diagram of the preprocessing process and the compression process provided by the present application;

[0092] FIG7 is a flow chart of a data decompression method proposed in this application;

[0093] FIG8 is an example diagram of the decompression process flow and the inverse process flow corresponding to the pre-processing provided by the present application;

[0094] FIG9 is a flow chart of a data transmission method proposed in this application;

[0095] FIG10 is another flowchart of the data transmission method proposed in this application;

[0096] FIG11 is a schematic diagram of an embodiment of the device provided by the present application;

[0097] FIG12 is a schematic diagram of another embodiment of the device provided in this application. DETAILED DESCRIPTION

[0098] The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments.

[0099] The terms "first," "second," "third," "fourth," and the like (if any) in the specification and claims of this application and in the accompanying drawings are used to distinguish similar objects and are not necessarily used to describe a particular order or sequential sequence. It should be understood that the terms used in this manner are interchangeable where appropriate so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having," and any variations thereof, are intended to cover non-exclusive inclusions, e.g., a process, method, system, product, or apparatus comprising a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such process, method, product, or apparatus.

[0100] It should be understood that the term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the previous and next associated objects are in an "or" relationship. In addition, "at least one of the following" or similar expressions in this article is used to represent any combination of the listed items; for example, at least one of A, B and (or) C can represent the following six situations: A exists alone, B exists alone, C exists alone, A and B exist at the same time, B and C exist at the same time, A and C exist at the same time, and A, B and C exist at the same time, among which A, B and C can be single or multiple.

[0101] The data compression method and data decompression method provided in this application can be applied to scenarios where a matrix compression algorithm is required to compress irregular data. The data compression method and compression device are used to resolve the problem of irregular data when using a matrix compression algorithm, and the data decompression method and decompression device are used to restore data compressed using a matrix compression algorithm to the original irregular data.

[0102] It should be understood that the methods and apparatus provided in this application can be applied to scenarios involving data compression in communication systems, as well as to scenarios involving data compression in other systems. For example, the aforementioned communication system can be a 5G NR (5G New Radio) system, a sixth generation mobile communication technology (6G) system, and subsequent evolutionary systems, and this application is not limited thereto.

[0103] Taking a communication system as an example, the data compression method and / or data decompression method provided in this application can be applied to a communication device. The compression device and / or decompression device provided in this application can be a communication device, or a component in a communication device (for example, a processor, a chip, or a chip system). Among them, the communication device can be a terminal device or an access network device, and this application is not limited. For example, taking cellular network communication as an example, the communication device mainly includes a terminal device and an access network device. For another example, taking short-range communication (proximity communication, PC5) as an example, the communication device mainly includes a terminal device.

[0104] Among them, the terminal device includes a device that provides voice and / or data connectivity to the user. For example, it may include a handheld device with wireless connection function or a processing device connected to a wireless modem. In cellular network communication, the terminal device can communicate with the radio access network (RAN) through the Uu interface, and communicate with the core network (for example, the 5G core network (5th generation core, 5GC)) through the RAN. Optionally, in the PC5 communication scenario, the terminal device supports a direct communication interface (i.e., a PC5 interface) and can communicate with other terminal devices that support the PC5 interface through the PC5 interface. It should be understood that the terminal device can also be referred to as a terminal (Terminal), user equipment (UE), mobile terminal (MT) device, mobile station (MS), mobile station (mobile), remote station (remote station), access terminal device (access terminal) or user equipment (user device), etc. In addition, the terminal device can be a mobile phone, a tablet computer (Pad), or a computer with wireless transceiver function. In addition, the terminal device can also be an Internet of Things (IoT) terminal, which has data collection, data processing and data transmission functions. For example, the IoT terminal collects data periodically or based on event triggering, and performs a series of processing such as compression on the collected data before sending it to the access network device or other IoT terminals. For example, the IoT terminal can be a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, etc.

[0105] Furthermore, an access network device can be any device with wireless transceiver capabilities and can be responsible for air interface-related functions, such as radio link maintenance, radio resource management, and some mobility management functions. Furthermore, the access network device can be configured with a baseband unit (BBU) that performs baseband signal processing. Exemplarily, the access network device can be the radio access network (RAN) currently providing services to the terminal device. Currently, some common examples of access network equipment include: Node B (NB), evolved Node B (eNB or eNodeB), next generation Node B (gNB) in 5G new radio (NR) systems, nodes in 6G systems (e.g., xNodeB), transmission reception point (TRP), radio network controller (RNC), base station controller (BSC), base transceiver station (BTS), home base station (e.g., home evolved NodeB or home NodeB (HNB)), etc. In addition, access network equipment may include at least one of a centralized unit (CU) (also known as a control unit), a distributed unit (DU), and a radio unit (RU). The RAN equipment, including the CU and DU, splits the protocol layers of the gNB in ​​the NR system, centrally controlling some protocol layer functions in the CU and distributing some or all of the remaining protocol layer functions in the DU, which is then centrally controlled by the CU.

[0106] It should be noted that if the method and device provided in this application are applied to scenarios involving data compression in a communication system, the compression device and decompression device provided in this application can be integrated into different communication devices, or integrated into different modules or units of the same communication device.

[0107] For example, if the compression device and the decompression device are integrated into different communication devices, the communication device integrated with the compression device and the communication device integrated with the decompression device can communicate wirelessly or wired to transmit compressed data. For example, the compression device and the decompression device can be respectively integrated into an access network device and a terminal device, and the access network device and the terminal device can transmit compressed data via an air interface. For another example, the compression device and the decompression device can be respectively integrated into two terminal devices that communicate via a PC5 communication interface, and the two terminal devices transmit compressed data via the PC5 communication interface.

[0108] For example, if the compression device and the decompression device are integrated into different modules or units of the same communication device, the module (or unit) integrated with the compression device and the module (or unit) integrated with the decompression device can communicate through the internal interface of the communication device to transmit compressed data. For example, if the access network device adopts a CU-DU separation architecture, the compression device and the decompression device can be integrated into the CU and DU respectively, and the CU and DU transmit compressed data through the interface between the CU and DU.

[0109] In addition, if the method and device provided in this application are applied to scenarios involving data compression in other systems, the compression device and the decompression device can be integrated into different devices or apparatuses respectively, or integrated into the same device or apparatus, and this application does not limit this.

[0110] The main process of the data compression method provided by the present application is introduced below in conjunction with Figure 1. The data compression method can be performed by a compression device, which can be the device introduced above (for example, a communication device such as a terminal device or an access network device) or a component of the device (for example, a processor, a chip or a chip system). The following is an introduction using the compression device as an example. As shown in Figure 1, the data compression method mainly includes the following steps:

[0111] Step 101: The compression device obtains preprocessing rules corresponding to the original data.

[0112] The original data may be irregular data, that is, data that is not suitable for being directly used as input for the matrix compression algorithm. Optionally, the original data may be arranged with column vectors as basic units or row vectors as basic units.

[0113] In one embodiment, the original data is arranged in column vectors as basic units, and the original data includes data with unequal column lengths and / or data with uneven row values. The following describes each of these:

[0114] In one possible implementation, the original data may be data with columns of unequal lengths. Specifically, if the original data is divided by columns, the original data includes at least two columns of data, each column of data includes at least one data element, and the lengths of data in different columns of the original data are not completely equal, that is, the number of data elements contained in one column of data in the original data is unequal to the number of data elements contained in another column of data in the original data. Because data with unequal column lengths cannot be arranged into rectangular data, data with unequal column lengths is also called non-rectangular data, that is, the original data is non-matrix data.

[0115] For example, as shown in FIG2A , the original data includes n columns of data, each column of data uses A i The original data can be represented as {A1, A2, A3, ..., A n}, where n is an integer greater than 1, and i is an integer greater than or equal to 1 and less than or equal to n. The length of column A1 is m1 (i.e., column A1 contains m1 data elements), the length of column A2 is m2 (i.e., column A2 contains m2 data elements), the length of column A3 is m3, and so on. Among the n columns of data, at least two columns contain unequal numbers of data elements. For example, the length m1 of column A1 is unequal to the length m2 of column A2.

[0116] In another possible embodiment, the original data may be data with uneven row values. Specifically, if the original data is partitioned by columns, the original data includes at least one row of data, each row of data includes at least one data element, and the original data includes at least one row of data with uneven row values. It should be understood that in this embodiment, partitioning the original data by rows means that when the original data is arranged using column vectors as basic units, at least one data element in different row vectors in the original data constitutes at least one row of data along the row direction.

[0117] Uneven row values ​​include uneven row values ​​within the same row and / or uneven row values ​​across different rows. Uneven row values ​​within the same row refer to a significant difference between the values ​​of one data element in the same row and another data element in the same row. Furthermore, uneven row values ​​across different rows refer to a significant difference between the values ​​of data elements in one row and another row in different rows.

[0118] It should be understood that the difference between the aforementioned numerical values ​​can be the difference in the absolute values ​​of the numerical values ​​of the data elements, or it can be the statistical characteristics of the numerical values ​​(for example, mean, variance or distribution characteristics, etc.), which is not limited in this application. For example, the difference between the numerical value of a data element in the same row of data and the numerical value of another data element in the same row of data is greater than a first threshold. For another example, the difference between the mean of the data elements contained in a row of data and the mean of the data elements contained in another row of data is greater than a second threshold. It should also be understood that the first threshold and / or the second threshold can be an absolute value or a percentage, which is not limited in this application.

[0119] Optionally, if the original data includes multiple rows of data and the numbers of data elements included in the multiple rows of data are equal, the original data is called rectangular data.

[0120] For example, as shown in FIG2B , the original data includes m rows of data, each row of data uses B j The original data can be represented as {B1, B2, B3, ..., B m}, where m is an integer greater than or equal to 1, and j is an integer greater than or equal to 1 and less than or equal to m. Each row of data contains at least one element, so the row of data B1 can be expressed as B1 = {b 11 , b 12 , b 13 ,…,b 1n}, the data in row B2 can be expressed as B2={b 21 , b 22 , b 23 ,…,b 2n}, and so on. If the values ​​of the same row in the original data are uneven, for example, row B1, the values ​​of two elements in row B1 are quite different, or the values ​​of several elements in row B1 are quite different. For example, 11 with b 12 The difference is greater than the first threshold, b 11 with b 13 If the values ​​of different rows in the original data are uneven, for example, rows B1 and B2, the mean of rows B1 and B2 is greater than the second threshold.

[0121] In another possible implementation, the original data may be data with unequal column lengths and uneven row values. Specifically, if the original data is divided by columns, the original data includes at least one column of data, each column of data including at least one data element; and if the original data is divided by rows, the original data includes at least one row of data, each row of data including at least one data element, with the number of data elements contained in the shortest column of data being the number of data rows. The lengths of data in different columns of the original data are not completely equal, and at least one row of data has uneven row values.

[0122] For example, as shown in FIG2C , the original data is divided into n columns of data, each column of data is A i The original data can be represented as {A1, A2, A3, ..., A n}, where n is an integer greater than 1, and i is an integer greater than or equal to 1 and less than or equal to n. The lengths of each column of data are m1, m2, m3, ..., m n , where m is an integer greater than or equal to 1. The original data is divided into P rows of data, each row of data is divided into B j The original data can be represented as {B1, B2, B3, ..., B p}, where P is an integer and 1≤P≤min{m1,m2,m3,…,m n}, j is an integer greater than or equal to 1 and less than or equal to P. In this example, when the original data is divided into columns, there is a problem of unequal column lengths, that is, m1, m2, m3, ..., m n are not completely equal; when the original data is divided into rows, there is a problem of uneven row values, that is, {B1, B2, B3, ..., B p}The row values ​​of the same row are uneven or the row values ​​of different rows are uneven.

[0123] It should be understood that the original data in this application can be any of the aforementioned implementations, and this application is not limited thereto.

[0124] Optionally, the original data in the present application may be data generated by a communication device in a communication system. For example, the original data may be non-business data generated inside a communication device in a wireless communication system. For example, the original data may be physical layer data (for example, channel state information (CSI) data) generated by a communication device during a channel measurement process. For another example, the original data may be measurement data or intermediate data generated by a communication device during a perception measurement process, such as RF map data, point cloud data, and other sensing data. It should be understood that the original data may also be data generated by a communication device in other measurement processes, and examples are not listed one by one here.

[0125] For ease of understanding, take the RF map data shown in Figure 2D as an example. RF map data is a type of air interface native data that is highly correlated with geographic location information, and mainly describes the electromagnetic propagation characteristics of the environment. Generally, the space is divided into grids at a certain resolution, and each grid is represented by a location point (for example, the center point of the grid). The information related to the electromagnetic propagation environment at the representative location is recorded as RF map data. The information related to the electromagnetic propagation environment includes antenna angle, delay, power, and other channel related information. In the example shown in Figure 2D, the RF map data may have the problem of unequal column lengths. For example, each column in the RF map data corresponds to ray tracing data (for example, pitch arrival angle, azimuth arrival angle, and arrival time) of a geographic location, and the lengths of the columns are different due to the different number of paths; the RF map data may also have the problem of uneven row values. For example, in RF map data, the range of pitch angles is relatively small, typically between 0 and 45 degrees, while the range of azimuth angles is relatively large, typically between 0 and 360 degrees. Therefore, the data in the rows containing pitch angles and azimuth angles are not uniform, resulting in uneven row values.

[0126] In another embodiment, the original data is arranged in row vectors as basic units, and the original data includes data with unequal row lengths and / or data with uneven column values. The following are introduced respectively:

[0127] In one possible embodiment, the original data may be data with unequal row lengths. Specifically, if the original data is divided by row, the original data includes at least two rows of data, each row of data includes at least one data element, and the lengths of data in different rows of the original data are not completely equal, that is, the number of data elements contained in one row of data in the original data is unequal to the number of data elements contained in another row of data in the original data. Because data with unequal row lengths cannot be arranged into rectangular data, data with unequal row lengths is also called non-rectangular data, that is, the original data is non-matrix data.

[0128] In another possible implementation, the original data may be data with uneven column values. Specifically, if the original data is partitioned by rows, the original data includes at least one column of data, each column of data includes at least one data element, and the original data has at least one column of data with uneven column values. In this implementation, partitioning the original data by columns means that, when the original data is arranged using row vectors as basic units, at least one data element in different column vectors in the original data constitutes at least one column of data along the column direction.

[0129] Uneven column values ​​include uneven column values ​​within the same column and / or uneven column values ​​across different columns. Uneven column values ​​within the same column refer to a significant difference between the values ​​of one data element within the same column and another data element within the same column. Furthermore, uneven column values ​​across different columns refer to a significant difference between the values ​​of data elements within one column and another within different columns.

[0130] In another possible implementation, the original data may be data with unequal row lengths and uneven column values. Specifically, if the original data is partitioned by row, the original data includes at least one row of data, each row of data including at least one data element; and if the original data is partitioned by column, the original data includes at least one column of data, each column of data including at least one data element, with the number of data elements contained in the shortest row of data being the number of column data. The lengths of data in different rows of the original data are not exactly equal, and at least one column of data may have uneven column values.

[0131] It should be understood that this type of implementation (i.e., the original data is arranged with row vectors as the basic unit) is similar to the previous type of implementation (i.e., the implementation in which the original data is arranged with column vectors as the basic unit). Please refer to the relevant descriptions and examples in the previous type of implementation for details, and they will not be repeated here.

[0132] In addition, the characteristic information of the original data is used to describe the characteristics of the original data. The characteristics of the original data can be the characteristics of one or more rows of data in the original data, or the characteristics of one or more columns of data in the original data. For example, if the original data is arranged with column vectors as the basic unit, the characteristic information of the original data can reflect whether the original data has problems with unequal column lengths and / or uneven row values. For another example, if the original data is arranged with row vectors as the basic unit, the characteristic information of the original data can reflect whether the original data has problems with unequal row lengths and / or uneven column values. The following mainly introduces the characteristic information of the original data when the original data is arranged with column vectors as the basic unit:

[0133] Optionally, the characteristic information of the original data includes at least one of the following:

[0134] Information indicating the difference in column lengths of at least two columns of data in the original data; or information indicating the difference in numerical values ​​of data elements contained in the same row of data in the original data; or information indicating the difference in numerical values ​​of data elements contained in at least two rows of data in the original data.

[0135] Among them, the information indicating the difference in column lengths of at least two columns of data is used to reflect that the original data has a problem of unequal column lengths. Optionally, the information indicating the difference in column lengths of at least two columns of data can be the difference in column lengths of at least two columns of data, or the column lengths of at least two columns of data with unequal column lengths, or other information that can reflect that the original data has a problem of unequal column lengths, and this application is not limited thereto. Taking Figure 2A as an example, the information indicating the difference in column lengths of at least two columns of data can be the difference in column lengths of column A1 to column A1. n The difference between any two columns of data, for example, A1-A i ={m1-m2, m1-m3, m1-m4,…, m1-m n}, where n is an integer greater than 1, and i is an integer greater than or equal to 1 and less than or equal to n. i If there is a non-zero value, the original data has a problem of unequal column lengths. In addition, the information indicating the difference in column lengths of at least two columns of data can also be the length of the data in column A1 to A n The length of each column in the column data, for example, {m1, m2, m3, ..., m n}, where n is an integer greater than 1. If m1, m2, m3, ..., m n If they are not completely equal, the original data has unequal column lengths.

[0136] Among them, the information indicating the difference in the values ​​of the data elements contained in the same row of data is used to reflect the problem of uneven row values ​​in the same row of original data. Optionally, the information indicating the difference in the values ​​of the data elements contained in the same row of data can be the difference between the values ​​of any two data elements in the same row of data, or the difference between the maximum and minimum values ​​in the same row of data, or the maximum and minimum values ​​in the same row of data, or other information that can reflect the problem of uneven row values ​​in the same row of original data, and this application is not limited thereto. Taking the B1 row of data shown in FIG2B as an example, the B1 row of data is represented by B1={b 11 , b 12 , b 13 ,…,b 1n}, then the information indicating the numerical difference of the data elements contained in the same row of data can be ΔB1=max{b 11 , b 12 , b 13 ,…,b 1n}-min{b 11 , b 12 , b 13 ,…,b 1n}, and can also contain max{b 11 , b 12 , b 13 ,…,b1n} and min{b 11 , b 12 , b 13 ,…,b 1n}.

[0137] Among them, the information indicating the numerical difference of the data elements contained in at least two rows of data is used to reflect the problem of uneven numerical values ​​of the data elements in different rows of the original data. Optionally, the information indicating the numerical difference of the data elements contained in at least two rows of data can be the difference in statistical characteristics (for example, mean) of the data elements contained in at least two rows of data, or the statistical characteristics (for example, mean) of the data elements contained in two rows of data with different statistical characteristics, or other information that can reflect the uneven numerical values ​​of the data elements in different rows, which is not limited by this application. Taking Figure 2B as an example, the original data includes m rows of data, that is, the original data can be expressed as {B1, B2, B3, ..., B m}, where the mean of the data elements in row B1 is The mean of the data elements in row B2 is The mean of the data elements in row B3 is The information indicating the difference in the values ​​of the data elements contained in at least two rows of data can be the difference between the data in row B1 and row B. m The difference between the means of any two or more rows of data, for example, The information indicating the difference in the values ​​of the data elements included in at least two rows of data may be B1 to B m The mean of each row of data, for example,

[0138] Similarly, if the original data is arranged in row vectors as basic units, the characteristic information of the original data includes at least one of the following:

[0139] Information indicating the difference in row lengths of at least two rows of data in the original data; or information indicating the difference in numerical values ​​of data elements contained in the same column of data in the original data; or information indicating the difference in numerical values ​​of data elements contained in at least two columns of data in the original data.

[0140] The characteristic information of the original data when the original data is arranged using row vectors as basic units is similar to the characteristic information of the original data when the original data is arranged using column vectors as basic units. For details, please refer to the relevant descriptions and examples in the previous article and will not be repeated here.

[0141] It should be understood that the aforementioned examples related to the characteristic information of the original data are only listed for the convenience of readers' understanding. In actual applications, the characteristic information of the original data can also be determined based on the original data and a specific algorithm. This application will no longer list the examples one by one.

[0142] In addition, the pre-processing rules corresponding to the original data are used to process the original data into matrix data that can be used as input of the matrix compression algorithm.

[0143] Optionally, the preprocessing rules include at least one of matrix filling, column shifting, and row value transformation. It should be understood that the aforementioned preprocessing rules are preprocessing rules corresponding to the original data when the original data is arranged using column vectors as basic units. If the original data is arranged using row vectors as basic units, the compression device needs to first perform a transpose process on the original values ​​and then perform the following preprocessing on the transposed original data.

[0144] The following are introductions to the various preprocessing methods mentioned above:

[0145] The matrix filling process is used to fill the data to be processed with matrix data. The data to be processed can be original data or data obtained by pre-processing the original data at least once. For example, the data to be processed can be data obtained by performing at least one column shift process. For an explanation of the column shift process, please refer to the relevant description corresponding to FIG. 4A below, which will not be repeated here.

[0146] Optionally, the matrix filling process can be to fill each column of data with data elements based on the first column length. Optionally, the first column length is greater than or equal to the column length of the longest column of data in the original data. In one example, the first data element of each column of data is aligned, and the matrix filling process is to fill the data elements at the end of each column of data. As shown in Figure 3A, the original data contains n columns of data, and the first data element of each column of data in the n columns of data is aligned. If the length of the A6 column of data is at most m6, the matrix filling process is used to add data elements at the end of the remaining (n-1) columns of data, so that each column of data in the n columns of data is filled with data containing m6 data elements, and matrix data with m rows and n columns is obtained, where m=m6. In another example, the first data element of each column of data is not completely aligned, and the matrix filling process is to fill the data elements at the beginning and end of each column of data. As shown in Figure 3B, the original data contains n columns of data, and the first data element of each column of data in the n columns of data is not completely aligned. If based on A m The first data element of each column data is filled to align, and the first data element of each column data is filled to align based on the A3 column data. After the filling process, the matrix data of m rows and n columns is obtained, where m'>max{m1, m2, m3, ..., mn}.

[0147] It should be understood that, depending on the values ​​of the data elements to be filled, matrix filling processing includes zero filling, mean filling, and optimized filling. In one example, as shown in Figure 3C, the left side represents data that has not been subjected to matrix filling processing, and the dotted box represents the vacant position; the right side represents data that has been subjected to matrix filling processing, and the vacant position has been filled with a value of 0. This example lists the case where the first data element of each column of data is aligned. The case where the first data element of each column of data is not completely aligned is similar and will not be described in detail here. In another example, as shown in Figure 3D, the left side represents data that has not been subjected to matrix filling processing, and the dotted box represents the vacant position; the right side represents data that has been subjected to matrix filling processing, and the vacant position has been filled with the mean value of the data elements in the row where the vacant position is located. Taking the vacancy in the third row and third column as an example, if the mean value of the values ​​of the remaining data elements in the third row is 12, then the vacant position in the third row and third column is filled with 12. Taking the vacancy in the fourth row as an example, if the mean value of the values ​​of the remaining data elements in the fourth row is 15, then each vacant position in the fourth row is filled with 15. And so on, and will not be described in detail here. This example lists the case where the first data element of each column of data is aligned. The case where the first data element of each column of data is not completely aligned is similar and will not be described in detail here. In another example, the value of the padded data element can also be determined based on an algorithm. For example, under at least one constraint condition, the padding value is calculated or tested based on the algorithm. Among them, at least one constraint condition includes a constraint on computing overhead (for example, computing overhead is less than a threshold), a constraint on compression distortion (for example, compression distortion is less than a threshold), a constraint on compression ratio (for example, compression ratio is greater than a threshold) or a constraint on the number of iterations (for example, the number of iterations is less than a threshold), etc.

[0148] The column shift process is used to shift at least one column of data in the data to be processed along the column direction so that the numerical difference of the data elements in the same row is reduced after the column shift process. The data to be processed includes the original data.

[0149] For example, as shown in FIG4A , the original data is divided into n columns of data, and the original data is represented as {A1, A2, A3, . . . , A n}, the length of each column data is m1, m2, m3, ..., m n , where n is an integer greater than 1 and m is an integer greater than or equal to 1. If the column shifts of each column of data are q1, q2, q3, ..., q n , then the column shift parameter of this column shift process is Q = {q1, q2, q3, ..., q n}.

[0150] Exemplarily, as shown in FIG4B , take RF map data as an example. The data shown in FIG4B includes an azimuth angle and a zenith arrival angle, wherein the numerical range of the azimuth angle is relatively large, i.e., [0, 360), while the numerical range of the zenith arrival angle is relatively small, i.e., [0, 45). The same row of data may contain both the azimuth angle and the zenith arrival angle, resulting in a large difference in row values ​​in the same row of data. Therefore, the compression device can move each column of data along the column direction through column translation processing, so that as much data as possible in the same row of data is a data element with the same physical meaning. For example, the azimuth angle is moved to a row of data as much as possible, and the zenith arrival angle is moved to a row of data as much as possible.

[0151] Among them, the row value transformation processing is used to process the numerical value of at least one data element in at least one row of data in the data to be processed. The data to be processed is matrix data. The data to be processed can be original data (matrix data) or data obtained by matrix filling processing of original data (non-matrix data). For example, the row value transformation processing is used to translate and / or scale the numerical value of at least one data element in at least one row of data in the data to be processed according to the row value transformation parameters, so that the numerical value size of each row is mapped to the same numerical range. It is beneficial to reduce the numerical difference of data elements in the same row, and / or reduce the numerical difference of data elements in different rows, thereby improving the performance of subsequent compression processing. As shown in Figure 5, the data before the row value transformation processing includes m rows of data, and the original data is represented as {B1, B2, B3, ..., B m}, where m is an integer greater than or equal to 1. C h Indicates B h A subset of , where h is an integer greater than or equal to 1 and less than or equal to m. h (x) represents the mapping relationship used when performing row value transformation processing on the h-th row data. The mapping relationships for row value transformation processing on different rows are not exactly the same.

[0152] Optional, f h (x) can be a linear mapping relationship, that is, the row value transformation process is a linear transformation process; f h (x) can also be a nonlinear mapping relationship, that is, the row value transformation process is a nonlinear transformation process. The following are introduced separately:

[0153] In a possible implementation, the row value transformation process is a linear transformation process, that is, the value of at least one data element in at least one row of data is transformed according to f h(x) = a × x + b for linear transformation. In one example, if the numerical size of each row of data is mapped to [0, 1], the linear transformation parameters are a = 1 / s, b = -e / s, where e is the average of a row of data and s is the standard deviation of the row of data. In this example, the row value transformation parameters include e and s, or the row value transformation parameters include a and b. In another example, if the maximum value of a row of elements is t and the minimum value is s, the numerical size of each row of data is mapped to [e, E], then the linear transformation parameters are a = (Ee) / (ts), b = (t × es × E) / (ts), where e is the average of a row of data and s is the standard deviation of the row of data. In this example, the row value transformation parameters include a and b, or the row value transformation parameters include t, s, e and E.

[0154] In another possible implementation, the row value transformation process is a nonlinear transformation process, that is, the value of at least one data element in at least one row of data is nonlinearly transformed according to a monotonic function f(x). h For example, if (x) is a logistic function f(x) = 1 / ((1 + exp(-x))), the values ​​of the data elements after translation and scaling satisfy a×f(bx)-c. In this example, the row value transformation parameters include a, b, and c.

[0155] It should be understood that the row value transformation process can be performed on only one row of data or on multiple rows of data. When processing multiple rows of data, the row value transformation processes of different rows can use the same row value transformation parameters or different row value transformation parameters, which is not limited in this application.

[0156] Optionally, the preprocessing rule is related to the characteristic information of the original data. Based on the different characteristic information of the original data, the preprocessing rules obtained by the compression device include different preprocessing methods. For example, if the characteristic information includes information about the difference in column lengths between at least two columns of data, the preprocessing rule includes at least a matrix filling process. For another example, if the characteristic information includes information about the numerical difference between data elements contained in the same row of data, the preprocessing rule includes at least a column shift process. For another example, if the characteristic information includes information about the numerical difference between data elements contained in at least two rows of data, the preprocessing rule includes at least a row value transformation process. It should be understood that the preprocessing rule obtained by the compression device may include any one of the aforementioned preprocessing methods, or may include multiple preprocessing methods. When the preprocessing rule includes multiple preprocessing methods, there is a certain order between the multiple preprocessing methods, that is, different preprocessing methods have different priorities. For example, if the preprocessing rule includes a column shift process and a matrix filling process, the column shift process is executed before the matrix filling process. For another example, if the preprocessing rule includes a matrix filling process and a row value transformation process, the row value transformation process is executed before the matrix filling process.

[0157] As shown in Figure 6A, there are multiple examples of preprocessing rules. In one example, preprocessing rule 1 only includes matrix filling processing, and the preprocessing rule 1 is used to instruct the compression device to fill the original data (non-matrix data) into matrix data to obtain data to be compressed (matrix data). In another example, preprocessing rule 2 only includes row value transformation processing, and the preprocessing rule 2 is used to instruct the compression device to process the numerical value of at least one data element in at least one row of data of the original data (matrix data) to obtain data to be compressed (matrix data). In another example, preprocessing rule 3 includes matrix filling processing and row value transformation processing, and the preprocessing rule 3 is used to instruct the compression device to first fill the original data (non-matrix data) into matrix data, and then perform row value transformation processing on the matrix data to obtain data to be compressed (matrix data). In another example, preprocessing rule 4 includes column shift processing and matrix filling processing, and the preprocessing rule 4 is used to instruct the compression device to first perform column shift processing on the original data (non-matrix data) to obtain data to be filled (non-matrix data), and then perform matrix filling processing on the data to be filled to obtain data to be compressed (matrix data). In another example, the preprocessing rule 5 includes column translation processing, matrix filling processing and row value change processing. The preprocessing rule 5 is used to instruct the compression device to first perform column translation processing on the original data (non-matrix data) to obtain the data to be filled (non-matrix data), and then fill the data to be filled with matrix data. Then, the matrix data performs row value transformation processing to obtain the data to be compressed (matrix data).

[0158] In addition, the compression device can have multiple ways to obtain the preprocessing rules corresponding to the original data:

[0159] In one possible implementation, the compression device receives configuration information including pre-processing rules. The configuration information may be manually configured or sent by another device. For example, if the compression device is a terminal device in a communication system, the configuration information may come from a network device (e.g., an access network device), i.e., the access network device sends configuration information indicating the pre-processing rules to the terminal device.

[0160] In another possible implementation, the compression device determines a preprocessing rule corresponding to the original data based on characteristic information of the original data. For example, when the compression device determines that the original data has one or more characteristics, the compression device determines that the preprocessing rule includes a preprocessing method for the characteristic.

[0161] In one example, if the compression device determines that the characteristic information of the original data includes information indicating a difference in column lengths of at least two columns of data, i.e., that the original data has a problem of unequal column lengths, the compression device determines that the preprocessing rule includes at least a matrix filling process. The matrix filling process can fill non-matrix data with matrix data, so that the data after the matrix filling process is applicable to a compression algorithm that requires matrix data as input, which is beneficial to improving the efficiency of subsequent data compression.

[0162] In another example, if the compression device determines that the characteristic information of the original data includes information indicating numerical differences among data elements in the same row of data, that is, the numerical values ​​of the data elements in the same row of the original data are uneven, the compression device determines that the preprocessing rule includes at least a column shift process. The column shift process can shift at least one column of data along the column direction so that the numerical differences among the data elements in the same row are reduced after the column shift process, thereby facilitating reduction of approximation errors that may be introduced in a subsequent compression process.

[0163] In another example, if the compression device determines that the characteristic information of the original data includes information indicating the difference in values ​​between data elements contained in at least two rows of data, that is, the values ​​of data elements in different rows of the original data are uneven, the compression device determines that the preprocessing rules at least include row value transformation processing. The row value transformation processing can translate and / or scale the value of at least one data element in at least one row of data according to the row value transformation parameter so that the value size of each row is mapped to the same value range. This is beneficial for reducing the difference in values ​​between data elements in the same row and / or reducing the difference in values ​​between data elements in different rows, thereby improving the performance of subsequent compression processing.

[0164] In another possible implementation, the preprocessing rules are predefined by the protocol. For another example, the compression protocol rules supported by the compression device determine which one or several preprocessings need to be performed on irregular data, and the compression device compresses the data after the preprocessing. For another example, the transmission protocol supported by the communication device (i.e., a communication device integrated with the compression device) stipulates that after obtaining the original data, which one or several preprocessings need to be performed on the original data first, and then compression processing is performed on the data after the preprocessing, and the compressed data is transmitted. In this implementation, the compression device may not need to determine the preprocessing rules based on the configuration information or the characteristic information of the original data.

[0165] In step 102 , the compression device performs preprocessing on the original data based on a preprocessing rule to obtain data to be compressed, where the data to be compressed is matrix data.

[0166] Optionally, the preprocessing rule is related to the characteristic information of the original data. Based on the different characteristic information of the original data, the preprocessing method included in the preprocessing rule obtained by the compression device is different. In the process of processing the original data based on the preprocessing rule, the compression device also generates preprocessing parameters corresponding to the preprocessing method included in the preprocessing rule. The following are introduced respectively:

[0167] In one possible embodiment, if the preprocessing rules include matrix filling processing, the compression device performs the matrix filling processing on the data to be filled and outputs matrix data. The column lengths of at least two columns of the data to be filled are not completely equal, and the column lengths of any two columns of the matrix data are equal. Optionally, the data to be filled is the original data or data obtained by performing at least one column shift on the original data. For a specific example of the matrix filling processing, please refer to the relevant description in step 101 above and will not be repeated here.

[0168] Optionally, while the compression device outputs the matrix data, the compression device also outputs the preprocessing parameters corresponding to the matrix filling process. The preprocessing parameters corresponding to the matrix filling process include the column length of each column of data in the data before filling and the column length of the output matrix data. Since the column translation process does not affect the column length of each column of data, regardless of whether the data to be filled is the original data, the column length of each column of data in the data to be filled is equal to the column length of each column of data in the original data. In addition, the column length of the matrix data can be understood as the number of rows of the matrix data, that is, the number of rows contained in the matrix data. Exemplarily, taking Figures 3A and 3B as an example, the original data is divided into n columns of data by column, and the original data is represented as {A1, A2, A3, ..., A n}, the length of each column data is m1, m2, m3, ..., m n, where n is an integer greater than 1, and m is an integer greater than or equal to 1. In the example shown in FIG3A , the preprocessing parameters corresponding to the matrix filling process include the column length of each column of data (i.e., {m1, m2, m3, ..., m n}) and the column length of the matrix data is m, where m=max{m1, m2, m3, ..., m n In the example shown in FIG3B , the preprocessing parameters corresponding to the matrix filling process include the column length of each column of data (ie, {m1, m2, m3, ..., m n}) and the column length of the matrix data is m', where m'>max{m1, m2, m3, ..., m n}.

[0169] In this embodiment, the compression device processes the to-be-filled data into matrix data suitable for the matrix compression algorithm through matrix filling, thereby resolving the issue of unequal column lengths and improving the efficiency of subsequent data compression. Furthermore, the preprocessing parameters corresponding to the matrix filling process output by the compression device facilitate the decompression device in restoring the rectangular data to its original pre-filled state.

[0170] In another possible implementation, if the preprocessing rules include column shifting, the compression device performs column shifting on the original data and outputs the data to be filled. Optionally, the numerical difference between the data elements in the same row of data in the original data is greater than a first threshold, and the numerical difference between the data elements in the same row of data in the data to be filled is less than a third threshold, where the third threshold is less than the first threshold. For a specific example of column shifting, please refer to the description of step 101 above and will not be repeated here.

[0171] Optionally, while the compression device outputs the data to be filled, the compression device also outputs the preprocessing parameters corresponding to the column shift process. The preprocessing parameters corresponding to the column shift process include a column shift amount parameter and a column length of each column of data in the original data. The column shift parameter is used to indicate the column shift amount of each column of data in the column shift process. For example, taking FIG4A as an example, the original data is divided into n columns of data, and the original data is represented as {A1, A2, A3, ..., A n}, the length of each column data is m1, m2, m3, ..., m n , where n is an integer greater than 1 and m is an integer greater than or equal to 1. If the column shifts of each column of data are q1, q2, q3, ..., q n , then the column shift parameter of this column shift process is Q = {q1, q2, q3, ..., q n The preprocessing parameters corresponding to the column shift process include the column shift amount parameter (ie Q = {q1, q2, q3, ..., q n}) and the length of each column of data in the original data (i.e. {m1, m2, m3, ..., m n}).

[0172] In this embodiment, the compression device reduces the numerical differences of data elements in the same row by performing column shift processing on the original data, which is beneficial to reducing the approximate error that may be introduced in the subsequent compression process.

[0173] In another possible implementation, if the preprocessing rules include row value transformation, the compression device performs row value transformation on the matrix data and outputs the data to be compressed. The matrix data is the original data or data obtained by performing matrix filling on the original data. The difference in the values ​​of the data elements contained in any two rows of data in the matrix data is greater than a second threshold, and the values ​​of any two rows of data in the data to be compressed are within the same numerical range. For a specific example of the row value transformation, please refer to the description of step 101 above and will not be repeated here.

[0174] Optionally, while the compression device outputs the data to be compressed, the compression device also outputs preprocessing parameters corresponding to the row value transformation process. The preprocessing parameters corresponding to the row value transformation process include row value transformation parameters, which are used to indicate the translation and / or scaling of the numerical value of each row of data in the row value transformation process relative to the numerical value before the row value transformation. The specific method of the row value transformation process used by the compression device is different, and the output row value transformation parameters are different. Please refer to the relevant example corresponding to Figure 5 above for details, which will not be repeated here.

[0175] In addition, for different rows of the matrix data, the compression device may use the same row value transformation parameters for some rows, or may use different row value transformation parameters for different rows. In one example, the compression device determines that the row value transformation parameters of each row of data in the matrix data can be determined. If the matrix data contains m rows, the compression device outputs m groups of row value transformation parameters, where m is an integer greater than or equal to 1. In another example, the compression device determines that some rows in the matrix data use a set of row value transformation parameters, while the remaining rows do not perform row value transformation processing, and outputs a total of one set of row value transformation parameters. In another example, the compression device divides the matrix data into g groups, and different groups use different row value transformation parameters, and outputs a total of g groups of row value transformation parameters, where g is an integer greater than 1.

[0176] Optionally, when the compression device outputs multiple sets of row value transformation parameters, the preprocessing parameters corresponding to the value transformation processing may include, in addition to the row value transformation parameters, a row sequence number, which is used to indicate the sequence number of the row to which the row value transformation parameters apply.

[0177] In this embodiment, the compression device uses row value transformation processing to shift and / or scale the value of at least one data element in at least one row of data according to the row value transformation parameter, so that the values ​​of each row are mapped to the same value range. This helps reduce the difference in values ​​between data elements in the same row and / or the difference in values ​​between data elements in different rows, thereby improving the performance of subsequent compression processing.

[0178] In step 103 , the compression device uses a matrix compression algorithm to perform compression processing on the data to be compressed and outputs the compressed data. The matrix compression algorithm is used to perform compression processing on the matrix data.

[0179] Among them, the matrix compression algorithm generally refers to an algorithm that requires the input data to be matrix data. Optionally, the matrix compression algorithm includes a low rank matrix approximation (LRMA) algorithm, which is an algorithm that mines data correlation for data compression. As shown in Figure 6B, the compression device splits the matrix data of m rows and n columns into matrix data of m rows and k columns and matrix data of k rows and n columns based on the LRMA algorithm. Then, the compression device performs compression processing such as quantization and entropy coding on the aforementioned two matrix data (i.e., matrix data of m rows and k columns and matrix data of k rows and n columns), and outputs compressed data. Wherein, k is a rank parameter, and k is an integer greater than or equal to 1.

[0180] Optionally, after the compression device outputs the compressed data, the compression device sends the compressed data and the first information to the decompression device.

[0181] The first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in the preprocessing process. The first information is used by the decompression device to determine the data to be compressed and the original data based on the compressed data. For example, the compression parameters in the first information are used by the decompression device to determine the data to be compressed based on the compressed data, and the preprocessing parameters in the first information are used by the decompression device to determine the original data based on the data to be compressed.

[0182] Optionally, the preprocessing parameters include at least one of the following:

[0183] The column length, number of columns, column shift parameters for each column in the original data, and the column length or row value transformation parameters for matrix data. For an explanation of each preprocessing parameter, please refer to the relevant description above and will not be repeated here.

[0184] Optionally, if the matrix compression algorithm is a low-rank matrix approximation (LRMA) compression algorithm, the compression parameter includes a rank parameter k of the data to be compressed. Optionally, the compression parameter also includes the number of rows and columns of the data to be compressed.

[0185] Optionally, the first information further includes first indication information, the first indication information being used to indicate whether the decompression device performs transposition processing. For example, the first indication information indicates whether the decompression device performs transposition processing on the data decompressed by the compression device.

[0186] In the present application, a compression device is capable of obtaining preprocessing rules corresponding to the original data, and the preprocessing rules are related to the characteristic information of the original data. The compression device processes the original data into matrix data based on the preprocessing rules, and then the compression device is capable of performing compression processing on the matrix data using a matrix compression algorithm. Because the compression device applies the original data to the matrix data of the matrix compression algorithm according to the preprocessing rules related to the characteristic information of the original data, this not only solves the problem of data irregularity when using the matrix compression algorithm, but also facilitates on-demand personalized preprocessing based on the characteristics of the original data, thereby improving the efficiency of data compression and reducing the transmission resources occupied when transmitting the compressed data.

[0187] The main process of the data decompression method provided by the present application is introduced below in conjunction with Figure 7. The data decompression method can be performed by a decompression device, which can be the device introduced above (for example, a communication device such as a terminal device or an access network device) or a component of the device (for example, a processor, a chip or a chip system). The following description takes the decompression device as an example. As shown in Figure 7, the data decompression method mainly includes the following steps:

[0188] Step 701: The decompression device obtains compressed data and first information.

[0189] Optionally, the compression device sends compressed data and first information to the decompression device; accordingly, the decompression device receives the compressed data and first information. Exemplarily, taking the compression device as an access network device and the decompression device as a terminal device as an example, when the access network device has data that needs to be transmitted to the terminal device, the access network device performs preprocessing and matrix compression processing on the original data to be transmitted to the terminal device based on the data compression method shown in Figure 1, and outputs compressed data and first information. Then, the terminal device receives the compressed data and first information from the access network device. Exemplarily, taking the compression device integrated into the CU and the decompression device integrated into the DU as an example, when the CU collects data that needs to be transmitted to the DU, the CU performs preprocessing and matrix compression processing on the original data to be transmitted to the DU based on the data compression method shown in Figure 1, and outputs compressed data and first information. Then, the DU receives the compressed data and first information from the CU. In other application scenarios, there are other examples of decompression devices obtaining compressed data and first information, which are not described here.

[0190] The compressed data is data obtained by compressing data to be compressed using a matrix compression algorithm, and the data to be compressed is data obtained by preprocessing the original data. The first information is used by the decompression device to determine the data to be compressed and the original data based on the compressed data. That is, the first information is used by the decompression device to first determine the data to be compressed based on the compressed data and the first information, and then determine the original data based on the data to be compressed and the first information.

[0191] Optionally, the first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in the preprocessing process. The compression parameters are used by the decompression device to determine the data to be compressed based on the compressed data and the compression parameters, and the preprocessing parameters are used by the decompression device to determine the original data based on the data to be compressed and the preprocessing parameters.

[0192] Optionally, the preprocessing parameters include at least one of the following:

[0193] The length of each column in the original data; or,

[0194] The number of columns is used to indicate the number of column data contained in the original data; or,

[0195] Column shift parameter, which is used to indicate the column shift amount of each column of data in the column shift process; or,

[0196] The column length of the matrix data; or,

[0197] The row value transformation parameter is used to indicate the translation and / or scaling of the value of each row of data relative to the value before the row value transformation during the row value transformation process.

[0198] Optionally, if the matrix compression algorithm is a low-rank matrix approximation (LRMA) compression algorithm, the compression parameter includes a rank parameter k of the data to be compressed. Optionally, the compression parameter also includes the number of rows and columns of the data to be compressed.

[0199] Optionally, the first information further includes first indication information, the first indication information being used to indicate whether the decompression device performs transposition processing. For example, the first indication information indicates whether the decompression device performs transposition processing on the data decompressed by the compression device.

[0200] For explanations of the preprocessing parameters and compression parameters, please refer to the relevant description in the embodiment corresponding to FIG1 above, which will not be repeated here.

[0201] Step 702: The decompression device performs decompression processing on the compressed data based on the first information to obtain data to be compressed.

[0202] Specifically, the decompression device performs decompression processing on the compressed data based on the compression parameters in the first information to obtain data to be compressed.

[0203] Exemplarily, as shown in Figure 8, if the matrix compression algorithm is a low-rank matrix approximation LRMA compression algorithm, and the compression parameters include a rank parameter k, the decompression device decompresses a matrix of m rows and k columns and a matrix of k rows and n columns respectively. Then, the decompression device determines the data to be compressed of m rows and n columns based on the rank parameter k and the aforementioned two matrices (i.e., the matrix of m rows and k columns and the matrix of k rows and n columns), i.e., the data after preprocessing before compression processing.

[0204] Step 703: The decompression device performs an inverse process corresponding to the pre-processing on the data to be compressed based on the first information, and outputs the original data.

[0205] Specifically, the decompression device performs decompression processing on the compressed data based on the preprocessing parameters in the first information to obtain data to be compressed.

[0206] It should be understood that the first information includes at least one preprocessing parameter corresponding to a preprocessing method, and each preprocessing parameter can reflect whether the compression device has performed preprocessing corresponding to the preprocessing parameter on the original data. In other words, the decompression device can determine which preprocessing the compression device has performed on the original data based on the preprocessing parameters received in the first information, and restore the data using the inverse process corresponding to the preprocessing. The following are introduced respectively:

[0207] In one possible embodiment, if the preprocessing parameters include row-value transformation parameters, the preprocessing includes a row-value transformation process, which is used to translate and / or scale the values ​​of each data element in at least one row of data according to the row-value transformation parameters. Specifically, the decompression device performs an inverse process of the row-value transformation process on the data to be compressed based on the row-value transformation parameters, and outputs matrix data before the row-value transformation. The matrix data is the original data or data obtained by performing a matrix-filling process on the original data.

[0208] It should be understood that if the preprocessing parameters include only a set of row-valued transformation parameters, the decompression device performs the inverse process corresponding to the row-valued transformation process on each row of the matrix data based on the row-valued transformation parameters. For example, if the row-valued transformation parameters include a and b, the decompression device determines x based on a×x+b, where x refers to the value of the data element before the row-valued transformation process.

[0209] Optionally, the preprocessing parameters also include a row number, which is used to indicate the row number to which the row-valued transformation parameter applies. For example, if the matrix data can be divided into m rows in total, and the row numbers are (m-2) and (m-5), it means that the row-valued transformation parameter applies only to the (m-2)th row of data and the (m-5th row of data). The decompression device only performs the inverse processing of the row-valued transformation processing on the (m-2)th row of data and the (m-5th row of data, and does not process the data of other rows.

[0210] Optionally, if the preprocessing parameters include at least two sets of row value transformation parameters, the preprocessing parameters also include at least two row numbers, each row number corresponding to a set of row value transformation parameters. The decompression device performs an inverse of the row value transformation process on the row indicated by the corresponding row number based on each set of row value transformation parameters.

[0211] In this embodiment, the decompression device can perform the inverse processing of the row value transformation processing on the matrix data obtained by the decompression processing based on the row value transformation parameters, which is conducive to restoring the numerical differences of data elements in the same row and / or the numerical differences of data elements in different rows.

[0212] In another possible embodiment, if the preprocessing parameters include the column length of each column of data in the original data and the column length of the matrix data, the preprocessing includes a matrix filling process, where the matrix filling process is used to fill the data into matrix data. Specifically, the decompression device performs an inverse process of the matrix filling process on the matrix data based on the column length of each column of data in the original data and the column length of the matrix data, and outputs the data to be filled. The matrix data is the data obtained by performing the matrix filling process on the original data, and the data to be filled is the original data or the data obtained by performing at least one column shift process on the original data.

[0213] For example, using FIG3A as an example, the original data includes n columns of data, and the first data elements of each column of data are aligned. The decompression device removes several data elements at the end of each column of data based on the difference between the column length of the matrix data and the column length of each column of data in the original data, thereby obtaining the data before the padding process.

[0214] In this embodiment, the decompression device can perform the inverse process of the matrix filling process on the matrix data based on the column length of each column of data and the column length of the matrix data, which is conducive to eliminating the filling values ​​added to construct the matrix data and avoiding the filling values ​​affecting the original data.

[0215] In another possible embodiment, if the preprocessing parameters include a column shift parameter and the length of each column of data in the original data, the preprocessing is a column shift process, where the column shift process is used to shift at least one column of data along the column direction. Specifically, based on the column shift parameter and the length of each column of data in the original data, the decompression device performs the inverse of the column shift process on the data to be padded, and outputs the original data. The data to be padded is the data obtained by performing at least one column shift process on the original data.

[0216] In this embodiment, the decompression device can perform the inverse column shift processing on the padded data based on the column shift parameter and the column length of each column of data in the original data, which is conducive to restoring the row and column arrangement characteristics of the original data and improving the accuracy of data restoration.

[0217] In this application, a decompression device obtains compressed data and first information. This first information is used by the decompression device to determine, based on the compressed data, the data to be compressed before compression and the original data before preprocessing, so that the decompression device can restore the compressed data to the original data based on the first information. Even if the compression device has preprocessed the original data, the decompression device can quickly and efficiently restore the compressed data to the original data based on the first information. This helps improve the efficiency of data decompression.

[0218] In addition, as shown in FIG9 and FIG10 , the present application also provides a data transmission method, which is used to solve the problem of irregular data transmission between communication devices and occupying a large air interface overhead.

[0219] 9 is an example of a method for data transmission in which the compression device is integrated into the access network device and the decompression device is integrated into the terminal device. The method includes the following steps:

[0220] Step 901: The access network device sends first configuration information; accordingly, the terminal device receives the first configuration information.

[0221] The first configuration information is used to configure information used by the terminal device in determining the original data based on the compressed data. Original data is data that the access network device needs to send to the terminal device, and compressed data is data generated by the access network device based on the original data after preprocessing and compression. Compressed data occupies less transmission resources than original data. This means that the first configuration information configures information used by the decompression device in the terminal device during the decompression process and the inverse of the preprocessing process.

[0222] Optionally, the first configuration information includes a compression type, which is used to instruct the terminal device to determine what kind of decompression processing to perform on the received compressed data. Optionally, the first configuration information includes basic compression parameters, which refer to compression parameters that do not change with changes in the content of the original data transmitted each time. For example, if the matrix compression algorithm is a low-rank matrix approximation LRMA compression algorithm, and the matrix data determined by the access network device as input to the matrix compression algorithm uses a fixed number of rows and a fixed number of columns, then the basic compression parameters include the number of rows and the number of columns.

[0223] Optionally, the first configuration information includes a preprocessing rule, which is used to instruct the terminal device to determine the inverse processing corresponding to the preprocessing used in the process of restoring the original data. For example, the preprocessing rule includes a matrix filling process and a row value transformation process, then the terminal device can determine based on the preprocessing rule to first perform the inverse processing of the row value transformation process on the decompressed data, and then perform the inverse processing of the matrix filling process. For another example, the preprocessing rule includes a column translation process, a matrix filling process and a row value transformation process, then the terminal device can determine based on the preprocessing rule to first perform the inverse processing of the row value transformation process on the decompressed data, then perform the inverse processing of the matrix filling process, and then perform the inverse processing of the column translation process. There are many ways to implement the preprocessing rules, and there are also many corresponding inverse processing methods. For details, please refer to the relevant introduction in the corresponding embodiment of Figure 7 above, which will not be repeated here.

[0224] Optionally, the first configuration information also includes basic preprocessing parameters, which are preprocessing parameters that do not change with changes in the content of the original data transmitted each time. The access network device may use these basic preprocessing parameters each time it performs preprocessing on the original data. The access network device notifies the terminal device of these basic preprocessing parameters via the first configuration information, which helps simplify the preprocessing parameters for subsequent transmissions, reduces air interface overhead for transmitting the first information, and improves data transmission efficiency.

[0225] In one example, the basic preprocessing parameters include the number of columns, which is used to indicate the number of column data contained in the original data. For example, the number of columns of original data that the access network device may transmit multiple times is the same, and the access network device may notify the terminal device of the number of columns through the first configuration information. In another example, the basic preprocessing parameters include the column length of the matrix data. For example, the access network device may construct the original data into m rows and n columns of data before sending the original data multiple times, that is, the matrix compression algorithm used by the access network device in multiple transmissions uses matrix data of the same size as input. In actual applications, based on the different preprocessing methods used by the access network device, the access network device may carry different basic preprocessing parameters in the first configuration information, which will not be described here.

[0226] It should be understood that the aforementioned second configuration information can be carried in the radio resource control (RRC) signaling or other high-level signaling to be configured to the terminal device, or it can be dynamically indicated to the terminal device on demand through downlink control information (DCI), MAC control element (MAC Control Element, MAC CE) and other signaling, and this application is not limited.

[0227] It should be understood that step 901 is an optional step. When the original data transmitted by the access network device at different times differ significantly, or the access network device uses different preprocessing rules or preprocessing parameters for different original data, the access network device may skip step 901 and directly execute step 902.

[0228] Step 902: The access network device obtains pre-processing rules corresponding to the original data.

[0229] Optionally, the preprocessing rule is related to feature information of the original data.

[0230] It should be noted that in this embodiment, there is no clear time sequence limitation between step 901 and step 902, that is, the access network device can execute step 901 first and then step 902, or the access network device can execute step 902 first and then step 901, or the access network device can execute step 901 and step 902 at the same time, which is not limited in this application.

[0231] In step 903 , the access network device performs preprocessing on the original data based on the preprocessing rules to obtain data to be compressed, and performs compression processing on the data to be compressed using a matrix compression algorithm to output compressed data.

[0232] Step 903 is similar to step 102 above. Please refer to the relevant introduction in step 102 above for details, which will not be repeated here.

[0233] Step 904: The access network device sends the compressed data and the first information; correspondingly, the terminal device receives the compressed data and the first information.

[0234] The first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in the preprocessing process.

[0235] It should be understood that the preprocessing parameters in the first information may be part of the preprocessing parameters used by the terminal device in the process of restoring the original data. For example, if the preprocessing rules obtained by the access network device include matrix filling processing and row value transformation processing, the preprocessing parameters that the access network device needs to send to the terminal device include the column length of each column of data in the original data, the column length of the matrix data, and the row value transformation parameters. If the access network device has configured the column length of each column of data in the original data and the column length of the matrix data in the first configuration information in step 901, the first information may only carry the row value transformation parameters. In the case where the access network device notifies the terminal device of the basic preprocessing parameters through the first configuration information, the first information can carry part of the preprocessing parameters, which is beneficial to saving the air interface overhead of transmitting the first information and improving the efficiency of data transmission.

[0236] Furthermore, the preprocessing parameters in the first information may be all preprocessing parameters used by the terminal device in restoring the original data. Transmitting all preprocessing parameters by the access network device helps ensure data transmission reliability and reduces the likelihood that the terminal device will be unable to accurately restore the original data due to incomplete preprocessing parameters.

[0237] In this step, for the specific explanation of the compression parameters and preprocessing parameters, please refer to the relevant introduction in the embodiment corresponding to Figure 1 above, which will not be repeated here.

[0238] In step 905 , the access network device decompresses the compressed data based on the first information to obtain data to be compressed; performs inverse processing corresponding to the preprocessing on the data to be compressed based on the first information to output original data.

[0239] Step 905 is similar to step 103 above. Please refer to the relevant introduction in step 103 above for details, which will not be repeated here.

[0240] In this embodiment, the access network device preprocesses and compresses the data to be transmitted to the terminal device, then sends the compressed data and first information to the terminal device, so that the terminal device can restore the compressed data to the original data based on the first information. Preprocessing and compression can reduce the air interface overhead occupied by the access network device in sending compressed data, thereby improving air interface transmission efficiency.

[0241] 10 is an example of a method for data transmission in which the compression device is integrated into the terminal device and the decompression device is integrated into the access network device. The method includes the following steps:

[0242] Step 1001: The access network device sends second configuration information; accordingly, the terminal device receives the second configuration information.

[0243] The second configuration information is used to configure information used by the terminal device in determining compressed data based on the original data. Original data refers to data that the terminal device needs to send to the access network device, while compressed data is data generated by the terminal device after preprocessing and compressing the original data. Compressed data consumes less transmission resources than original data. This means that the second configuration information configures information used by the compression device in the terminal device during the compression and preprocessing processes.

[0244] Optionally, the second configuration information includes a preprocessing rule, which is used to instruct the terminal device on what kind of preprocessing to perform on the original data. For example, the preprocessing rule includes matrix filling processing and row value transformation processing, then the terminal device is configured to first perform matrix filling processing on the original data based on the preprocessing rule, and then perform row value transformation processing. For another example, the preprocessing rule includes column translation processing, matrix filling processing and row value transformation processing, then the terminal device first performs column translation processing on the original data based on the preprocessing rule, then performs matrix filling processing, and then performs row value transformation processing. There are many ways to implement the preprocessing rules. Please refer to the relevant introduction in the embodiment corresponding to Figure 1 above for details, which will not be repeated here.

[0245] Optionally, the second configuration information includes a compression type, which is used to instruct the terminal device to determine what type of compression processing to perform on the original data. Optionally, the second configuration information includes basic compression parameters, which refer to compression parameters that do not change with changes in the content of the original data transmitted each time. For example, if the matrix compression algorithm is a low-rank matrix approximation LRMA compression algorithm, the access network device can configure a fixed number of rows and a fixed number of columns for the terminal device, so that the terminal device uses fixed-size matrix data as input to the matrix compression algorithm during compression processing.

[0246] It should be understood that the aforementioned first configuration information can be carried in RRC signaling or other high-level signaling to be configured to the terminal device, or it can be dynamically indicated to the terminal device on demand through signaling such as DCI, MAC CE, etc., and this application does not limit it.

[0247] Step 1002: The terminal device obtains pre-processing rules corresponding to the original data.

[0248] Step 1002 is an optional step.

[0249] In one possible implementation, if the second configuration information in step 1001 has configured a preprocessing rule, the terminal device may perform preprocessing on the original data based on the preprocessing rule indicated by the second configuration information. In this case, the terminal device may only perform step 1001 and not step 1002.

[0250] In another possible implementation, if the second configuration information in step 1001 does not configure a pre-processing rule, the terminal device may determine the pre-processing rule based on the original data to be transmitted to the access network device. In this case, the terminal device executes step 1002.

[0251] In step 1003 , the terminal device performs preprocessing on the original data based on the preprocessing rules to obtain data to be compressed, and performs compression processing on the data to be compressed using a matrix compression algorithm to output the compressed data.

[0252] Step 1003 is similar to step 102 above. Please refer to the relevant introduction in step 102 above for details, which will not be repeated here.

[0253] Step 1004: The terminal device sends compressed data and first information; correspondingly, the access network device receives the compressed data and first information.

[0254] In step 1005, the terminal device performs decompression processing on the compressed data based on the first information to obtain data to be compressed; performs inverse processing corresponding to the preprocessing on the data to be compressed based on the first information to output original data.

[0255] Step 1005 is similar to step 103 above. Please refer to the relevant introduction in step 103 above for details, which will not be repeated here.

[0256] In this embodiment, the terminal device preprocesses and compresses the data to be transmitted to the access network device, then sends the compressed data and first information to the access network device, so that the access network device can restore the compressed data to the original data based on the first information. Preprocessing and compression can reduce the air interface overhead occupied by the terminal device sending compressed data, thereby improving air interface transmission efficiency.

[0257] Corresponding to the scheme given in the above method embodiment, the embodiment of the present application also provides a corresponding device (e.g., a communication device), which includes a module or unit for executing each part of the above embodiment. The module or unit can be software, hardware, or a combination of software and hardware. The following is only a brief description of the device and system. For the implementation details of the scheme, reference can be made to the description of the above method embodiment, which will not be repeated below.

[0258] As shown in Figure 11, a schematic diagram of the structure of another device 110 provided in this embodiment is provided. It should be understood that the compression device in the method embodiment corresponding to Figure 1 above, or the decompression device in the method embodiment corresponding to Figure 7 above, can be based on the structure of the device 110 shown in Figure 11 of this embodiment. As shown in Figure 11, the device 110 may include a processor 1101. Optionally, the device 110 may also include a memory 1103 and a communication interface 1102. The processor 1101 is coupled to the memory 1103, and the processor 1101 is coupled to the communication interface 1102.

[0259] The aforementioned communication interface 1102 is connected to other devices via a communication link. For example, the communication interface 1102 may include an interface between the device 110 and other devices. For example, if the device 110 is a compression device, the communication interface 1102 may be an interface with a decompression device. For another example, if the device 110 is a decompression device, the communication interface 1102 may be an interface with a compression device.

[0260] The processor 1101 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or any combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processor 1101 may be a single processor or may include multiple processors, which is not specifically limited herein.

[0261] In addition, the aforementioned memory 1103 is mainly used to store software programs and data. The memory 1103 can exist independently and be connected to the processor 1101. Optionally, the memory 1103 can be integrated with the processor 1101, for example, integrated into one or more chips. Among them, the memory 1103 can store program codes for executing the technical solutions of the embodiments of the present application, and is controlled and executed by the processor 1101. The various types of computer program codes executed can also be regarded as drivers for the processor 1101. The memory 1103 may include volatile memory (volatile memory), such as random-access memory (RAM); the memory may also include non-volatile memory (non-volatile memory), such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid-state drive (SSD); the memory 1103 may also include a combination of the above types of memory. The memory 1103 may refer to one memory or may include multiple memories. Exemplarily, the memory 1103 is used to store various data, such as the aforementioned preprocessing rules, the aforementioned preprocessing parameters, the aforementioned compression parameters, etc. For details, please refer to the relevant introduction in the above embodiments, which will not be repeated here.

[0262] In one design, the device 110 is configured to execute the method of the compression device in the embodiment corresponding to FIG1 . The processor 1101 is configured to: obtain a preprocessing rule corresponding to original data, where the original data includes at least one column of data; preprocess the original data based on the preprocessing rule to obtain data to be compressed, where the data to be compressed is matrix data; and compress the data to be compressed using a matrix compression algorithm, outputting the compressed data. The matrix compression algorithm is configured to compress the matrix data.

[0263] In one possible implementation, the preprocessing rule includes at least one of the following preprocessing methods:

[0264] Matrix filling processing, the matrix filling processing is used to fill the data to be processed into matrix data; or,

[0265] Column translation processing, the column translation processing is used to translate at least one column of the data to be processed along the column direction; or,

[0266] Row value transformation processing is used to process the numerical value of at least one data element in at least one row of data in the data to be processed; wherein the data to be processed is the original data or the data obtained by at least one preprocessing of the original data.

[0267] In one possible implementation, the preprocessing rule is related to feature information of the original data, and the feature information includes at least one of the following:

[0268] Information indicating a difference in column lengths of at least two columns of data in the original data; or,

[0269] Information indicating the difference in the values ​​of data elements contained in the same row of data in the original data; or,

[0270] Information indicating the difference in values ​​between data elements contained in at least two rows of data in the original data.

[0271] In one possible implementation, the preprocessing rule includes matrix filling processing. The processor 1101 is specifically configured to: perform matrix filling processing on the data to be filled, outputting matrix data, wherein the column lengths of at least two columns of the data to be filled are not completely equal, the column lengths of any two columns of the matrix data are equal, and the data to be filled is original data or data obtained by performing at least one column shift processing on the original data.

[0272] In a possible implementation, the pre-processing rule includes column shifting. The processor 1101 is specifically configured to perform column shifting on the original data and output data to be filled.

[0273] In a possible implementation, the preprocessing rule includes row value transformation processing. The processor 1101 is specifically configured to perform row value transformation processing on matrix data and output data to be compressed, where the matrix data is original data or data obtained by performing matrix filling processing on the original data.

[0274] In a possible implementation, the processor 1101 is further configured to determine a preprocessing rule corresponding to the original data based on feature information of the original data.

[0275] In a possible implementation, the communication interface 1102 is configured to receive configuration information, where the configuration information includes pre-processing rules.

[0276] In one possible embodiment, the communication interface 1102 is also used to send compressed data and first information to the decompression device, and the first information is used by the decompression device to determine the data to be compressed and the original data based on the compressed data. The first information includes the compression parameters of the matrix compression algorithm and the preprocessing parameters used in the preprocessing process.

[0277] It should be noted that the specific implementation and beneficial effects of this embodiment can be referred to the method of the compression device in the above embodiment, which will not be repeated here.

[0278] In another design, the device 110 is configured to execute the method of the decompression device in the embodiment corresponding to FIG. 7 , wherein the communication interface 1102 is configured to obtain compressed data and first information, wherein the compressed data is data obtained by compressing the data to be compressed using a matrix compression algorithm, and the data to be compressed is data obtained by preprocessing the original data; the processor 1101 is configured to decompress the compressed data based on the first information to obtain the data to be compressed, wherein the data to be compressed is matrix data; and, based on the first information, perform an inverse process corresponding to the preprocessing on the compressed data to output the original data, wherein the original data includes at least one column of data.

[0279] In a possible implementation, the first information includes compression parameters of a matrix compression algorithm and preprocessing parameters used in a preprocessing process.

[0280] In one possible implementation, the preprocessing parameters include at least one of the following:

[0281] The length of each column in the original data; or,

[0282] The number of columns is used to indicate the number of column data contained in the original data; or,

[0283] Column shift parameter, which is used to indicate the column shift amount of each column of data in the column shift process; or,

[0284] The column length of the matrix data; or,

[0285] The row value transformation parameter is used to indicate the translation and / or scaling of the value of each row of data relative to the value before the row value transformation during the row value transformation process.

[0286] In one possible implementation, the preprocessing parameters include row value transformation parameters; the preprocessing includes row value transformation processing, which is used to process the value of at least one data element in at least one row of data. Processor 1101 is specifically configured to perform an inverse process of the row value transformation processing on the data to be compressed based on the row value transformation parameters, and output matrix data before the row value transformation processing, where the matrix data before the row value transformation processing is the original data or data obtained by performing a matrix filling process on the original data.

[0287] In one possible implementation, the preprocessing parameters include the column length of each column of data in the original data and the column length of the matrix data; the preprocessing includes matrix filling processing, which is used to fill the data into matrix data. The processor 1101 is specifically configured to perform an inverse process of the matrix filling processing on the matrix data based on the column length of each column of data in the original data and the column length of the matrix data, and output data to be filled; wherein the matrix data is data obtained by performing the matrix filling processing on the original data, and the data to be filled is the original data or data obtained by performing at least one column shift processing on the original data.

[0288] In one possible implementation, the data to be padded is data obtained by subjecting the original data to at least one column shift process; the preprocessing parameters include a column shift parameter and the column length of each column of data in the original data; the preprocessing is a column shift process, which is used to shift at least one column of data along the column direction. The processor 1101 is specifically configured to perform an inverse process of the column shift process on the data to be padded based on the column shift parameter and the column length of each column of data in the original data, and output the original data.

[0289] It should be noted that the specific implementation and beneficial effects of this embodiment can be referred to the method of the decompression device in the above embodiment, which will not be repeated here.

[0290] As shown in Figure 12, the present application also provides a device 120. The device 120 can be a compression device or a decompression device. If the device 120 is applied to a communication system, the device 120 can be integrated into a communication device, and the communication device can be a terminal device or an access network device, or a component of the terminal device or the access network device (for example, an integrated circuit, a chip, etc.). For example, in the embodiment shown in Figure 9, the compression device is integrated into the access network device, and the decompression device is integrated into the terminal device. For another example, in the embodiment shown in Figure 10, the compression device is integrated into the terminal device, and the decompression device is integrated into the access network device.

[0291] The apparatus 120 may include a processing module 1201 (or a processing unit). Optionally, it may also include an interface module 1202 (or a transceiver unit or transceiver module) and a storage module 1203 (or a storage unit). The interface module 1202 is used to implement communication with other devices. For example, the interface module 1202 may be a transceiver module or an input / output module.

[0292] In one possible design, one or more modules in FIG12 may be implemented by one or more processors, or by one or more processors and memories, or by one or more processors and transceivers, or by one or more processors, memories, and transceivers, which are not limited in this embodiment of the present application. The processors, memories, and transceivers may be provided separately or integrated.

[0293] The device 120 has the function of implementing the compression device described in the embodiment of the present application. For example, the device 120 includes a module or unit or means corresponding to the steps involved in the compression device described in the embodiment of the present application. The function or unit or means can be implemented by software, or by hardware, or by hardware executing the corresponding software implementation, or by a combination of software and hardware. For details, please refer to the corresponding description in the method embodiment corresponding to Figure 1 above, which will not be repeated here.

[0294] Alternatively, the device 120 has the function of implementing the decompression device described in the embodiment of the present application. For example, the device 120 includes a module, unit, or means corresponding to the steps involved in the decompression device described in the embodiment of the present application. The function, unit, or means can be implemented by software, or by hardware, or by hardware executing the corresponding software implementation, or by a combination of software and hardware. For details, please refer to the corresponding description in the method embodiment corresponding to Figure 7 above.

[0295] In addition, the present application provides a computer program product comprising one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. For example, the method related to the compression device in Figure 1 is implemented. For another example, the method related to the decompression device in Figure 7 is implemented. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be stored by a computer or a data storage device such as a server or data center that includes one or more available media integrated therein. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital versatile disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).

[0296] In addition, the present application also provides a computer-readable storage medium, which stores a computer program. The computer program is executed by a processor to implement a method related to the compression device in Figure 1 as described above.

[0297] In addition, the present application also provides a computer-readable storage medium, which stores a computer program. The computer program is executed by a processor to implement a method related to the decompression device in Figure 7 as described above.

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

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

Claims

1. A data compression method, characterized in that: Applications in compression devices, including: Acquire a preprocessing rule corresponding to original data, wherein the original data includes at least one column of data; Preprocessing the original data based on the preprocessing rule to obtain data to be compressed, where the data to be compressed is matrix data; A matrix compression algorithm is used to perform compression processing on the data to be compressed, and compressed data is output. The matrix compression algorithm is used to perform compression processing on matrix data.

2. The method according to claim 1, characterized in that The preprocessing rules include at least one of the following preprocessing methods: Matrix filling processing, wherein the matrix filling processing is used to fill the data to be processed into matrix data; or, Column translation processing, wherein the column translation processing is used to translate at least one column of the data to be processed along the column direction; or, A row value transformation process, wherein the row value transformation process is used to process the value of at least one data element in at least one row of data in the data to be processed; The data to be processed is the original data or data obtained by preprocessing the original data at least once.

3. The method according to claim 1, characterized in that The preprocessing rule is related to the characteristic information of the original data, and the characteristic information includes at least one of the following: information indicating a difference in column lengths of at least two columns of data in the original data; or, Information indicating the difference in values ​​of data elements contained in the same row of data in the original data; or, Information indicating the difference in values ​​of data elements included in at least two rows of data in the original data.

4. The method according to claim 2, characterized in that: The pre-processing rules include the matrix filling process; The preprocessing of the original data based on the preprocessing rule comprises: Matrix filling processing is performed on the data to be filled, and matrix data is output, wherein the column lengths of at least two columns of the data to be filled are not completely equal, the column lengths of any two columns of the matrix data are equal, and the data to be filled is the original data or the data obtained by the original data after at least one column shift processing.

5. The method according to claim 4, characterized in that The pre-processing rules include the column translation process; Before performing matrix filling processing on the data to be filled and outputting the matrix data, the method further comprises: Column shift processing is performed on the original data, and the data to be filled is output.

6. The method according to any one of claims 3 to 5, characterized in that The pre-processing rules include the row value transformation process; The method further comprises: Performing row value transformation processing on matrix data and outputting data to be compressed, wherein the matrix data is the original data or data obtained by performing the matrix filling processing on the original data.

7. The method according to any one of claims 1 to 6, characterized in that: The obtaining of preprocessing rules corresponding to the original data includes: Determine a preprocessing rule corresponding to the original data based on the feature information of the original data; or, Configuration information is received, the configuration information including the pre-processing rule.

8. The method according to any one of claims 1 to 7, characterized in that The method further comprises: The compressed data and first information are sent to a decompression device, wherein the first information is used by the decompression device to determine the data to be compressed and the original data based on the compressed data, and the first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in the preprocessing process.

9. The method according to claim 8, characterized in that The preprocessing parameters include at least one of the following: The column length of each column of data in the original data; or The number of columns is used to indicate the number of column data included in the original data; or A column shift parameter, wherein the column shift parameter is used to indicate the column shift amount of each column of data in the column shift process; or The column length of the matrix data; or, Row value transformation parameters, where the row value transformation parameters are used to indicate the translation and / or scaling of the value of each row of data in the row value transformation process relative to the value before the row value transformation.

10. A data decompression method, characterized in that: Applicable to decompression devices, including: Acquire compressed data and first information, wherein the compressed data is data obtained by performing compression processing on the data to be compressed using a matrix compression algorithm, and the data to be compressed is data obtained by performing preprocessing on the original data; Decompressing the compressed data based on the first information to obtain the data to be compressed, where the data to be compressed is matrix data; Based on the first information, an inverse process corresponding to the preprocessing is performed on the data to be compressed, and the original data is output, where the original data includes at least one column of data.

11. The method according to claim 10, characterized in that The first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in the preprocessing process.

12. The method according to claim 11, characterized in that The preprocessing parameters include at least one of the following: The column length of each column of data in the original data; or The number of columns is used to indicate the number of column data included in the original data; or A column shift parameter, wherein the column shift parameter is used to indicate the column shift amount of each column of data in the column shift process; or The column length of the matrix data; or, Row value transformation parameters, where the row value transformation parameters are used to indicate the translation and / or scaling of the value of each row of data in the row value transformation process relative to the value before the row value transformation.

13. The method according to claim 12, characterized in that The preprocessing parameters include row value transformation parameters; the preprocessing includes row value transformation processing, and the row value transformation processing is used to process the value of at least one data element in at least one row of data; The performing an inverse process corresponding to the preprocessing on the to-be-compressed data based on the first information includes: Based on the row value transformation parameters, the inverse process of the row value transformation is performed on the data to be compressed, and the matrix data before the row value transformation is output. The matrix data before the row value transformation is the original data or the data obtained by the original data after matrix filling processing.

14. The method according to claim 12 or 13, characterized in that The preprocessing parameters include the column length of each column of data in the original data and the column length of the matrix data; The preprocessing includes a matrix filling process, and the matrix filling process is used to fill the data into matrix data; The method further comprises: Based on the column length of each column of data in the original data and the column length of the matrix data, the inverse process of the matrix filling process is performed on the matrix data, and the data to be filled is output; wherein the matrix data is the data obtained by the original data after the matrix filling process, and the data to be filled is the original data or the data obtained by the original data after at least one column translation process.

15. The method according to claim 14, characterized in that The data to be filled is data obtained by processing the original data with at least one column shift; the preprocessing parameters include a column shift parameter and a column length of each column of data in the original data; The preprocessing is a column shifting process, and the column shifting process is used to shift at least one column of data along the column direction; The method further comprises: Based on the column shift parameter and the column length of each column of data in the original data, an inverse process of the column shift process is performed on the data to be filled, and the original data is output.

16. The method according to any one of claims 10 to 15, characterized in that The data to be compressed is data obtained by preprocessing the original data based on a preprocessing rule, and the preprocessing rule is related to feature information of the original data.

17. The method according to claim 16, characterized in that The characteristic information includes at least one of the following: information indicating a difference in column lengths of at least two columns of data in the original data; or, Information indicating the difference in values ​​of data elements contained in the same row of data in the original data; or, Information indicating the difference in values ​​of data elements included in at least two rows of data in the original data.

18. A device, characterized in that: The apparatus comprises a module for executing the method as claimed in any one of claims 1 to 9; or, comprises a module for executing the method as claimed in any one of claims 10 to 17.

19. A device, characterized in that: The method comprises a processor configured to execute the method according to any one of claims 1 to 9; or configured to execute the method according to any one of claims 10 to 17.

20. A computer-readable storage medium, characterized in that: Instructions are stored, and when the instructions are executed on a computer, the computer is caused to execute the method according to any one of claims 1 to 9; or the method according to any one of claims 10 to 17.

Citation Information

Patent Citations

  • A compression method and system and a decompression method and system of output data

    CN109039342A

  • Genotype information compression method and device and computer readable storage medium

    CN115691683A

  • Data compression method for use in downhole applications

    US20090192711A1

  • Method and system for data compression and data storage optimization

    US20190377498A1