Data compression method, data decompression method and related devices
By preprocessing irregular data and converting it into matrix data suitable for matrix compression algorithms, the problem of matrix compression algorithm processing irregular data is solved, and efficient compression and decompression of data is achieved.
Patent Information
- Application Number
- CN202311524615.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-15
- Publication Date
- 2025-05-16
AI Technical Summary
Existing matrix compression algorithms are difficult to process irregular data, resulting in the inability to effectively compress and decompress.
By obtaining the preprocessing rules of the original data, matrix filling, column translation or row value transformation are performed, and irregular data is converted into matrix data suitable for the matrix compression algorithm, thereby realizing data compression and decompression.
The problem of the matrix compression algorithm for irregular data is solved, and the efficiency of data compression and decompression is improved.
Smart Images

Figure CN120017070A_ABST
Abstract
Description
Technical Field
[0001] 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
[0002] Data compression refers to a technical method that reorganizes data according to a certain algorithm to reduce data redundancy without losing useful information, so as to facilitate data transmission with less transmission resources. Generally, the compression algorithm has certain requirements on the format of the data to be compressed. For example, the matrix compression algorithm requires that the data to be compressed is matrix data, that is, the data to be compressed can be arranged into a matrix with m rows and n columns, where m and n are both integers greater than or equal to 1.
[0003] However, the data in some scenarios is irregular and may not be suitable for matrix compression algorithms. Summary of the invention
[0004] 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 by a matrix compression algorithm to the original irregular data.
[0005] In a first aspect, the present application provides a data compression method, which can be executed by a compression device or by a component of the compression device (e.g., a processor, a chip, or a chip system). Taking the compression device as an example, the compression device obtains a preprocessing rule corresponding to the original data, and the original data includes at least one column of data; then, the compression device performs preprocessing on the original data based on the preprocessing rule to obtain data to be compressed, and 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, and the matrix compression algorithm is used to perform compression processing on the matrix data.
[0006] In this embodiment, the compression device can obtain a preprocessing rule corresponding to the original data, and the compression device processes the original data into matrix data based on the preprocessing rule, and then the compression device can use the matrix compression algorithm to perform compression processing on the matrix data. Because the compression device can process the original data into matrix data suitable for the matrix compression algorithm before performing the matrix compression processing, so that the original data can be used as the input of the matrix compression algorithm, the problem of being unable to use the matrix compression algorithm due to the irregularity of the original data is avoided, which is conducive to improving the efficiency of data compression.
[0007] In a possible implementation manner, the original data is irregular data.
[0008] Optionally, the irregular data includes data with unequal column lengths and / or data with uneven row values.
[0009] Optionally, the irregular data includes data with unequal row lengths and / or data with uneven column values.
[0010] In this embodiment, since the compression device can process irregular original data into matrix data suitable for the matrix compression algorithm based on the 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.
[0011] In a possible implementation manner, the preprocessing rule includes at least one of the following preprocessing methods:
[0012] Matrix filling processing, the matrix filling processing is used to fill the data to be processed into matrix data; or,
[0013] 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,
[0014] Row value transformation processing, row value transformation processing 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; wherein the data to be processed is the original data or the data obtained by at least one preprocessing of the original data.
[0015] In the present embodiment, the matrix filling process can fill non-matrix data into matrix data, so that the data after the matrix filling process can be applied to the compression algorithm requiring the input as matrix data, which is conducive 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 conducive to reducing the approximate 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 conducive to reducing the numerical difference of the data elements in the same row, and / or reducing the numerical difference of the data elements in different rows, thereby helping to improve the performance of the subsequent compression process.
[0016] In a possible implementation manner, the preprocessing rule is related to feature information of the original data.
[0017] 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 helps to realize on-demand personalized preprocessing according to the characteristics of the original data, thereby improving the efficiency of data compression.
[0018] In a possible implementation manner, the characteristic information includes at least one of the following:
[0019] Information indicating a difference in column lengths of at least two columns of data in the original data; or,
[0020] Information indicating the difference in the values of data elements contained in the same row of data in the original data; or,
[0021] Information indicating the difference in values of data elements contained in at least two rows of data in the original data.
[0022] 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 the problem of uneven row values in the same row of the original data. 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 the problem of uneven numerical values of data elements in different rows of the original data.
[0023] 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.
[0024] In a possible implementation, 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, outputs matrix data, 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 translation process.
[0025] 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 at least includes matrix filling processing.
[0026] 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 that requires the input to be matrix data, which is beneficial to improving the efficiency of subsequent data compression.
[0027] In a possible implementation, the preprocessing rule includes column shift processing. 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 shift processing on the original data and outputs the data to be filled.
[0028] For example, if the compression device determines that the characteristic information of the original data includes information indicating the numerical difference 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 shift processing.
[0029] In this implementation, the column shift processing can shift at least one column of data along the column direction, so that the numerical difference of the data elements in the same row is reduced after the column shift processing, which is helpful to reduce the approximate error that may be introduced in the subsequent compression process.
[0030] In a possible implementation, the preprocessing rule includes a row value transformation process. After the compression device performs the matrix filling process, or the compression device targets the original data, the method further includes: the compression device performs a row value transformation process on the matrix data, and outputs the data to be compressed, where the matrix data is the original data or the data obtained by the original data after the matrix filling process.
[0031] 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, the compression device determines that the preprocessing rules at least include row value transformation processing.
[0032] In this embodiment, the row value transformation process 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 conducive to reducing the difference in values of data elements in the same row, and / or reducing the difference in values of data elements in different rows, thereby facilitating improving the performance of subsequent compression processing.
[0033] In a possible implementation, the compression device may have multiple ways of obtaining the preprocessing rules corresponding to the original data:
[0034] In one example, the compression device determines the preprocessing rules corresponding to the original data based on the characteristic information of the original data. In this example, the compression device can determine the preprocessing rules corresponding to the original data based on the characteristic information of the original data, and can determine the preprocessing rules on demand based on the characteristic information of the original data, thereby improving the matching degree between the preprocessing rules and the original data, thereby improving the efficiency of the preprocessing, and thereby improving the efficiency of the subsequent compression processing.
[0035] In another example, the compression device receives configuration information, and the configuration information includes preprocessing rules. The configuration information may be manually configured or sent by other devices. In this example, the compression device can receive configuration information carrying preprocessing rules, which is conducive to the compression device quickly obtaining the preprocessing rules corresponding to the original data, saving the processing overhead of the compression device.
[0036] 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 preprocessing items 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 which one or several preprocessing items need to be performed on the original data after the original data is acquired, and then the data after the preprocessing needs to be compressed, and the compressed data needs to be 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.
[0037] In a possible implementation manner, after the compression device outputs the compressed data, the method further includes:
[0038] 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.
[0039] 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.
[0040] In this embodiment, in addition to sending the compressed data to the decompression device, the compression device also sends the first information to the decompression device, so that the decompression device restores the compressed data to the original data based on the first information. This is conducive to the decompression device accurately restoring the compressed data to the original data and improving the processing efficiency of the decompression device.
[0041] In a possible implementation, the preprocessing parameters include at least one of the following:
[0042] The length of each column in the original data; or,
[0043] The number of columns is used to indicate the number of column data contained in the original data; or,
[0044] A column shift parameter, which is used to indicate the column shift amount of each column of data in the column shift process; or,
[0045] The column length of the matrix data; or,
[0046] The row value transformation parameter is 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.
[0047] In this embodiment, the compression device carries preprocessing parameters in the first information sent, and the preprocessing parameters can reflect what preprocessing the compression device has performed on the original data and what parameters are used when performing the preprocessing. Therefore, it is beneficial for the decompression device to perform the inverse processing corresponding to the corresponding preprocessing based on the preprocessing parameters, thereby improving the efficiency of the decompression device in processing data.
[0048] 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 (for example, a processor, a chip, or a chip system). Taking the decompression device as an example, the decompression device obtains compressed data and first information, 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, and the data to be compressed 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, and the original data includes at least one column of data.
[0049] In the present application, the decompression device obtains the compressed data and the first information, and the first information is used by the decompression device to determine the data to be compressed before compression and the original data before preprocessing based on the compressed data, so that the decompression device can restore the compressed data to the original data based on the first information. Even if the compression device performs preprocessing on the original data, the decompression device can quickly and efficiently restore the compressed data to the original data based on the first information. This is conducive to improving the efficiency of data decompression.
[0050] In a possible implementation, the first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in the preprocessing process, wherein 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.
[0051] In a possible implementation, the preprocessing parameters include at least one of the following:
[0052] The length of each column in the original data; or,
[0053] The number of columns is used to indicate the number of column data contained in the original data; or,
[0054] A column shift parameter, which is used to indicate the column shift amount of each column of data in the column shift process; or,
[0055] The column length of the matrix data; or,
[0056] The row value transformation parameter is 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.
[0057] In a possible implementation, 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 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, and the matrix data before the row value transformation processing is the original data or the data obtained by the original data after the matrix filling processing.
[0058] 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 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 conducive to restoring the numerical differences of the data elements in the same row and / or the numerical differences of the data elements in different rows.
[0059] In a 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, and the matrix filling processing is used to fill the data into matrix data. The method also includes:
[0060] The decompression device performs the inverse processing 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 outputs the data to be filled; wherein the matrix data is the data obtained by the original data after the matrix filling processing, 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.
[0061] 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 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. Among them, 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. Since 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, it is conducive to eliminating the filling value added for constructing the matrix data, and avoiding the filling value from affecting the original data.
[0062] In a possible implementation, the data to be filled is data obtained by subjecting the original data to at least one column shift process; the preprocessing parameters include a column shift amount parameter and a 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 a column direction. The method further includes: the decompression device performs an inverse process of the column shift process on the data to be filled based on the column shift amount parameter and the column length of each column of data in the original data, and outputs the original data.
[0063] 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.
[0064] In a possible implementation manner, 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.
[0065] In a possible implementation manner, the characteristic information includes at least one of the following:
[0066] Information indicating a difference in column lengths of at least two columns of data in the original data; or,
[0067] Information indicating the difference in the values of data elements contained in the same row of data in the original data; or,
[0068] Information indicating the difference in values of data elements contained in at least two rows of data in the original data.
[0069] 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.
[0070] In a third aspect, an embodiment of the present application provides a device, which may be a compression device in the aforementioned embodiment, or a chip in 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, and the storage module may be a memory; the storage module is used to store instructions, and the processing module executes the instructions stored in the storage module so that the compression device executes the first aspect or the method in any one of the embodiments of the first aspect. When the device is a chip in a compression device, the processing module may be a processor, and the transceiver module may be an input / output interface, a pin or a circuit, etc.; the processing module executes the instructions stored in the storage module so that the compression device executes the first aspect or the method in any one of the embodiments of the first aspect. The storage module may be a storage module in the chip (for example, a register, a cache, etc.), or a storage module in the compression device located outside the chip (for example, a read-only memory, a random access memory, etc.).
[0071] In a fourth aspect, an embodiment of the present application provides a device, which may be a decompression device in the aforementioned embodiment, or a chip in 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, and the storage module may be a memory; the storage module is used to store instructions, and the processing module executes the instructions stored in the storage module, so that the first decompression device performs the second aspect or the method in any one of the embodiments of the second aspect. When the device is a chip in a decompression device, the processing module may be a processor, and the transceiver module may be an input / output interface, a pin or a circuit, etc.; the processing module executes the instructions stored in the storage module, so that the first decompression device performs the second aspect or the method in any one of the embodiments of the second aspect. The storage module may be a storage module in the chip (for example, a register, a cache, etc.), or a storage module in the decompression device located outside the chip (for example, a read-only memory, a random access memory, etc.).
[0072] 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, and the memory is used to store a program or instruction. When the program or instruction is executed by the processor, the communication device performs the method described in any one of the embodiments of the aforementioned various aspects.
[0073] 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.
[0074] 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.
[0075] 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 implementations of the first aspect, and a decompression device for executing the aforementioned second aspect and any one of the implementations of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0076] Figure 1 A flow chart of the data compression method proposed in this application;
[0077] Figure 2A This is an example diagram of the original data with the problem of unequal column lengths in this application;
[0078] Figure 2B This is an example diagram of the original data with uneven row values in this application;
[0079] Figure 2C An example diagram of the original data in this application having problems of unequal column lengths and uneven row values;
[0080] Figure 2D An example diagram of RF map data in a communication system;
[0081] Figure 3A An example diagram of the matrix filling process of this application;
[0082] Figure 3B Another example diagram of the matrix filling process of the present application;
[0083] Figure 3C Another example diagram of the matrix filling process of the present application;
[0084] Figure 3D Another example diagram of the matrix filling process of the present application;
[0085] Figure 4A An example diagram of the column translation process of the present application;
[0086] Figure 4B Another example diagram of the column translation process of the present application;
[0087] Figure 5 An example diagram of the row value transformation process of this application;
[0088] Fig. 6A Example diagram of pre-processing rules provided for this application;
[0089] Figure 6B An example diagram of the pre-processing process and compression process provided by this application;
[0090] Figure 7 A flow chart of the data decompression method proposed in this application;
[0091] Figure 8 An example diagram of the decompression process flow and the inverse process flow corresponding to the preprocessing provided by the present application;
[0092] Fig. 9 A flowchart of the data transmission method proposed in this application;
[0093] Fig.10 Another flowchart of the data transmission method proposed in this application;
[0094] Fig.11 A schematic diagram of an embodiment of the device provided in this application;
[0095] Fig.12 A schematic diagram of another embodiment of the device provided in the present application. DETAILED DESCRIPTION
[0096] 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, rather than all of the embodiments.
[0097] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way 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, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0098] 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 may 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 objects associated before and after are in an "or" relationship. In addition, "at least one of the following" or similar expressions in this article are 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.
[0099] The data compression method and data decompression method provided by the present application can be applied to scenarios where a matrix compression algorithm is required to be used to perform compression processing on irregular data. The data compression method and compression device are used to solve the problem of irregular data when a matrix compression algorithm is used, and the data decompression method and decompression device are used to restore data compressed by a matrix compression algorithm to the original irregular data.
[0100] It should be understood that the method and apparatus provided in the present application can be applied to scenarios involving data compression in communication systems, and can also be applied to scenarios involving data compression in other systems. Exemplarily, the aforementioned communication system can be a 5G NR (5G New Radio) system, the 6th generation mobile communication technology (6G) system, and subsequent evolution standards, which are not limited by the present application.
[0101] Taking the communication system as an example, the data compression method and / or data decompression method provided in the present application can be applied to a communication device. The compression device and / or decompression device provided in the present application can be a communication device, or a component in the communication device (for example, a processor, a chip, or a chip system, etc.). Among them, the communication device can be a terminal device or an access network device, which is not limited by the present application. 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-distance communication (proximity communication, PC5) as an example, the communication device mainly includes a terminal device.
[0102] 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 a 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 (e.g., 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., PC5 interface) and can communicate with other terminal devices supporting the PC5 interface through the PC5 interface. It should be understood that the terminal device may also be referred to as a terminal (Terminal), user equipment (UE), mobile terminal (MT) equipment, mobile station (MS), mobile station (mobile), remote station (remote station), access terminal equipment (access terminal) or user equipment (userdevice), etc. In addition, the terminal device may 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 sends the collected data to the access network device or other IOT terminals after a series of processing such as compression. 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, and so on.
[0103] In addition, the access network device can be any device with wireless transceiver function, which can be used to be responsible for air interface related functions, such as wireless link maintenance function, wireless resource management function, and part of mobility management function. In addition, the access network device can also be configured with a baseband unit (BBU) with baseband signal processing function. Exemplarily, the access network device can be the access network device (radio access network, RAN) currently providing services for the terminal device. At present, some common examples of access network equipment are: Node B (NB), evolved Node B (eNB or eNodeB), next generation node B (gNB) in 5G new radio (NR) system, node (e.g., xNodeB) in 6G system, 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 node (HNB)), etc. In addition, the access network equipment may include at least one of a centralized unit (CU) (also referred to as a control unit), a distributed unit (DU), and a radio unit (RU). Among them, the RAN equipment including the CU and the DU splits the protocol layer of the gNB in the NR system, places the functions of some protocol layers in the CU for centralized control, and distributes the functions of the remaining part or all of the protocol layers in the DU, and the CU centrally controls the DU.
[0104] It should be noted that if the method and device provided in the present application are applied to a scenario involving data compression in a communication system, the compression device and decompression device provided in the present application can be integrated into different communication devices, or integrated into different modules or units of the same communication device.
[0105] Exemplarily, 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 the access network device and the terminal device, and the access network device and the terminal device can transmit compressed data through the air interface. For another example, the compression device and the decompression device can be respectively integrated into two terminal devices that communicate through the PC5 communication interface, and the two terminal devices transmit compressed data through the PC5 communication interface.
[0106] Exemplarily, 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.
[0107] 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.
[0108] Combine the following Figure 1 The main process of the data compression method provided by the present application is introduced. The data compression method can be executed 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 a compression device as an example. Figure 1 As shown, the data compression method mainly includes the following steps:
[0109] Step 101: The compression device obtains preprocessing rules corresponding to the original data.
[0110] The original data may be irregular data, that is, data that is not suitable for being directly used as input of the matrix compression algorithm. Optionally, the original data may be arranged with column vectors as basic units or with row vectors as basic units.
[0111] In one embodiment, the original data is arranged with column vectors as basic units, and the original data includes data with unequal column lengths and / or data with uneven row values. The following are introduced respectively:
[0112] In a possible implementation, the original data may be data with unequal column 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 not equal to the number of data elements contained in another column of data in the original data. Since the data with unequal column lengths cannot be arranged into rectangular data, the data with unequal column lengths is also called non-rectangular data, that is, the original data is non-matrix data.
[0113] For example, Figure 2A As shown, 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 the data in column A1 is m1 (i.e., the data in column A1 contains m1 data elements), the length of the data in column A2 is m2 (i.e., the data in column A2 contains m2 data elements), the length of the data in column A3 is m3, and so on. Among the n data columns, at least two data columns contain unequal numbers of data elements, for example, the length of the data in column A1 is m1 and the length of the data in column A2 is m2.
[0114] In another possible implementation, the original data may be data with uneven row values. Specifically, if the original data is divided by columns, the original data includes at least one row of data, each row of data includes at least one data element, and there is at least one row of data in the original data with uneven row values. It should be understood that in this implementation, the original data is divided by rows, which means that when the original data is arranged with 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.
[0115] The uneven row values include uneven row values of the same row and / or uneven row values of different rows. The uneven row values of the same row refer to the fact that the value of one data element in the same row of data is significantly different from the value of another data element in the same row of data. In addition, the uneven row values of different rows refer to the fact that the value of a data element in one row of data is significantly different from the value of a data element in another row of data.
[0116] 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 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.
[0117] Optionally, if the original data includes multiple lines of data and the numbers of data elements included in the multiple lines of data are equal, the original data is called rectangular data.
[0118] For example, Figure 2B As shown, 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 row values in the same row of 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. 11 With b 12 The difference is greater than the first threshold, b 11 With b 13 If the row values of different rows in the original data are uneven, taking rows B1 and B2 as an example, the mean of row B1 and the mean of row B2 are greater than the second threshold.
[0119] 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, and each column of data includes at least one data element; and if the original data is divided by rows, the original data includes at least one row of data, and each row of data includes at least one data element, and the number of data elements included in the column data with the shortest length is the number of row data. The lengths of data in different columns in the original data are not completely equal, and there is at least one row of data with uneven row values.
[0120] For example, Figure 2C As shown, the original data is divided into n columns, 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 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 by 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.
[0121] 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.
[0122] 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 (e.g., 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.
[0123] For ease of understanding, Figure 2DTake the RF map data shown as an example. RF map data is a kind of air interface native data that is highly related to geographic location information. It 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. Figure 2D In the example shown, the RF map data may have a problem of unequal column lengths. For example, each column in the RF map data corresponds to ray tracing data for a geographic location (e.g., elevation angle of arrival, azimuth angle of arrival, and arrival time, etc.), and the lengths of the columns are different due to the different number of paths. The RF map data may also have a problem of uneven row values. For example, in the RF map data, the range of the elevation angle is relatively small, usually between 0 and 45 degrees; while the range of the azimuth angle is relatively large, usually between 0 and 360 degrees. Therefore, the data in the row where the elevation angle is located and the data in the row where the azimuth angle is located cause the problem of uneven row values.
[0124] In another embodiment, the original data is arranged with 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:
[0125] In a possible implementation, 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 not equal to the number of data elements contained in another row of data in the original data. Since the data with unequal row lengths cannot be arranged into rectangular data, the data with unequal row lengths is also called non-rectangular data, that is, the original data is non-matrix data.
[0126] In another possible implementation, the original data may be data with uneven column values. Specifically, if the original data is divided by rows, the original data includes at least one column of data, each column of data includes at least one data element, and there is at least one column of data in the original data with uneven column values. In this implementation, the original data is divided by columns, which means that when the original data is arranged with 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.
[0127] The uneven column values include uneven column values of the same column and / or uneven column values of different columns. The uneven column values of the same column refer to the fact that the value of one data element in the same column of data is significantly different from the value of another data element in the same column of data. In addition, the uneven column values of different columns refer to the fact that the value of a data element in one column of data is significantly different from the value of a data element in another column of data.
[0128] In another possible implementation, the original data may be data with unequal row lengths and uneven column values. Specifically, if the original data is divided by row, the original data includes at least one row of data, and each row of data includes at least one data element; and if the original data is divided by column, the original data includes at least one column of data, and each column of data includes at least one data element, and the number of data elements included in the row of data with the shortest length is the number of column data. The lengths of data in different rows in the original data are not completely equal, and there is at least one column of data with uneven column values.
[0129] It should be understood that this type of implementation (i.e., the original data is arranged with row vectors as basic units) is similar to the previous type of implementation (i.e., the original data is arranged with column vectors as basic units). Please refer to the relevant descriptions and examples in the previous type of implementation for details, which will not be repeated here.
[0130] 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:
[0131] Optionally, the characteristic information of the original data includes at least one of the following:
[0132] 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.
[0133] The information indicating the difference in the 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 the column lengths of at least two columns of data may be the difference in the 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, which is not limited in the present application. Figure 2A For example, the information indicating the difference in column lengths of at least two columns of data may be the length of column A1 to column A 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 from column A1 to column 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 a problem of unequal column lengths.
[0134] 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, the difference between the maximum value and the minimum value in the same row of data, the maximum value and the minimum value 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, which is not limited in this application. Figure 2B As an example, the data in row B1 shown in the figure is represented as B1={b 11 , b 12 , b 13 , …, b 1n}, the information indicating the numerical difference of the data elements contained in the same row of data may 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 , b13 , …, b 1n} and min{b 11 , b 12 , b 13 , …, b 1n}.
[0135] The information indicating the difference in values of the data elements contained in at least two rows of data is used to reflect the problem of uneven values of the data elements in different rows of the original data. Optionally, the information indicating the difference in values of the data elements contained in at least two rows of data may be the difference in statistical features (e.g., mean) of the data elements contained in at least two rows of data, or the statistical features (e.g., mean) of the data elements contained in two rows of data with different statistical features, or other information that can reflect the uneven values of the data elements in different rows, which is not limited in this application. Figure 2B For 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 may be the difference between the values of the data elements in rows B1 and B2. 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,
[0136] Similarly, if the original data is arranged with row vectors as basic units, the characteristic information of the original data includes at least one of the following:
[0137] 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.
[0138] The characteristic information of the original data when the original data is arranged with row vectors as basic units is similar to the characteristic information of the original data when the original data is arranged with column vectors as basic units. Please refer to the relevant descriptions and examples in the previous text for details, which will not be repeated here.
[0139] 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.
[0140] In addition, the preprocessing 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.
[0141] Optionally, the preprocessing rule includes at least one of matrix filling processing, column translation processing, and row value transformation processing. It should be understood that the aforementioned preprocessing rule is a preprocessing rule corresponding to the original data when the original data is arranged in column vectors as basic units. If the original data is arranged in 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 original data after the transpose process.
[0142] The following are introductions to the above-mentioned preprocessing methods:
[0143] The matrix filling process is used to fill the data to be processed into matrix data. The data to be processed can be original data, or data obtained by at least one preprocessing of the original data. For example, the data to be processed is data obtained by at least one column shift process. For an explanation of the column shift process, please refer to the following text. Figure 4A The corresponding introduction will not be repeated here.
[0144] Optionally, the matrix filling process may 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 elements of each column of data are aligned, and the matrix filling process is to fill the data elements at the end of each column of data. Figure 3A As shown, 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 the matrix data of 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. Figure 3B As shown in the figure, the original data contains n columns of data, and the first data elements of each column of data in the n columns are not completely aligned. mThe 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, ..., m n}.
[0145] It should be understood that, depending on the values of the filled data elements, the matrix filling process includes zero filling, mean filling, and optimized filling. Figure 3C As shown, the left side represents data that has not been filled with matrix, and the dotted box represents the empty position; the right side represents data that has been filled with matrix, and the empty position has been filled with 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 here. In another example, Figure 3D As shown, the left side represents the data that has not been processed by matrix filling, and the dotted box represents the vacant position; the right side represents the data that has been processed by matrix filling, and the vacant position has been filled with the mean value of the data element of the row where the vacant position is located. Taking the vacancy of the third row and the third column as an example, the mean value of the values of the remaining data elements in the third row is 12, and the vacant position of the third row and the third column is filled with 12. Taking the vacancy of the fourth row as an example, the mean value of the values of the remaining data elements in the fourth row is 15, and each vacant position in the fourth row is filled with 15. And so on, it will not be repeated here. The case of aligning the first data element of each column of data listed in this example is similar to the case of incomplete alignment of the first data element of each column of data, which will not be repeated here. In another example, the value of the filled data element can also be determined based on an algorithm. For example, under at least one constraint condition, the filling value is calculated or tested based on the algorithm. Among them, at least one constraint condition includes a constraint on computational overhead (for example, the computational overhead is less than a threshold), a constraint on compression distortion (for example, the compression distortion is less than a threshold), a constraint on compression ratio (for example, the 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.
[0146] The column shift process is used to shift at least one column of the data to be processed along the column direction, so that the value 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.
[0147] For example, Figure 4A As shown, the original data is divided into n columns 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. If the column shifts of each column of data are q1, q2, q3, …, q n , then the column shift amount parameter of this column shift processing is Q = {q1, q2, q3, ..., q n}.
[0148] For example, Figure 4B As shown, RF map data is taken as an example. Figure 4B The data shown includes the azimuth angle and the elevation arrival angle, wherein the azimuth angle has a larger numerical range, i.e., [0, 360), while the elevation arrival angle has a smaller numerical range, i.e., [0, 45). The same row of data may contain both the azimuth angle and the elevation 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 elevation arrival angle is moved to a row of data as much as possible.
[0149] 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 it can be 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 values of each row are mapped to the same numerical range. It is beneficial to reduce the numerical differences of data elements in the same row, and / or reduce the numerical differences of data elements in different rows, which is beneficial to improve the performance of subsequent compression processing. Figure 5 As shown, the data before the row value transformation process includes m rows of data, and the original data is represented by {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 of data. The mapping relationships of row value transformation processing on different rows are not exactly the same.
[0150] 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 respectively:
[0151] In a possible implementation manner, 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.
[0152] 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 Assume that (x) is a Logistic function f(x)=1 / ((1+exp(-x))), and the value of the data element after translation and scaling satisfies a×f(bx)-c. In this example, the row value transformation parameters include a, b, and c.
[0153] It should be understood that the row value transformation process can be only for one row of data or for 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.
[0154] Optionally, the preprocessing rule is related to the characteristic information of the original data, and the preprocessing rules obtained by the compression device contain different preprocessing methods based on the different characteristic information of the original data. For example, if the characteristic information includes information about the difference in column lengths of at least two columns of data, the preprocessing rule includes at least matrix filling processing. For another example, if the characteristic information includes information about the numerical difference of data elements contained in the same row of data, the preprocessing rule includes at least column translation processing. For another example, if the characteristic information includes information about the numerical difference of data elements contained in at least two rows of data, the preprocessing rule includes at least row value transformation processing. It should be understood that the preprocessing rule obtained by the compression device may include any of the above-mentioned 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 column translation processing and matrix filling processing, the execution order of the column translation processing is before the execution order of the matrix filling processing. For another example, if the preprocessing rule includes matrix filling processing and row value transformation processing, the execution order of the row value transformation processing is before the execution order of the matrix filling processing.
[0155] like Fig. 6A As shown, 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 the 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 the 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 the data to be compressed (matrix data). In another example, preprocessing rule 4 includes column translation processing and matrix filling processing, and the preprocessing rule 4 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 perform matrix filling processing on the data to be filled to obtain the data to be compressed (matrix data). In another example, preprocessing rule 5 includes column shift processing, matrix filling processing and row value change processing. The preprocessing rule 5 is used to instruct the compression device to first perform column shift 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 into matrix data, and then, perform row value transformation processing on the matrix data to obtain the data to be compressed (matrix data).
[0156] In addition, the compression device can have multiple ways to obtain the preprocessing rules corresponding to the original data:
[0157] In a possible implementation, the compression device receives configuration information, the configuration information including the preprocessing rules. The configuration information may be manually configured or sent by other devices. 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), that is, the access network device sends configuration information indicating the preprocessing rules to the terminal device.
[0158] In another possible implementation, the compression device determines the preprocessing rule corresponding to the original data based on the 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.
[0159] In one example, if the compression device determines that the characteristic information of the original data includes 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 at least includes 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 can be applied to a compression algorithm that requires input as matrix data, which is conducive to improving the efficiency of subsequent data compression.
[0160] In another example, if the compression device determines that the characteristic information of the original data includes information indicating the difference in values of data elements included in the same row of data, that is, the 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 a column shift process. The column shift process can shift at least one column of data along the column direction, so that the difference in values of data elements in the same row is reduced after the column shift process, which is conducive to reducing the approximation error that may be introduced in the subsequent compression process.
[0161] In another example, if the compression device determines that the characteristic information of the original data includes information indicating the difference in the values of the data elements contained in at least two rows of data, that is, the values of the 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. It is beneficial to reduce the difference in the values of the data elements in the same row, and / or reduce the difference in the values of the data elements in different rows, thereby improving the performance of subsequent compression processing.
[0162] 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 preprocessing items 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 which one or several preprocessing items need to be performed on the original data after the original data is acquired, and then the data after the preprocessing needs to be compressed, and the compressed data needs to be 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.
[0163] Step 102: The compression device performs preprocessing on the original data based on the preprocessing rules to obtain data to be compressed, where the data to be compressed is matrix data.
[0164] 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 contained in the preprocessing rule obtained by the compression device is different. In the process of the compression device processing the original data based on the preprocessing rule, the compression device also generates preprocessing parameters corresponding to the preprocessing method contained in the preprocessing rule. They are introduced below:
[0165] In a possible implementation, if the preprocessing rule includes a matrix filling process, the compression device performs a matrix filling process on the data to be filled and outputs the matrix data. Wherein, 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 the data obtained by the original data after at least one column translation process. For a specific example of the matrix filling process, please refer to the relevant description in the above step 101, which will not be repeated here.
[0166] 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, with Figure 3A and Figure 3B For example, the original data is divided into n columns, and the original data is represented as {A1, A2, A3, ..., A n}, the length of each column data is m1, m2, m3, ..., m n, wherein n is an integer greater than 1, and m is an integer greater than or equal to 1. Figure 3A In the example shown, 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 m of the matrix data, where m = max{m1, m2, m3, ..., m n}.exist Figure 3B In the example shown, 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 m' of the matrix data, where m'>max{m1,m2,m3,…,m n}.
[0167] In this embodiment, the compression device processes the data to be filled into matrix data suitable for the matrix compression algorithm through matrix filling processing, which solves the problem of unequal column lengths and is conducive to improving the efficiency of subsequent data compression. In addition, the preprocessing parameters corresponding to the matrix filling processing output by the compression device are conducive to the decompression device restoring the rectangular data to the data before filling.
[0168] In another possible implementation, if the preprocessing rule includes column shift processing, the compression device performs column shift processing on the original data and outputs the data to be filled. Optionally, the numerical difference of the data elements contained in the same row of data in the original data is greater than the first threshold, and the numerical difference of the data elements contained in the same row of data in the data to be filled is less than a third threshold, and the third threshold is less than the first threshold. For a specific example of column shift processing, please refer to the relevant description in the previous step 101, which will not be repeated here.
[0169] Optionally, when the compression device outputs the data to be filled, the compression device also outputs the preprocessing parameters corresponding to the column shift processing. The preprocessing parameters corresponding to the column shift processing 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 processing. Figure 4A For example, the original data is divided into n columns, 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 amount parameter of this column shift processing is Q = {q1, q2, q3, ..., q n The preprocessing parameters corresponding to the column shift processing include the column shift amount parameter (ie, Q = {q1, q2, q3, ..., qn}) and the length of each column in the original data (i.e. {m1, m2, m3, ..., m n}).
[0170] In this implementation, 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.
[0171] In another possible implementation, if the preprocessing rule includes a row value transformation process, the compression device performs a row value transformation process on the matrix data and outputs the data to be compressed. The matrix data is the original data or the data obtained by the original data after the matrix filling process. The difference in the values of the data elements contained in any two rows of data in the matrix data is greater than the second threshold value; the values of any two rows of data in the data to be compressed are within the same value range. For a specific example of the row value transformation process, please refer to the relevant description in the previous step 101, which will not be repeated here.
[0172] Optionally, while the compression device outputs the data to be compressed, the compression device also outputs the 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 value of each row of data in the row value transformation process relative to the 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 previous text for details. Figure 5 The corresponding examples are not described here in detail.
[0173] 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 the row data can be determined for each row of data in the matrix data. 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 group of row value transformation parameters, while the remaining rows do not perform row value transformation processing, and outputs a total of one group 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.
[0174] Optionally, when the compression device outputs multiple groups 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 used to indicate the sequence number of the row to which the row value transformation parameters apply.
[0175] In this embodiment, the compression device translates and / or scales the value of at least one data element in at least one row of data according to the row value transformation parameter through row value transformation processing, so that the value size of each row is mapped to the same value range. This is conducive to reducing the difference in values of data elements in the same row, and / or reducing the difference in values of data elements in different rows, thereby improving the performance of subsequent compression processing.
[0176] 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.
[0177] 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 to perform data compression. Figure 6B As shown, 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, and then the compression device performs compression processing such as quantization and entropy coding on the two matrix data (i.e., the matrix data of m rows and k columns and the 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.
[0178] Optionally, after the compression device outputs the compressed data, the compression device sends the compressed data and the first information to the decompression device.
[0179] 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.
[0180] Optionally, the preprocessing parameters include at least one of the following:
[0181] The column length, number of columns, column shift parameters of each column in the original data, the column length or row value transformation parameters of the matrix data. For the explanation of each preprocessing parameter, please refer to the relevant description in the previous text, which will not be repeated here.
[0182] 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 the number of columns of the data to be compressed.
[0183] Optionally, the first information further includes first indication information, and the first indication information is 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.
[0184] In the present application, the compression device can obtain a preprocessing rule corresponding to the original data, and the preprocessing rule is related to the characteristic information of the original data. The compression device processes the original data into matrix data based on the preprocessing rule, and then the compression device can perform compression processing on the matrix data using a matrix compression algorithm. Since the compression device applies the original data to the matrix data of the matrix compression algorithm according to the preprocessing rule 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 helps to realize on-demand personalized preprocessing according to the characteristics of the original data, thereby improving the efficiency of data compression and helping to reduce the transmission resources occupied when transmitting the compressed data.
[0185] Combine the following Figure 7 The main process of the data decompression method provided by the present application is introduced. 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 is an introduction using the decompression device as an example. Figure 7 As shown, the data decompression method mainly includes the following steps:
[0186] Step 701: The decompression device obtains compressed data and first information.
[0187] Optionally, the compression device sends the compressed data and the first information to the decompression device; correspondingly, the decompression device receives the compressed data and the first information. For example, 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 receives the compressed data and the first information based on the compression device. Figure 1 The data compression method shown performs preprocessing and matrix compression processing on the original data to be transmitted to the terminal device, and outputs compressed data and first information. Then, the terminal device receives the compressed data and first information from the access network device. For example, taking the compression device integrated in the CU and the decompression device integrated in the DU as an example, when the CU collects the data to be transmitted to the DU, the CU Figure 1 The data compression method shown performs preprocessing and matrix compression processing on the original data to be transmitted to the DU, and outputs compressed data and the first information. Then, the DU receives the compressed data and the first information from the CU. In other application scenarios, there are other examples of decompression devices obtaining compressed data and the first information, which are not described here.
[0188] 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. 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.
[0189] Optionally, the first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in the preprocessing process, wherein 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.
[0190] Optionally, the preprocessing parameters include at least one of the following:
[0191] The length of each column in the original data; or,
[0192] The number of columns is used to indicate the number of column data contained in the original data; or,
[0193] A column shift parameter, which is used to indicate the column shift amount of each column of data in the column shift process; or,
[0194] The column length of the matrix data; or,
[0195] The row value transformation parameter is 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.
[0196] 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 the number of columns of the data to be compressed.
[0197] Optionally, the first information further includes first indication information, and the first indication information is 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.
[0198] Please refer to the previous article for explanation of preprocessing parameters and compression parameters. Figure 1 The relevant descriptions in the corresponding embodiments are not repeated here.
[0199] Step 702: The decompression device performs decompression processing on the compressed data based on the first information to obtain data to be compressed.
[0200] 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.
[0201] For example, Figure 8 As shown, 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.
[0202] Step 703: The decompression device performs an inverse process corresponding to the preprocessing on the data to be compressed based on the first information, and outputs the original data.
[0203] 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.
[0204] It should be understood that the first information includes at least one preprocessing parameter corresponding to the preprocessing method, and each preprocessing parameter can reflect that 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 in the received first information, and restore the data using the inverse processing corresponding to the preprocessing. The following are introduced respectively:
[0205] In a possible implementation, 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 value 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 processing 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 the data obtained by the original data after the matrix filling process.
[0206] It should be understood that if the preprocessing parameters only include a set of row value transformation parameters, the decompression device performs an inverse process corresponding to the row value transformation process on each row of the matrix data based on the row value transformation parameters. For example, if the row value 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 value transformation process.
[0207] Optionally, the preprocessing parameter also includes a row number, which is used to indicate the number of the row to which the row value transformation parameter is applicable. 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 value transformation parameter is only applicable 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 value 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.
[0208] Optionally, if the preprocessing parameters include at least two groups of row value transformation parameters, the preprocessing parameters also include at least two row numbers, each row number corresponds to a group of row value transformation parameters. The decompression device performs an inverse process of the row value transformation process on the row indicated by the corresponding row number based on each group of row value transformation parameters.
[0209] In this embodiment, the decompression device can perform 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.
[0210] In another possible implementation, 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 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 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.
[0211] For example, Figure 3A For example, 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. The decompression device removes several data elements at the end of each column of data one by one 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 to obtain the data before the filling process.
[0212] In this embodiment, the decompression device can perform the inverse processing of the matrix filling processing 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 from affecting the original data.
[0213] In another possible implementation, if 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 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 an 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.
[0214] 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 beneficial to restore the row and column arrangement characteristics of the original data and improve the accuracy of data restoration.
[0215] In the present application, the decompression device obtains the compressed data and the first information, and the first information is used by the decompression device to determine the data to be compressed before compression and the original data before preprocessing based on the compressed data, so that the decompression device can restore the compressed data to the original data based on the first information. Even if the compression device performs preprocessing on the original data, the decompression device can quickly and efficiently restore the compressed data to the original data based on the first information. This is conducive to improving the efficiency of data decompression.
[0216] In addition, if Fig. 9 and Fig.10 As shown, the present application also provides a data transmission method, which is used to solve the problem of irregular data transmission between communication devices occupying a large air interface overhead.
[0217] in, Fig. 9 Taking the example that the compression device is integrated into the access network device and the decompression device is integrated into the terminal device, the data transmission method is introduced. The data transmission method includes the following steps:
[0218] Step 901: The access network device sends first configuration information; correspondingly, the terminal device receives the first configuration information.
[0219] The first configuration information is used to configure the information used by the terminal device in the process of determining the original data based on the compressed data. The original data is the data that the access network device needs to send to the terminal device, and the compressed data is the 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. It can be understood that the first configuration information is used to configure the information used by the decompression device in the terminal device in the decompression process and the inverse process of preprocessing.
[0220] Optionally, the first configuration information includes a compression type, which is used to indicate to the terminal device what kind of decompression processing to perform on the received compressed data. Optionally, the first configuration information includes a basic compression parameter, which refers to a compression parameter that does not change with the change of 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 the input of the matrix compression algorithm uses a fixed number of rows and a fixed number of columns, then the basic compression parameter includes the number of rows and the number of columns.
[0221] 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 rules include matrix filling processing and row value transformation processing. The terminal device can determine based on the preprocessing rules to first perform the inverse processing of the row value transformation processing on the decompressed data, and then perform the inverse processing of the matrix filling processing. For another example, the preprocessing rules include column translation processing, matrix filling processing and row value transformation processing. The terminal device can determine based on the preprocessing rules to first perform the inverse processing of the row value transformation processing on the decompressed data, and then perform the inverse processing of the matrix filling processing, and then perform the inverse processing of the column translation processing. There are many ways to implement the preprocessing rules, and there are also many corresponding inverse processing methods. Please refer to the previous text for details. Figure 7 The relevant introduction in the corresponding embodiment will not be repeated here.
[0222] Optionally, the first configuration information also includes a basic preprocessing parameter, which refers to a preprocessing parameter that does not change with the change of the content of the original data transmitted each time. Each time the access network device performs preprocessing on the original data, it may use the basic preprocessing parameter. The access network device notifies the terminal device of the basic preprocessing parameter through the first configuration information, which is conducive to simplifying the preprocessing parameters of subsequent transmissions, saving the air interface overhead of transmitting the first information, and improving the efficiency of data transmission.
[0223] 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 the 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 the same size of matrix data 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.
[0224] 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.
[0225] It should be understood that step 901 is an optional step. When the original data transmitted by the access network device at different times are greatly different, or the access network device uses different preprocessing rules or preprocessing parameters for different original data, the access network device may not execute step 901 but directly execute step 902.
[0226] Step 902: The access network device obtains a preprocessing rule corresponding to the original data.
[0227] Optionally, the preprocessing rule is related to feature information of the original data.
[0228] 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 may execute step 901 first and then step 902, or the access network device may execute step 902 first and then step 901, or the access network device may execute step 901 and step 902 at the same time, and this application does not limit this.
[0229] Step 903: The access network device performs preprocessing on the original data based on the preprocessing rule to obtain data to be compressed, and uses a matrix compression algorithm to perform compression processing on the data to be compressed to output compressed data.
[0230] 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.
[0231] Step 904: The access network device sends compressed data and first information; correspondingly, the terminal device receives the compressed data and the first information.
[0232] The first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in the preprocessing process.
[0233] 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 acquired 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 may carry part of the preprocessing parameters, which is conducive to saving the air interface overhead of transmitting the first information and improving the efficiency of data transmission.
[0234] In addition, the preprocessing parameters in the first information can be all preprocessing parameters used by the terminal device in restoring the original data. The access network device transmits all preprocessing parameters, which is conducive to ensuring the reliability of data transmission and reducing the probability that the terminal device cannot accurately restore the original data due to incomplete preprocessing parameters.
[0235] In this step, please refer to the previous article for a detailed explanation of the compression parameters and preprocessing parameters. Figure 1 The relevant introduction in the corresponding embodiment will not be repeated here.
[0236] Step 905: The access network 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.
[0237] 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.
[0238] In this embodiment, the access network device preprocesses and compresses the data to be transmitted to the terminal device, and then sends the compressed data and the first information to the terminal device, so that the terminal device restores 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 to send compressed data, which is conducive to improving air interface transmission efficiency.
[0239] in, Fig.10 Taking the example that the compression device is integrated into the terminal device and the decompression device is integrated into the access network device, the data transmission method is introduced. The data transmission method includes the following steps:
[0240] Step 1001: The access network device sends second configuration information; accordingly, the terminal device receives the second configuration information.
[0241] The second configuration information is used to configure the information used by the terminal device in the process of determining the compressed data based on the original data. The original data is the data that the terminal device needs to send to the access network device, and the compressed data is the data generated by the terminal device based on the original data after preprocessing and compression. Compressed data occupies less transmission resources than original data. It can be understood that the second configuration information is used to configure the information used by the compression device in the terminal device during the compression process and preprocessing process.
[0242] Optionally, the second configuration information includes a preprocessing rule, which is used to instruct the terminal device what kind of preprocessing to perform on the original data. For example, the preprocessing rule includes matrix filling processing and row value transformation processing, and 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, and 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 previous text for details. Figure 1 The relevant introduction in the corresponding embodiment will not be repeated here.
[0243] Optionally, the second configuration information includes a compression type, which is used to indicate to the terminal device what kind of compression processing to perform on the original data. Optionally, the second configuration information includes a basic compression parameter, which refers to a compression parameter that does not change with the change of 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 the fixed-size matrix data as the input of the matrix compression algorithm during the compression process.
[0244] 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 can be dynamically indicated to the terminal device on demand through DCI, MAC CE and other signaling, which is not limited in this application.
[0245] Step 1002: The terminal device obtains preprocessing rules corresponding to the original data.
[0246] Step 1002 is an optional step.
[0247] In a 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 but not step 1002.
[0248] In another possible implementation, if the second configuration information in step 1001 does not configure a preprocessing rule, the terminal device may determine the preprocessing rule based on the original data to be transmitted to the access network device. In this case, the terminal device executes step 1002.
[0249] Step 1003: the terminal device performs preprocessing on the original data based on the preprocessing rules to obtain data to be compressed, and uses a matrix compression algorithm to perform compression processing on the data to be compressed to output compressed data.
[0250] 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.
[0251] Step 1004: The terminal device sends compressed data and first information; correspondingly, the access network device receives the compressed data and the first information.
[0252] 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 the original data.
[0253] 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.
[0254] In this embodiment, the terminal device preprocesses and compresses the data to be transmitted to the access network device, and then sends the compressed data and the first information to the access network device, so that the access network device restores 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 to send compressed data, which is conducive to improving air interface transmission efficiency.
[0255] Corresponding to the scheme given in the foregoing 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 corresponding to 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 foregoing method embodiment, which will not be repeated below.
[0256] like Fig.11 FIG. 1 is a schematic diagram of the structure of another device 110 provided in this embodiment. It should be understood that the aforementioned Figure 1 The compression device in the corresponding method embodiment, or the aforementioned Figure 7 The decompression device in the corresponding method embodiment can be based on the Fig.11 The structure of the device 110 shown in FIG. Fig.11 As shown, 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.
[0257] The aforementioned communication interface 1102 is connected to other devices through 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.
[0258] The processor 1101 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a 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 refer to one processor or may include multiple processors, which is not specifically limited here.
[0259] In addition, the aforementioned memory 1103 is mainly used to store software programs and data. The memory 1103 may exist independently and be connected to the processor 1101. Optionally, the memory 1103 may 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, and the various types of computer program codes executed can also be regarded as drivers of the processor 1101. The memory 1103 may include volatile memory (volatile memory), such as random-access memory (random-access memory, RAM); the memory may also include non-volatile memory (non-volatile memory), such as read-only memory (read-only memory, ROM), flash memory (flash memory), hard disk drive (hard disk drive, HDD) or solid-state drive (solid-state drive, SSD); the memory 1103 may also include a combination of the above-mentioned 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 described here.
[0260] In one design, the device 110 is configured to perform the aforementioned Figure 1 The method of the compression device in the corresponding embodiment. The processor 1101 is used to: obtain a preprocessing rule corresponding to the original data, the original data includes at least one column of data; perform preprocessing on the original data based on the preprocessing rule to obtain data to be compressed, the data to be compressed is matrix data; use a matrix compression algorithm to perform compression processing on the data to be compressed, and output the compressed data, the matrix compression algorithm is used to perform compression processing on the matrix data.
[0261] In a possible implementation, the preprocessing rule includes at least one of the following preprocessing methods:
[0262] Matrix filling processing, the matrix filling processing is used to fill the data to be processed into matrix data; or,
[0263] 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,
[0264] Row value transformation processing, row value transformation processing 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; wherein the data to be processed is the original data or the data obtained by at least one preprocessing of the original data.
[0265] In a possible implementation manner, the preprocessing rule is related to feature information of the original data, and the feature information includes at least one of the following:
[0266] Information indicating a difference in column lengths of at least two columns of data in the original data; or,
[0267] Information indicating the difference in the values of data elements contained in the same row of data in the original data; or,
[0268] Information indicating the difference in values of data elements contained in at least two rows of data in the original data.
[0269] In a possible implementation, the preprocessing rule includes a matrix filling process. The processor 1101 is specifically used to: perform a matrix filling process on the data to be filled, output matrix data, 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 process.
[0270] In a possible implementation, the preprocessing rule includes column shift processing. The processor 1101 is specifically configured to: perform column shift processing on the original data, and output the data to be filled.
[0271] In a possible implementation, the preprocessing rule includes a row value transformation process. The processor 1101 is specifically configured to: perform a row value transformation process on the matrix data and output the data to be compressed, wherein the matrix data is the original data or the data obtained by performing a matrix filling process on the original data.
[0272] 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.
[0273] In a possible implementation, the communication interface 1102 is used to receive configuration information, where the configuration information includes pre-processing rules.
[0274] In a possible implementation, the communication interface 1102 is also used to send 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, and the first information includes compression parameters of the matrix compression algorithm and preprocessing parameters used in the preprocessing process.
[0275] It should be noted that the specific implementation and beneficial effects of this embodiment can refer to the method of the compression device in the above embodiment, which will not be repeated here.
[0276] In another design, the device 110 is used to perform the above Figure 7The method of the decompression device in the corresponding embodiment. The communication interface 1102 is used to obtain compressed data and first information, 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; the processor 1101 is used to perform decompression processing on the compressed data based on the first information to obtain the data to be compressed, and the data to be compressed is matrix data; and, based on the first information, perform inverse processing corresponding to the preprocessing on the compressed data to output the original data, and the original data includes at least one column of data.
[0277] In a possible implementation manner, the first information includes compression parameters of a matrix compression algorithm and preprocessing parameters used in a preprocessing process.
[0278] In a possible implementation, the preprocessing parameters include at least one of the following:
[0279] The length of each column in the original data; or,
[0280] The number of columns is used to indicate the number of column data contained in the original data; or,
[0281] A column shift parameter, which is used to indicate the column shift amount of each column of data in the column shift process; or,
[0282] The column length of the matrix data; or,
[0283] The row value transformation parameter is 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.
[0284] In a possible implementation, 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 processor 1101 is specifically used 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, and the matrix data before the row value transformation processing is the original data or the data obtained by the original data after the matrix filling process.
[0285] In a 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, and the matrix filling processing is used to fill the data into matrix data. The processor 1101 is specifically used 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 the data to be filled; wherein the matrix data is the data obtained by the original data after the matrix filling processing, and the data to be filled is the original data or the data obtained by the original data after at least one column translation processing.
[0286] In a possible implementation, the data to be filled is data obtained by subjecting the original data to at least one column shift process; the preprocessing parameters include a column shift amount parameter and a 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 a column direction. The processor 1101 is specifically used to perform an inverse process of the column shift process on the data to be filled based on the column shift amount parameter and the column length of each column of data in the original data, and output the original data.
[0287] It should be noted that the specific implementation manner and beneficial effects of this embodiment can refer to the method of the decompression device in the above embodiment, which will not be repeated here.
[0288] like Fig.12 As shown, 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, Fig. 9 In the embodiment shown, the compression device is integrated into the access network device, and the decompression device is integrated into the terminal device. Fig.10 In the illustrated embodiment, the compression device is integrated into the terminal equipment, and the decompression device is integrated into the access network equipment.
[0289] The device 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 a transceiver module) and a storage module 1203 (or a storage unit). The interface module 1202 is used to communicate with other devices. The interface module 1202 may be, for example, a transceiver module or an input / output module.
[0290] In one possible design, Fig.12 One or more modules 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 the embodiments of the present application. The processor, memory, and transceiver may be provided separately or integrated into one.
[0291] 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 aforementioned Figure 1 The corresponding descriptions in the corresponding method embodiments are not repeated here.
[0292] 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 or unit or means corresponding to the steps involved in the decompression 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 aforementioned Figure 7 Corresponding description in the corresponding method embodiment.
[0293] In addition, the present application provides a computer program product, which includes 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 aforementioned Figure 1 For example, to implement the above-mentioned Figure 7 Methods related to the decompression device in. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital versatile disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.
[0294] In addition, the present application also provides a computer-readable storage medium, which stores a computer program, which is executed by a processor to implement the above Figure 1 Methods related to compression devices in.
[0295] In addition, the present application also provides a computer-readable storage medium, which stores a computer program, which is executed by a processor to implement the above Figure 7 Methods related to the decompression device in.
[0296] 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.
[0297] Those skilled in the art can 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.