Data processing method and device, equipment, storage medium and program product

By selecting column vectors in the L codebook matrix to approximate the compressed data, using a small codebook of ±1 to reduce the calculation overhead, solving the problem of high complexity of dictionary compression in the prior art, and achieving a lower complexity data compression effect, which is suitable for future wireless communication systems.

CN119921782APending Publication Date: 2025-05-02HUAWEI TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311439018.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-31
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

In the prior art, the transform domain compression method based on dictionary learning is of high complexity, is not suitable for implementation on terminal devices with weak computing capabilities, and is not conducive to multiple concurrency and system capacity expansion.

Method used

A lossy compression scheme with low complexity is provided. By selecting L column vectors in the L codebook matrix to approximate the compressed data, and using a small codebook of ±1 to convert the multiplication operation into addition and subtraction operation, reducing calculation and storage overhead.

Benefits of technology

It achieves a lower complexity than dictionary compression, and is suitable for the compression of any high-dimensional vector data, especially in the compression of non-structural source data, which has achieved better results than dictionary compression and scalar quantization, and is suitable for terminal equipment or network-side equipment for future wireless communication systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119921782A_ABST
    Figure CN119921782A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data processing method and device, a storage medium and a program product. In the method, a data compression device obtains data to be compressed; and performing L times of iterative approximation on the to-be-compressed data. Wherein the L times of iteration approximation comprises the following steps: respectively selecting L column vectors from L codebook matrixes to approximate the data to be compressed, wherein elements in the L codebook matrixes comprise two different numerical values; and generating compressed data after the to-be-compressed data is compressed based on the L column numbers of the L column vectors in the L codebook matrixes. Therefore, the original signal is approximated by using the two small codebooks with different numerical values, the search and storage overhead is reduced, and the execution efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application generally relate to the field of communications, and more specifically to a method for data processing, a terminal device, a network device, a computer-readable storage medium, and a computer program product. Background Art

[0002] For high-dimensional vector data compression, transform domain compression based on dictionary learning (hereinafter referred to as "dictionary compression") is a very effective compression method. However, dictionary compression is relatively complex, which is not conducive to implementation at terminal devices with weak computing power. When implemented on the network side, it is also not conducive to multi-channel concurrency and system capacity expansion. Therefore, it is urgent to find a low-complexity data compression method. Summary of the invention

[0003] The embodiments of the present application provide a technical solution for data compression, which can provide a lossy compression solution with lower complexity than compression based on dictionary learning. Some embodiments of the present disclosure are applicable to the compression of arbitrary high-dimensional vector data. For example, better results can be achieved than dictionary compression and scalar quantization in the compression of unstructured source data. Compared with dictionary compression, it has lower complexity and is conducive to hardware implementation. Some embodiments of the present disclosure can be oriented to, for example, future wireless communication systems, such as next-generation cellular systems, short-range wireless communication systems, etc. (such as Wi-Fi, UWB), and can be widely used in terminal devices or network-side devices in future wireless communication scenarios.

[0004] In the first aspect, a data processing method is provided. The method can be executed by a first device (data compression device). Unless otherwise specified, the "first device" in this application can refer to the first device itself (for example, a terminal device, a network device), or a component in the first device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can implement all or part of the functions of the first device. The following description is taken as an example in which the execution subject is the first device. In this method, the first device obtains the data to be compressed; and performs L iterative approximation on the compressed data. The L iterative approximation includes: selecting L column vectors from L codebook matrices to approximate the compressed data, and the elements in the L codebook matrices include two different values; and generating compressed data after the compressed data to be compressed is compressed based on the L column vectors. In this way, a small codebook of ±1 is used to approximate the original signal, reducing the search and storage overhead.

[0005] In some implementations, the two different numerical values ​​include 1 and -1, thereby converting the multiplication operation into addition and subtraction operations, further reducing computational and storage overheads.

[0006] In some implementations, the first device may generate compressed data after the data to be compressed is compressed based on the L column numbers of the L column vectors in the L codebook matrices or based on the L column vectors themselves, thereby reducing calculation and storage overhead and simplifying operations.

[0007] In some implementations, performing the i-th iteration approximation of L iteration approximations includes: based on the vector to be approximated, in the i-th codebook matrix in the L codebook matrices, determining the i-th column vector among the L column vectors. Wherein in the i-th iteration approximation, the vector to be approximated is determined based on the residual vector corresponding to the i-1-th iteration approximation. In the 1st iteration approximation, the vector to be approximated is the data to be compressed, where L is greater than 1 and i is less than or equal to L. The residual vector corresponding to the i-1-th iteration approximation is the error in the i-1-th iteration approximation. In this way, the residual can be reduced successively by iteration, and the amount of data transmission can be reduced by only determining the i-th column vector.

[0008] In some implementations, performing the i-th iterative approximation of L iterative approximations further includes: approximating the vector to be approximated using the i-th column vector and the i-th coefficient corresponding to the i-th column vector. In this way, a simple codebook can be used to reduce the amount of data transmission.

[0009] In some implementations, performing the i-th iterative approximation of the L iterative approximations further includes determining the i-th residual vector between the vector to be approximated and the product of the i-th column vector multiplied by the i-th coefficient. In this way, the reduced residual can be determined successively, thereby successively improving the fitting accuracy of each iteration.

[0010] In some implementations, determining the i-th column vector in the i-th codebook matrix based on the vector to be approximated includes: determining, among multiple column vectors in the i-th codebook matrix, a column vector having a maximum correlation with the vector to be approximated as the i-th column vector. In this way, the error of each fitting can be minimized and a more accurate fitting can be performed.

[0011] In some implementations, L is determined according to any of the following methods: a preset value; or a comparison between the residual of the i-th iteration and a predetermined threshold. In this way, the end time of the iteration can be reasonably determined.

[0012] In some implementations, the method for data compression further includes: performing matrix row permutation on the i-1th codebook matrix used in the i-1th iteration approximation to obtain the i-th codebook matrix used in the i-th iteration approximation. In this way, the codebook matrices can be obtained one by one in a simple manner, reducing the amount of calculation.

[0013] In some implementations, the matrix row permutation includes one of the following: random matrix row permutation; or forward or backward matrix row cyclic shift based on a predetermined displacement amount. Thus, random permutation has better performance, while matrix row cyclic shift can simplify system implementation.

[0014] In some implementations, the first device uses one of the following: using the same random matrix row permutation in the second iteration approximation to the Lth iteration approximation; or determining the random matrix row permutation used in each iteration approximation in the second iteration approximation to the Lth iteration approximation. In this way, row permutation can be performed in different ways, which is flexible.

[0015] In some implementations, the first codebook matrix used in the first iteration approximation is randomly generated or predetermined. In this way, the codebook matrix can be initialized with greater flexibility. In some implementations, the random number seed used to determine the random matrix row permutation may be the same as or different from the random number seed used to randomly generate the first codebook matrix.

[0016] In some implementations, the L codebook matrices used in the L iterations of approximation are the same, and the method performed by the first device further includes: performing element permutation on the i-1th residual vector determined in the i-1th iteration of approximation to obtain the vector to be approximated in the i-th iteration of approximation. In this way, element permutation can be used instead of matrix permutation, thereby simplifying system implementation and improving efficiency.

[0017] In some implementations, the element permutation includes one of the following: random element permutation; or forward or backward element cyclic shift based on a predetermined displacement amount. In this way, element permutation can be performed equivalently to matrix row permutation. Random permutation has better performance, while element cyclic shift can simplify system implementation.

[0018] In some implementations, the method performed by the first device further includes: determining the i-th coefficient based on the dimension n of the data to be compressed, the element variance σ of the data to be compressed, the number of columns m of the L codebook matrices, and the number of iterative approximations i, so as to accurately determine each coefficient and reduce the error after compression.

[0019] In some implementations, the determination of the i-th coefficient is also based on the residual decay coefficient q, which represents the decay rate of the sum of squares of the elements of the residual vector, so as to accurately determine each coefficient and reduce the error after compression.

[0020] In some implementations, the data compression method is executed at a first device, and the method further includes: sending compressed data after the data to be compressed is compressed to a second device, so that decompression is achieved at the second device.

[0021] In some implementations, the compressed data includes at least one of the following: L column numbers; element mean μ of the data to be compressed; element variance σ of the data to be compressed; or the first coefficient used in the first iteration approximation. In this way, the transmission of the compressed data can be simplified.

[0022] In some implementations, the method for compressing data is performed at a first device, and the method further includes configuring or indicating to a second device at least one of the following: a compression method of at least one of the element mean μ, element variance σ, or the first coefficient used in the first iteration approximation of the data to be compressed; a dimension n of the data to be compressed and the number of columns m of the L codebook matrices; a residual decay coefficient q, the residual decay coefficient q indicating the decay speed of the element square sum of the residual vector; whether the first codebook matrix in the L codebook matrices is randomly generated or predetermined; whether to perform matrix row permutation on the i-1th codebook matrix used in the i-1th iteration approximation, or to perform element permutation on the i-1th residual vector determined in the i-1th iteration approximation; or whether the matrix row permutation or element permutation is random permutation or cyclic shift. In this way, the first device and the second device are accurately synchronized to facilitate data compression and decompression.

[0023] In some implementations, the compression method includes at least one of the following: floating point representation; uniform scalar quantization; or not sending the element mean μ of the data to be compressed. In this way, the data compression method is accurately identified.

[0024] In some implementations, the number of columns m of the L codebook matrices is determined based on the value of the dimension n. In this way, the system implementation can be simplified.

[0025] In some implementations, the first codebook matrix is ​​randomly generated, and the method performed by the first device further includes: configuring or indicating to the second device a random number seed used to generate the first codebook matrix.

[0026] In some implementations, the matrix row permutation or element permutation is a random permutation, and the method performed by the first device further includes configuring or indicating to the second device at least one of the following: whether to use the same random matrix row permutation in the second iteration approximation to the Lth iteration approximation, or to use matrix row permutations generated randomly respectively; or whether the random matrix row permutation reuses the random number seed used to generate the first codebook matrix in the L codebook matrices, or is configured with a different random number seed. In this way, flexible configuration can be performed.

[0027] In some implementations, the matrix row permutation or element permutation is a cyclic shift, and the method performed by the first device further includes configuring or indicating to the second device at least one of the following: forward cyclic shift or backward cyclic shift; or displacement amount. In this way, the implementation of the cyclic shift can be clearly indicated.

[0028] In some implementations, the data compression method is performed at a first device, and the method further includes: sending a first message to a second device, the first message being used to request resources from the second device for sending compressed data to the second device. In this way, appropriate resources can be requested to transmit the compressed data.

[0029] In some implementations, the first message includes at least one of the following: information for directly indicating the approximate number of iterations L; or the amount of compressed data. In this way, the request for data transmission resources can be accurately made.

[0030] In some implementations, the data compression method is performed at a first device. The method further includes: receiving a second message from a second device, the second message being used to indicate resources scheduled by the second device to the first device for sending compressed data to the second device; and sending compressed data to the second device using the scheduled resources. In this way, the second device can determine the resources for the first device to send compressed data.

[0031] In some implementations, at least one of the first message or the second message includes indication information, and the indication information is used to indicate that the resource is used for incremental transmission. In this way, the compressed data can be transmitted one by one in an incremental transmission manner.

[0032] In some implementations, the compressed data sent by the first device to the second device corresponds to the basic transmission data, and sending the compressed data to the second device includes: determining that the approximate number of iterations corresponding to the compressed data sent by the resource scheduled by the second message is L1, where L1 is less than L; and sending the first column number to the L1th column number among the L column numbers to the second device. In this way, the amount of data transmission can be reduced by sending the basic transmission data.

[0033] In some implementations, the indication information in the second message indicates that the resource is used for incremental transmission, the basic transmission before the incremental transmission has sent L1 times of iteratively approximated compressed data, and sending the compressed data to the second device includes: determining that the number of iterative approximations corresponding to the compressed data sent by the resource scheduled by the second message is L2-L1, where L1 is less than L2, and L2 is less than or equal to L; and sending the L1+1th column number to the L2th column number among the L column numbers to the second device. In this way, the compression error can be reduced through the incremental data.

[0034] In some implementations, determining the approximate number of iterations corresponding to the compressed data sent by the resources scheduled by the second message includes: determining the approximate number of iterations based on the number of resources when the resources are used for compressed data alone; or obtaining indication information of the approximate number of iterations from the second message when the resources are used for compressed data and other data. In this way, the resources can be reasonably scheduled.

[0035] In the second aspect, a data processing method is provided. The method can be executed by a second device (data decompression device). Unless otherwise specified, the "second device" in this application can refer to the second device itself (for example, a network device, a terminal device), or a component in the second device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can realize all or part of the functions of the second device. The following description is taken as an example in which the execution subject is the second device. In this method, the second device obtains L column numbers of L column vectors in L codebook matrices from the compressed data after the compressed data to be compressed is compressed, wherein the elements in the L codebook matrices are two different values; based on the L column numbers and the L codebook matrices, L column vectors are determined; L coefficients corresponding to the L column vectors are determined; and based on the L coefficients and the L column vectors, an approximation of the data to be compressed is obtained, wherein L is greater than or equal to 1. In this way, an approximation of the data to be compressed can be obtained through the L column numbers and the corresponding L coefficients, and the approximate recovery of the data is performed in a concise manner.

[0036] In some implementations, the two different numerical values ​​include 1 and -1, thereby converting the multiplication operation into addition and subtraction operations, further reducing computational and storage overheads.

[0037] In some implementations, the first codebook matrix among the L codebook matrices is randomly generated or predetermined. In this way, the codebook matrix can be initialized and synchronized with the first device.

[0038] In some implementations, the method performed by the second device further includes: performing matrix row permutation on the i-1th codebook matrix among the L codebook matrices to obtain the i-th codebook matrix among the L codebook matrices. In this way, the codebook matrices for decompression can be obtained one by one.

[0039] In some implementations, the matrix row permutation includes one of the following: random matrix row permutation; or forward or backward matrix row cyclic shift based on a predetermined shift amount. In this way, a certain flexibility is provided.

[0040] In some implementations, the second device may obtain the second codebook matrix to the Lth codebook matrix from the 1st codebook matrix to the L-1th codebook matrix based on the same random matrix row permutation. Alternatively, the second device may obtain the second codebook matrix to the Lth codebook matrix from the 1st codebook matrix to the L-1th codebook matrix based on the respective determined random matrix row permutations. In this way, better flexibility may be obtained. In some implementations, the random number seed used to determine the random matrix row permutation is the same as or different from the random number seed used to randomly generate the first codebook matrix, thereby providing flexibility.

[0041] In some implementations, the L codebook matrices are the same, and obtaining an approximation of the data to be compressed based on the L coefficients and the L column vectors includes: multiplying the L coefficients and the L column vectors respectively to obtain L product column vectors; performing one or more element permutations on L-1 product column vectors except the first product column vector to obtain L product column vectors after element permutation; and summing the L product column vectors after element permutation to obtain an approximation of the data to be compressed. In this way, the approximation of the data to be compressed can be obtained by element permutation, achieving the same effect as matrix row permutation, and simplifying the calculation.

[0042] In some implementations, the element permutation includes one of the following: random element permutation; or forward or backward cyclic shift of elements based on a predetermined displacement amount. In this way, a certain flexibility can be obtained.

[0043] In some implementations, the method performed by the second device further includes: determining the i-th coefficient corresponding to the i-th codebook matrix based on the dimension n of the data to be compressed, the element variance σ of the data to be compressed, the number of columns m of the L codebook matrices, and the sequence number i of the codebook matrix. In this way, accurate decompression can be performed.

[0044] In some implementations, the determination of the i-th coefficient is also based on a residual decay coefficient q, which represents the decay rate of the sum of squares of the elements of the residual vector during the iterative approximation encoding process of the compressed data. In this way, the coefficient for decompression can be accurately determined.

[0045] In some implementations, the decompression method is performed at the second device, and the method further includes: receiving compressed data after the data to be compressed is compressed from the first device. In this way, data decompression is facilitated.

[0046] In some implementations, the compressed data includes at least one of the following: L column numbers; element mean μ of the data to be compressed; element variance σ of the data to be compressed; or the first coefficient corresponding to the first column vector. In this way, accurate decompression can be performed.

[0047] In some implementations, the decompression method is performed at the second device, and the method further includes configuring at least one of the following or receiving information indicating at least one of the following from the first device: a compression method of at least one of the element mean μ, element variance σ, or the first coefficient corresponding to the first column vector of the data to be compressed; the dimension n of the data to be compressed and the number of columns m of the L codebook matrices; a residual attenuation coefficient q, the residual attenuation coefficient q represents the decay speed of the element square sum of the residual vector in the process of iterative approximation encoding of the data to be compressed; whether the first codebook matrix in the L codebook matrices is randomly generated or predetermined; whether matrix row permutation is performed on the i-1th codebook matrix, or element permutation is performed on the product vector of the column vector and the coefficient; or whether the matrix row permutation or element permutation is random permutation or cyclic shift. In this way, accurate decompression can be performed.

[0048] In some implementations, the compression method includes at least one of the following: floating point representation; uniform scalar quantization; or not sending the element mean μ of the data to be compressed. In this way, accurate decompression can be performed.

[0049] In some implementations, the number of columns m of the L codebook matrices is determined based on the value of the dimension n. In this way, the dimension of the codebook matrix can be reasonably determined.

[0050] In some implementations, the first codebook matrix is ​​randomly generated, and the decompression method further includes: configuring a random number seed for generating the first codebook matrix or receiving information indicating the random number seed from the first device. In this way, the decompression device is facilitated to accurately generate the first codebook matrix for decompression.

[0051] In some implementations, the matrix row permutation or element permutation is a random permutation, and the decompression method further includes configuring at least one of the following or receiving information indicating at least one of the following from the first device: whether the second codebook matrix to the Lth codebook matrix use the same random matrix row permutation, or use matrix row permutations generated randomly respectively; or whether the random matrix row permutation reuses the random number seed used to generate the first codebook matrix among the L codebook matrices, or is configured with different random number seeds. In this way, appropriate configuration can be performed to accurately decompress.

[0052] In some implementations, the matrix row permutation or element permutation is a cyclic shift, and the decompression method further includes configuring at least one of the following or receiving information indicating at least one of the following from the first device: forward cyclic shift or backward cyclic shift; or displacement. In this way, the cyclic shift can be accurately configured.

[0053] In some implementations, the decompression method is performed at the second device, and the method further includes: receiving a first message from the first device, the first message being used to request the second device for resources for sending compressed data to the second device. In this way, the second device can allocate appropriate resources to the first device.

[0054] In some implementations, the first message includes at least one of the following: information for directly indicating the number L of codebook matrices; or the amount of compressed data. In this way, the required resources can be indicated.

[0055] In some implementations, the decompression method is performed at the second device, and the decompression method further includes: sending a second message to the first device, the second message being used to indicate resources scheduled by the second device to the first device for sending compressed data to the second device; and receiving compressed data from the first device using the scheduled resources. In this way, appropriate transmission resources can be scheduled to the first device to transmit the compressed data.

[0056] In some implementations, at least one of the first message or the second message includes indication information, and the indication information is used to indicate that the resource is used for incremental transmission. In this way, the incremental transmission can be accurately indicated.

[0057] In some implementations, the compressed data received from the first device corresponds to the basic transmission data, and receiving the compressed data from the first device includes: when the number of codebook matrices corresponding to the compressed data sent by the resources scheduled by the second message is L1, receiving the 1st column number to the L1th column number from the first device among the L column numbers, where L1 is less than L. In this way, the basic transmission data can be accurately decompressed and the compressed data can be approximated.

[0058] In some implementations, the indication information in the second message indicates that the resource is used for incremental transmission, and compressed data of L1 codebook matrices has been received through basic transmission before the incremental transmission, and receiving the compressed data from the first device includes: when the number of codebook matrices corresponding to the compressed data sent by the resources scheduled by the second message is L2-L1, receiving the L1+1th column number to the L2th column number from the first device among the L column numbers, wherein L1 is less than L2, and L2 is less than or equal to L. In this way, incremental decompression is performed to improve the error of the decompressed data.

[0059] In some implementations, when the resource is used solely for compressing data, the second message does not include indication information for indicating the number of codebook matrices. Alternatively, when the resource is used for compressing data and other data, the second message includes indication information for indicating the number of codebook matrices. This facilitates data decompression.

[0060] In a third aspect, a device is provided, which may be the first device (data compression device) in the above method embodiment. The "first device" may refer to the first device itself (for example, a terminal device or a network device), or a component in the first device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can implement all or part of the functions of the first device. The device includes: a data acquisition module to be compressed, for acquiring data to be compressed; an iterative approximation module, for performing L iterative approximations on the data to be compressed, wherein the L iterative approximations include: selecting L column vectors from L codebook matrices to approximate the data to be compressed, and the elements in the L codebook matrices include two different values; and a compressed data generation module, for generating compressed data after the data to be compressed is compressed based on the L column numbers of the L column vectors in the L codebook matrices. In this way, a small codebook of ±1 can be used to approximate the original signal, reducing search and storage overhead.

[0061] In a fourth aspect, a device is provided, which can be the second device (data decompression device) in the above method embodiment. The "second device" can refer to the second device itself (for example, a network device or a terminal device), or a component in the second device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can realize all or part of the functions of the second device. The device includes: a column number acquisition module, which is used to obtain L column numbers of L column vectors in L codebook matrices from the compressed data after the compressed data to be compressed is compressed, wherein the elements in the L codebook matrices are two different values; a column vector determination module, which is used to determine L column vectors based on L column numbers and L codebook matrices; a coefficient determination module, which is used to determine L coefficients corresponding to L column vectors; and an approximate vector acquisition module, which is used to obtain an approximation of the data to be compressed based on L coefficients and L column vectors, wherein L is greater than or equal to 1. In this way, the approximation of the data to be compressed can be obtained through the L column numbers and the corresponding L coefficients, and the data can be approximated and restored in a concise manner.

[0062] In a fifth aspect, a data processing device is provided, which may be the first device (data compression device) in the above method embodiment, or a chip set in the first device. The communication device includes a processor and a memory. The memory is used to store a computer program or instruction, and when the processor runs the computer program or instruction, the first device executes the method executed by the first device in the above method embodiment.

[0063] In a sixth aspect, a data processing device is provided, which may be the second device (data decompression device) in the above method embodiment, or a chip set in the second device. The communication device includes a processor and a memory. The memory is used to store a computer program or instruction, and when the processor runs the computer program or instruction, the second device executes the method executed by the second device in the above method embodiment.

[0064] In a seventh aspect, the present application provides a computer-readable storage medium, which stores machine-executable instructions. When the machine-executable instructions are executed, the method performed by the first device in the above aspects is implemented.

[0065] In an eighth aspect, the present application provides a computer-readable storage medium, which stores machine-executable instructions. When the machine-executable instructions are executed, the method performed by the second device in the above aspects is implemented.

[0066] In a ninth aspect, a computer program product is provided, the computer program product comprising: a computer program code, when the computer program code is run, the method performed by the first device in the above aspects is executed.

[0067] In a tenth aspect, a computer program product is provided, the computer program product comprising: a computer program code, when the computer program code is run, the method performed by the second device in the above aspects is executed. BRIEF DESCRIPTION OF THE DRAWINGS

[0068] Figure 1A A communication system in which the embodiments of the present application can be implemented.

[0069] Figure 1B This is a schematic diagram of dictionary compression in this application.

[0070] Figure 2 Flow chart of the data compression method in an embodiment of the present application.

[0071] Figure 3 This is a schematic diagram of using multiple rounds of codebook matrices for compression approximation in an embodiment of the present application.

[0072] Figure 4 Flow chart of the data decompression method in an embodiment of the present application.

[0073] Figure 5 It is a schematic diagram of performing row permutation on a codebook matrix in an embodiment of the present application.

[0074] Figure 6 Schematic diagram of performing random row permutation on a codebook matrix in an embodiment of the present application.

[0075] Figure 7 It is a schematic diagram of performing row cyclic shift on a codebook matrix in an embodiment of the present application.

[0076] Figure 8 It is a schematic diagram of permuting the residual vector in an embodiment of the present application.

[0077] Fig. 9 Schematic diagram of randomly permuting the residual vector in an embodiment of the present application.

[0078] Fig.10 Schematic diagram of performing row cyclic shift on a residual vector in an embodiment of the present application.

[0079] Fig.11 This is a schematic diagram of the data portion of the interaction between the data compression device and the data decompression device in an embodiment of the present application.

[0080] Fig.12 It is a schematic diagram of basic transmission and incremental transmission in an embodiment of the present application.

[0081] Fig.13 This is the interactive process of basic transmission and incremental transmission in the embodiment of the present application.

[0082] Fig.14 Schematic diagram of simulation results of independent and identically distributed Gaussian sources in an embodiment of the present application.

[0083] Fig.15 Schematic diagram of simulation results of independent and identically distributed Laplace sources in an embodiment of the present application.

[0084] Fig.16 It is a schematic diagram of the test results on the artificial intelligence (AI) model in the embodiment of the present application.

[0085] Fig.17 Schematic diagram of parameter distribution on the AI ​​model in an embodiment of the present application.

[0086] Fig.18 This is a schematic diagram of parameter distribution on an AI model in another embodiment of the present application.

[0087] Fig.19 A simplified block diagram of an example device showing a possible implementation of an embodiment of the present application.

[0088] Fig. 20 A simplified block diagram of a communication device of a possible implementation method in an embodiment of the present application is shown.

[0089] Fig.21 A simplified block diagram of a network device in a possible implementation manner of an embodiment of the present application is shown. DETAILED DESCRIPTION

[0090] In order to make the purpose, technical solution and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The specific operation methods, functional descriptions, etc. in the method embodiments can also be applied to the device embodiments or system embodiments.

[0091] Figure 1A FIG. 1 shows a communication system 100 in which the embodiments of the present application can be implemented. Figure 1A As shown, the communication system 100 may include a terminal device 101 and a network device 103, and the terminal device 101 and the network device 103 are wirelessly connected. In some embodiments, the terminal device 101 and the network device 103 can be wired. In some embodiments, one or both of the terminal device 101 and the network device 103 can be used as a data processing device (for example, a first device (data compression device) or a second device (data decompression device)), and is configured to implement the data processing method (for example, a data compression method or a data decompression method) in various embodiments described herein. However, the embodiments of the present disclosure are not limited thereto, and the data processing method in the various embodiments described herein can also be implemented at any other communication device or data processing device.

[0092] As mentioned above, transform domain compression based on dictionary learning (hereinafter referred to as "dictionary compression") is a very effective compression method for high-dimensional vector data. However, dictionary compression is relatively complex and is not conducive to implementation in terminal devices with weak computing power. When implemented in network devices, it is also not conducive to multi-channel concurrency and system capacity expansion. Such problems also exist when used in other systems. The main process of dictionary compression can be used Figure 1B 110 in the process.

[0093] Assuming that the original data to be compressed is represented by a vector S, dictionary compression can represent vector S as a linear combination of several vectors in a dictionary. Here, a three-vector combination is taken as an example, that is, three vectors are selected from a given dictionary so that their linear combination can best approximate the original signal: The best approximate solution can be obtained by solving the following optimization problem: Where i is the subscript of the column selected from the dictionary, such as Figure 1B The columns indicated by 111, 113, and 115 in FIG. is the corresponding linear combination coefficient. The decompression device obtains Afterwards, use Just decompress it.

[0094] The applicability of this dictionary compression scheme is very wide. Common transform domain compression can be regarded as a compression scheme with a fixed dictionary (for example, fixed to an FFT matrix or a wavelet transform matrix, etc.). For data that cannot achieve good compression effects under common FFT matrices or wavelet transforms, for example, the dictionary matrix A in dictionary compression can be obtained by solving the dictionary learning problem, so as to achieve the best compression effect. Dictionary compression can be used in a variety of air interface native data compression scenarios, such as: point cloud data compression, artificial intelligence (AI) model data compression, channel state information (CSI) compression, etc.

[0095] The main problem with dictionary compression when applied to scenarios such as air interface native data compression is that it is relatively complex, which is not conducive to terminal device implementation. First, the optimization problem that needs to be solved for dictionary compression is highly complex. Secondly, when facing general data, the acquisition and update of the dictionary itself requires solving the dictionary learning problem, and the complexity of solving this problem is also relatively high. Secondly, the dictionary itself requires a large storage space. Moreover, dictionary compression is only effective when the source has a certain structure. For some unstructured data, such as data where each element is independent and identically distributed (iid), it is difficult to find a set of effective dictionaries that can represent the original signal in a sparse manner, for example. At this time, the dictionary compression scheme will fail. Therefore, it is urgent to find a low-complexity data compression method.

[0096] In view of this, an embodiment of the present application provides a technical solution for data compression, which can provide a lossy compression solution with lower complexity than compression based on dictionary learning. In the data compression solution of some embodiments, a small codebook can be used to approximate the original signal to reduce search and storage overhead. In addition, the multiplication operation can be converted into an addition operation through a ±1 codebook, further reducing the computational and storage overhead. Furthermore, each iteration can use the same codebook matrix (for example, the residual vector can be transformed to a certain extent), or be transformed from the same matrix, thereby further reducing the storage overhead. Some embodiments of the present disclosure are suitable for the compression of arbitrary high-dimensional vector data. For example, it can achieve better results than dictionary compression and scalar quantization in the compression of non-structured source data. It has lower complexity than dictionary compression and is conducive to hardware implementation. This technical solution can be aimed at, for example, future wireless communication systems with perception functions, such as next-generation cellular systems, short-range wireless communication systems, etc. (such as Wi-Fi, UWB), and can be widely used in terminal devices or network-side devices in future wireless communication scenarios. The following is combined with Figures 2 to 21 To further describe the embodiments of the present disclosure.

[0097] Figure 2 Flow chart of the data compression method in an embodiment of the present application. Figure 2 The process 200 in the embodiment may be executed in a first device (data compression device). In some embodiments, the first device (data compression device) may be, for example, Figure 1A The terminal device 101, the network device 103, or Figure 1A Any other communication device or data processing device not shown in the figure. The "first device" may refer to the first device itself (for example, a terminal device or a network device), or a component in the first device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can realize all or part of the functions of the first device.

[0098] In process 200, at 210, the data compression device obtains data to be compressed. At 220, the data compression device performs L iterative approximations on the data to be compressed, wherein the L iterative approximations include: selecting L column vectors from L codebook matrices to approximate the data to be compressed, and the elements in the L codebook matrices include two different values. At 230, the data compression device generates compressed data after the data to be compressed is compressed based on the L column numbers of the L column vectors in the L codebook matrices. In the embodiment of the present disclosure, the data compression device can also generate compressed data after the data to be compressed is compressed based on the L column vectors themselves.

[0099] In the disclosed embodiment, the two different values ​​may be +P and -Q, and the absolute values ​​of +P and -Q are different, so as to achieve the fitting of the data to be compressed whose mean is not 0. The two different values ​​may be +P and -P, and the absolute values ​​of +P and -P are the same, such as +2 and -2, +4 and -4, etc., which can save storage space. The nth power of 2 can use bit shift operation instead of multiplication operation to save operation.

[0100] In the embodiment of the present disclosure, the two different numerical values ​​may be +1 and -1, thereby further simplifying the multiplication operation into addition and subtraction operations, further reducing computational and storage overheads.

[0101] Figure 2 The process in this paper is an improved solution under the dictionary compression framework. The specific steps can be obtained by Figure 3 The invention is characterized in that: a small codebook is used to approximate the original signal, thereby reducing the search and storage overhead; a ±1 codebook is used to convert multiplication operations into addition and subtraction operations, thereby further reducing the calculation and storage overhead. In some embodiments, each iteration uses the same codebook matrix, and a certain transformation processing needs to be performed on the residual vector after each iteration. In some embodiments, the codebook matrix of each iteration can be obtained by transforming the same matrix. Through the above implementation, the storage overhead can be further reduced.

[0102] exist Figure 3 In the above example, each iteration approximates the residual after the previous iteration. The purpose of each iteration is to obtain the residual from the matrix A. (i) Select the column with the greatest correlation with the vector to be approximated: Then multiply the column vector by the fixed coefficient c i To the residual r of the previous iteration i-1 Approximate and get the residual of this round of iteration Participate in the next round of iteration. For example, for the first round of iteration, the vector to be approximated can be the original vector S, in the codebook matrix A (1) In the (1) Column, that is And get the residual For the second round of iteration, the residual r1 is used as the vector to be approximated. (2) In the (2) Column, that is And get the residual ... and repeat this process for L rounds. (1) In the codebook matrix, 1 and -1 can satisfy the Bernoulli distribution with probability 0.5. In the embodiment of the present disclosure, the result obtained after compressing the original signal S can be a series of subscripts: {j (1) ,j (2) ,…}. After obtaining these indices, the data decompression device can use linear combinations As a result of the decompression, the original vector S is approximated. In the embodiment of the present disclosure, the coefficients {c i} may be agreed upon in advance by the data compression device and the data decompression device, so it is not necessary to explicitly send it from the data compression device to the data decompression device, thereby saving signaling transmission between the data compression device and the data decompression device and simplifying the implementation. In the embodiment of the present disclosure, for the matrix A in the iterative process, (l) There is no need to make too many requirements. From a statistical point of view, as long as the number of ±1 elements is basically equal and the column vectors of the matrix are kept constant in each iteration, and r i-1 The statistical independence can be achieved as much as possible, thereby simplifying the implementation and improving the execution efficiency. The subsequent embodiments of this disclosure will explain the codebook matrix design, the transformation process of the codebook and the residual in the iteration, the selection of the coefficient c and the performance analysis.

[0103] Figure 4 Flow chart of the data decompression method in an embodiment of the present application. Figure 4 The process 400 in the embodiment can be executed in a data decompression device. In some embodiments, the data decompression device can be, for example, Figure 1AThe terminal device 101, the network device 103, or Figure 1A Any other communication equipment or data processing equipment not shown.

[0104] In 410, the data decompression device obtains L column numbers of L column vectors in L codebook matrices from the compressed data after the data to be compressed is compressed, wherein the elements in the L codebook matrices are two different values. In 420, the data decompression device determines L column vectors based on the L column numbers and the L codebook matrices. In 430, the data decompression device determines L coefficients corresponding to the L column vectors. In 440, the data decompression device obtains an approximation of the data to be compressed based on the L coefficients and the L column vectors, wherein L is greater than or equal to 1. In this way, an approximate fitting of the original data to be compressed can be achieved, which saves the amount of calculation and improves the operation efficiency.

[0105] In the disclosed embodiment, the two different values ​​may be +P and -Q, and the absolute values ​​of +P and -Q are different, so as to achieve the fitting of the data to be compressed whose mean is not 0. The two different values ​​may be +P and -P, and the absolute values ​​of +P and -P are the same, such as +2 and -2, +4 and -4, etc., which can save storage space. The nth power of 2 can use bit shift operation instead of multiplication operation to save operation.

[0106] In the embodiment of the present disclosure, the two different numerical values ​​may be +1 and -1, thereby further simplifying the multiplication operation into addition and subtraction operations, further reducing computational and storage overheads.

[0107] Let’s go back to the specific process of data compression. In each round of iteration, we need to ensure that the column vectors of the small matrix and r i-1 Statistical independence, one implementation is to randomly generate a matrix for iteration according to Bernoulli distribution (the probability of positive or negative 1 is 0.5) for each iteration. This implementation may waste unnecessary storage space, and the generation of random numbers may also be time-consuming, which is not conducive to high-speed hardware implementation. In subsequent embodiments, the same codebook matrix or a variation of the same codebook matrix can be used to implement all iterations, thereby simplifying the implementation, improving the computational efficiency, and ensuring that the performance is not affected.

[0108] In this embodiment, a first codebook matrix with ±1 elements is generated only in the first iteration. The first codebook matrix can be randomly generated during compression (the data compression device and the data decompression device need to share a random number seed), or a pre-configured ±1 matrix, thereby providing more options for the generation of the first codebook matrix and improving flexibility. The codebook matrix used in each subsequent round of iteration is obtained by permuting the rows of the first matrix. The main process is as follows: Figure 5 shown.

[0109] In process 500, at 510, the first codebook matrix A is obtained. (1) , in 540, for the original vector S, A is obtained by taking the maximum value through the inner product operation (1) The jth (1) List And get the residual r (1) , where “<>” is the inner product operation. At this time, from A (1) A vector selected from all columns of and the original vector S has the greatest correlation. Subsequently, the coefficients c1 and The product of To approximate the original vector S. In 520, for the first codebook matrix A (1) Perform row transformation to obtain the second codebook matrix A (2) In 550, for the residual r (1) , A is obtained by taking the maximum value of the inner product operation (2) The jth (2) List And get the residual r (2) At this time, from A (2) A vector selected from all columns of and residual r (1) Has the greatest correlation. Using coefficients c2 and The product of To approximate the residual r (1) . This iterates L times and obtains the Lth codebook matrix A (L) , and select the vector The number of iterations L can be a preset value or can be calculated based on the residual r of the i-th iteration. (i) Finally, the column number j selected from the 1st codebook matrix to the Lth codebook matrix is ​​obtained. (1) to (L) , instead of all codebook matrices A (1) To A (L) All are sent to the data decompression device, thereby reducing storage space and simplifying calculations.

[0110] From the first codebook matrix A (1) Generate A successively (L)The row permutation can be a random permutation or a simple row rotation. Random permutation can obtain better randomness between matrices, while row rotation can simplify the process of obtaining the subsequent codebook matrix and simplify the calculation. In the embodiment of the present disclosure, a permutation mode indication can be added to indicate one of the two permutation methods, thereby realizing the synchronization of the data compression device and the data decompression device. If row rotation is used, it can be configured in advance whether to use forward circular shift or backward circular shift, and the corresponding displacement. If random row permutation is used, the data compression device can indicate to the data decompression device whether to reuse the same random row permutation method for each iteration, or to randomly generate a new row permutation method for each iteration, and the new row permutation method randomly generated for each iteration can be determined separately in the iteration. Random row permutation can reuse the random number seed of the codebook matrix, or use a random number seed of another shared random permutation, thereby providing more options and improving flexibility.

[0111] In the embodiment of the present disclosure, the specific random row replacement process is as follows: Figure 6 As shown, a simple forward circular shift or row rotation process is as follows Figure 7 As shown. Figure 6 In the codebook matrix A (i-1) 610 performs random row permutation to obtain the codebook matrix A (i) 620. Figure 7 In the codebook matrix A (i-1) 710 performs forward cyclic shift to obtain the codebook matrix A (i) 720.

[0112] In the embodiment of the present disclosure, the data decompression device can synchronously use the same codebook matrix to iterate with the data compression device, and then use As the output of decompression.

[0113] In the above-mentioned embodiment, the behavior of permuting the rows of the codebook matrix in each iteration is mathematically equivalent to permuting the elements of the residual vector obtained in each iteration. In the disclosed embodiment, it is simpler to permute the elements of a vector than to permute the rows of a matrix. Each iteration uses the same codebook matrix and permutes the residual vector obtained after each iteration approximation, so as to further reduce the computational overhead. The specific process is as follows Figure 8 shown.

[0114] In the embodiment of the present disclosure, in process 800, a codebook matrix A is obtained at 810. At 820, the jth vector most similar to the original vector S is obtained in the codebook matrix A through an inner product operation “<>”. (1) columns and obtain the residual vector Residual Perform element permute to obtain the residual vector r(1) At 830, the residual vector r is obtained in the codebook matrix A. (1) The most similar j (2) columns and obtain the residual vector Residual Perform element permutation to obtain the residual vector r (2) By analogy, in 840, for the Lth iteration, the residual vector r is obtained in the codebook matrix A. (L-1) The most similar j (L) This completes the element permutation process of the residual vector and outputs the column number j generated by each iteration. (1) 、j (2) ,……,j (L) In the disclosed embodiment, the element permutation of the residual vector may be implemented by random element permutation or by cyclic shift. The cyclic shift may be a backward cyclic shift or a forward cyclic shift. Fig. 9 In the residual vector 910 performs random element permutation to obtain a residual vector r 920. Fig.10 In the residual vector 1010 performs element cyclic shift to obtain a residual vector r 1020.

[0115] Unlike matrix row permutation, since the data compression device performs a series of element permutations on the residual vector, the embodiment of the present disclosure can perform a series of inverse permutation operations at the receiving end or the data decompression device. For example, the element permutation operations of the residual vector before and after each iteration of the data compression device are recorded as follows: There are L iterations in total, and the last iteration does not require element permutation of the residual vector. The corresponding element inverse permutation operation is recorded as: The data compression device is equivalent to performing the following series of operations and approximations:

[0116]

[0117]

[0118]

[0119] …

[0120]

[0121]

[0122] At this time, the data decompression device may not simply use the linear combination of vectors and coefficients to restore the original data, but embed the corresponding element replacement operation into the decompression process. The final output result of the data decompression device may be:

[0123]

[0124] in this way, and Etc. can be processed in parallel to improve processing efficiency and reduce decompression delay.

[0125] In the embodiment of the present disclosure, if the data compression device uses the same element replacement method for the residual vector in each iteration, They can be denoted as The operation process of the data decompression device can be further simplified as follows:

[0126]

[0127] In this way, the calculation can be further simplified. Moreover, Operations such as Cascade operations of operations can be performed to further simplify calculations and reduce decompression delays.

[0128] In the embodiment of the present disclosure, the coefficient c in the iterative approximation process is i (1≤i≤L) may not be displayed, stored or sent, because they can be calculated by the data compression device and the data decompression device after agreeing on the corresponding parameters. i It is related to the dimension, mean, variance of the data to be compressed S, and the dimension of the codebook matrix of each iteration. The data compression device and the data decompression device can only agree on these parameters, and do not need to explicitly send the coefficients c of each iteration. i In this way, the signaling transmission between the data compression device and the data decompression device can be simplified, saving signaling resources. i The detailed description is as follows.

[0129] In the disclosed embodiment, the original data S to be compressed can be approximated by continuous iteration, wherein one requirement is that as the iteration proceeds, the energy of the residual vector of each iteration becomes smaller and smaller. In the disclosed embodiment, it is hoped that the energy of the residual vector can decay exponentially with the number of iterations. The coefficient c can be derived by induction i The expression of is as follows.

[0130] First, the variance of the original data S to be compressed (assuming the mean is 0) is: The compressed code rate can be obtained as: In the disclosed embodiment, the goal is to hope that the energy of the residual vector of each iteration can decay exponentially with the number of iterations. It is assumed that the variance of the residual vector at the i-1th iteration is: The goal of the disclosed embodiment is to select a suitable coefficient c i , and through the i-th iteration process in this embodiment: (in ), so that the residual vector after the i-th iteration satisfies: This is true in an asymptotic sense, and the derivation is as follows:

[0131] Can Deform, get This variation can be done by taking the square of both sides of the equation and dividing by N. Using the central limit theorem (vector r i-1 The elements of are as independent and identically distributed as possible). can be the maximum value among m independent standard Gaussian distribution random variables, so asymptotically we have Combining these results gives: In the embodiment of the present disclosure, since it is desired to obtain The combined equations give a quadratic equation: From the above derivation, we can get that as long as c i The value of is the solution of the quadratic equation, then in the asymptotic sense we have Established. Solving the above quadratic equation gives The attenuation coefficient q must satisfy the constraint: q represents the decay rate of the residual vector energy, so the value of q should be as small as possible under the condition of satisfying the constraints, so the theoretically optimal (small) at this time In this way, the coefficient c can be calculated locally in both the data compression device and the data decompression device. i , without the need for signaling transmission, saving signaling resources and simplifying implementation.

[0132] In the embodiment of the present disclosure, the optimal value q of q is * The analysis is asymptotically valid when n and m tend to infinity. However, for finite n and m, the above parameter selection is not necessarily optimal. In this case, the optimal q can be searched in an interval near the theoretical optimal q*, and the q with the best actual compression effect can be selected. It can be seen that in the disclosed embodiment, the data compression device and the data decompression device can agree on the parameters n (the dimension of the compressed data S, or the number of rows of the codebook matrix), m (the number of columns of the codebook matrix) and q, and calculate the coefficient c based on n, m, and q. i). Since the optimal q is independent of the number of iterations L, the data compression device and the data decompression device only need to agree on the parameters n and m. The data compression device and the data decompression device can also calculate the coefficient c based on the variance σ of the interacting original data (optionally, c1 can also be interacted instead of σ) i In the embodiment of the present disclosure, the original data S may be decentralized, and the data compression device and the data decompression device may also exchange the mean μ. In this way, the adaptability to various different data to be compressed may be improved.

[0133] The application scenario of the embodiment of the present disclosure may be, for example, air interface native data compression in a communication system. The data compression device and the data decompression device may interact over the air interface, and thus may have some impact on the air interface signaling. The air interface interactive signaling in the embodiment of the present disclosure will be described later. First, the data compression device needs to send the compressed data to the data decompression device. This part of the data mainly includes: the bit representation of the subscript of the column selected in the iterative process coding matrix, and the current data mean μ, variance σ or c1 value.

[0134] Fig.11 The data part 1100 in which the compression device and the decompression device interact includes the mean μ and variance σ of the original data S, and the column number or column subscript j selected by the iterative process encoding matrix. (i) .

[0135] In the embodiments of the present disclosure, the data compression device and the data decompression device may be configured as follows, or the data compression device may instruct the data decompression device as follows.

[0136] The data compression device and the data decompression device can be configured, or the data compression device can indicate the compression method and compression parameters of the mean μ, variance σ or c1 to the data decompression device. The compression method can be a floating point representation of a certain precision, such as half precision (16 bits), single precision (32 bits) or double precision (64 bits). The compression method can also use uniform scalar quantization with a fixed number of bits (p bits). At this time, the quantization interval size can be configured, and the excess value can be truncated or processed in other ways. For example, for some specific scenarios where the mean μ is always 0, the compression method can also be configured not to send the mean. In this way, the data compression device efficiently obtains compressed data and transmits the compressed data to the data decompression device for data decompression and recovery.

[0137] The data compression device and the data decompression device can be configured, or the data compression device can indicate the following compression parameters to the data decompression device: the dimension n of the data to be compressed, and the number of columns m of the codebook matrix. The dimension n of the data to be compressed can be implicitly indicated by air interface signaling, or it can be explicitly indicated. The number of columns m of the codebook matrix can be pre-configured with all possible sets, and then one of the values ​​is activated according to the size of n and the actual situation, usually m>=n. Optionally, the error attenuation coefficient q can also be configured. In this case, the optimal q is corresponding to the non-optimal case. No interaction is required. In this way, synchronization between the data compression device and the data decompression device is achieved.

[0138] In the disclosed embodiment, the data compression device and the data decompression device can configure the generation method of the codebook matrix, or the data compression device can instruct the data decompression device to randomly generate or pre-configure a certain codebook matrix. If it is randomly generated, a random number seed needs to be configured. In this way, synchronization between the data compression device and the data decompression device is achieved.

[0139] In the disclosed embodiment, a mode selection can be made between two modes: matrix row permutation and residual vector element permutation. For example, residual vector element permutation can be selected, which is relatively simple to implement; or a residual vector permutation mode can be fixedly selected, such as forward circular shift, which is relatively simple to implement and saves computing resources.

[0140] In the disclosed embodiment, the data compression device and the data decompression device can configure whether the element permutation of the above-mentioned residual vector is a random permutation or a simple rotation or circular shift. For example, a simple rotation or circular shift, such as a forward circular shift or a backward circular shift, can be preferred, or it can be fixed to this mode to simplify the implementation. If rotation is used, the forward circular shift or the backward circular shift, as well as the displacement amount, can be configured. If random permutation is selected, the data compression device can instruct the data decompression device whether to reuse the same random permutation or to randomly generate a new permutation at each iteration. The random permutation can reuse the random number seed of the codebook matrix to simplify the implementation; or additionally configure the random number seed of the random permutation to increase flexibility.

[0141] The disclosed embodiment performs iterative approximation on the data to be compressed, and the accuracy of the approximation becomes higher and higher as the iteration proceeds. Therefore, the disclosed embodiment has the ability of incremental compression and transmission, for example, two transmissions are performed: basic transmission and incremental transmission. The data compression device uses the results of the previous several iterations as the basic transmission, and the data decompression device can decompress the results of the basic transmission. If the accuracy of this result does not meet the requirements, the data compression device can be instructed to transmit the results of the next several iterations as incremental data, and the data decompression device can combine the basic transmission part and the incremental transmission part to obtain a decompression result with higher accuracy. Through the method of basic transmission and incremental transmission, the flexibility of compression and decompression is improved, and it can adapt to application scenarios with different error requirements.

[0142] Fig.12 Schematic diagram of basic transmission and incremental transmission in the embodiment of the present application. In the embodiment 1200 including basic transmission and incremental transmission, the basic transmission data includes: variance σ, column vector subscript j selected in the codebook matrix (1) to (L1) When the data decompression device decompresses the basic transmission data and finds that the decompressed data is not accurate enough, it can instruct the data compression device to retransmit the incremental transmission data, that is, the column vector subscript j selected in the codebook matrix (L1+1) to (L1+L2) Column vector subscript j (1) to (L1) and j (L1+1) to (L1+L2) Logm bits may be used to identify m columns of the codebook matrix.

[0143] In the embodiment of the present disclosure, data transmission over an air interface involves application and scheduling of resources, which will be described later in conjunction with resource scheduling signaling over the air interface.

[0144] Fig.13 This is the interactive process of basic transmission and incremental transmission in the embodiment of the present application, which mainly involves resource scheduling and data transmission of basic transmission and incremental transmission.

[0145] In the embodiment 1300, resource application and scheduling mainly involve indication of the number of iterations, specifically resource application, resource scheduling, basic transmission, and incremental transmission. In some embodiments, the data compression device or the first device 1301 may be a terminal device 101, and the data decompression device or the second device 1302 may be a network device 103. In other embodiments, the data compression device or the first device 1301 may be a network device 103, and the data decompression device or the second device 1302 may be a terminal device 101. In other embodiments, the data compression device or the first device 1301 may be any appropriate communication device or data processing device, and the data decompression device or the second device 1302 may be any appropriate other communication device or data processing device.

[0146] The first device 1301 may send (1305) a resource application 1310 to the second device 1303. The resource application 1310 may display and report the total number of iterations L', or may report the required resources in a buffer status report (BSR). The second device 1303 sends (1315) a resource schedule 1320 to the first device 1301. The resource schedule 1320 may indicate the number of iterations L1 currently scheduled, and use 1 bit to indicate that the current transmission is a basic transmission. The first device 1301 sends (1325) a data report 1330 to the second device 1303. The data report 1330 may report the variance data and the results of the compression of the previous L1 iterations on the specified resources. The second device 1303 sends (1335) a resource schedule 1340 to the first device 1301. The resource schedule 1340 may indicate the number of iterations L2 currently scheduled, and use 1 bit to indicate that the current transmission is an incremental transmission. The first device 1301 sends (1345) a data report 1350 to the second device 1303. The data report 1350 may report the result of L1+1 to L2 iteration compression on the specified resource. In the embodiment of the present disclosure, it is optional for the first device 1301 to send a resource application 1310. In the case where the first device 1301 does not send a resource application 1310, the first device 1301 may also be allocated appropriate resources through resource scheduling 1320, 1340.

[0147] In the disclosed embodiment, when the first device 1301 indicates L' in the resource application 1310, L' may be the total number of iterations, representing the amount of data that the first device 1301 wishes to transmit, i.e., the resource application size; L' may be implicitly indicated, for example, by reporting the amount of raw data to be compressed through BSR. The actual number of iterations sent depends on the size of the scheduled resources, which can be calculated by the first device 1301 using the parameters m, n and the number of variance quantization bits p; resources may be scheduled once or in multiple times.

[0148] In the disclosed embodiment, the second device 1303 indicates L1 or L2 in resource scheduling 1320 or resource scheduling 1340. At this time, L1 or L2 represents the resource size currently scheduled by the second device 1303. If the resource is used alone for the data to be transmitted, L1 or L2 does not need to be explicitly indicated, and the first device 1301 can calculate it through the resource size and the values ​​of each parameter. If the resource needs to be multiplexed with other data, L1 or L2 can be explicitly indicated in, for example, a physical downlink control channel (physicalDonwlink Control Channel, PDCCH). It can be understood by those of ordinary skill in the art that L1 or L2 can also be indicated by a media access control control element (Medai Access Control Control Element, MAC CE) or other signaling methods.

[0149] In the embodiment of the present disclosure, no matter which method is used, the first device 1301 or the second device 1303 needs to be able to indicate whether incremental transmission is required, which can be determined according to the current distortion size. For example, the first device 1301 uses 1 bit to declare whether the resource is used for incremental transmission when applying for resources, or the second device 1303 uses 1 bit to indicate to the first device 1301 whether the scheduling is used for incremental transmission when scheduling resources. It can be understood by those of ordinary skill in the art that the first device 1301 or the data compression device can be located in the network device, and the second device 1303 or the data decompression device can be located in the terminal device. At this time, there is no need for resource application 1310, resource scheduling 1320, 1340 is sent by the first device 1310 to the second device 1303, and data reporting 1330, 1350 is updated to data sending.

[0150] Fig.14 , Fig.15 They are schematic diagrams of simulation results of independent and identically distributed Gaussian sources and independent and identically distributed Laplace sources in the embodiments of the present application. Fig.14 , Fig.15 The horizontal axis is the number of compressed bits / codebook matrix columns n, indicating how many bits each element is compressed into on average, and the vertical axis is the error MSE. Fig.14 , Fig.15 It can be seen that the embodiment of the present disclosure achieves a good compression effect on the independent and identically distributed (iid) information source that has no structure.

[0151] Fig.16 This is a schematic diagram of the test results on the artificial intelligence (AI) model in the embodiment of the present application. 1600 specifically shows the test results on data compression of a small convolutional neural network model, achieving good compression effect. Fig.17 , Fig.18is a schematic diagram of parameter distribution on the AI ​​model in the embodiment of the present application, specifically showing Fig.16 The statistical distribution histogram of the neural network model parameters. The data distribution 1700 of the convolutional layer is very close to the Gaussian distribution, while the distribution 1800 of the fully connected layer is very close to the Laplace distribution.

[0152] In the embodiments provided by the present application, the methods provided by the embodiments of the present application are introduced from the perspective of network equipment, terminal equipment, and the interaction between network equipment and terminal equipment. In order to realize the functions in the methods provided by the embodiments of the present application, the network equipment and the terminal equipment may include hardware structures and / or software modules, and the functions are realized in the form of hardware structures, software modules, or hardware structures plus software modules. Whether a function in the functions is executed in the form of hardware structures, software modules, or hardware structures plus software modules depends on the specific application and design constraints of the technical solution.

[0153] Fig.19 and Fig. 20 A schematic diagram of the structure of possible communication devices provided for embodiments of the present application. These communication devices can implement the functions of the terminal device or network device in the above method embodiments, and thus can also achieve the beneficial effects possessed by the above method embodiments. In the embodiments of the present application, the communication device can be a terminal device 101 as shown in FIG. 1, or a network device 103 as shown in FIG. 1, or a module (such as a chip) applied to a terminal device or a network device.

[0154] like Fig.19 As shown, the communication device 1900 includes a transceiver module 1901 and a processing module 1902. The communication device 1900 can be used to implement the above Figure 2 , Figure 4 The functions of the terminal device 101 or the network device 103 in the method embodiment are shown.

[0155] When the communication device 1900 is used to implement Figure 2 The functions of the data compression device in the described method embodiment are: a transceiver module 1901, configured to obtain data to be compressed. A processing module 1902, configured to perform L iterative approximations on the data to be compressed, wherein the L iterative approximations include: selecting L column vectors from L codebook matrices to approximate the data to be compressed, wherein the elements in the L codebook matrices include two different values; and generating compressed data after the data to be compressed is compressed based on the L column numbers of the L column vectors in the L codebook matrices.

[0156] When the communication device 1900 is used to implement Figure 4The functions of the data decompression device in the described method embodiment are: a transceiver module 1901, used to obtain L column numbers of L column vectors in L codebook matrices from the compressed data after the data to be compressed is compressed, wherein the elements in the L codebook matrices are two different values. A processing module 1902, used to determine L column vectors based on the L column numbers and the L codebook matrices; determine L coefficients corresponding to the L column vectors; and obtain an approximation of the data to be compressed based on the L coefficients and the L column vectors, wherein L is greater than or equal to 1.

[0157] like Fig. 20 As shown, the communication device 2000 includes a processor 2010 and an interface circuit 2020. The processor 2010 and the interface circuit 2020 are coupled to each other. It is understood that the interface circuit 2020 can be a transceiver or an input-output interface. Optionally, the communication device 2000 may also include a memory 2030 for storing instructions executed by the processor 2010 or storing input data required by the processor 2010 to run the instructions or storing data generated after the processor 2010 runs the instructions. In the embodiment of the present disclosure, the memory 2030 may be integrated with the processor 2010 or may be separately provided.

[0158] When the communication device 2000 is used to implement the method in the above method embodiment, the processor 2010 is used to execute the function of the above processing module 1902, and the interface circuit 2020 is used to execute the function of the above transceiver module 1901.

[0159] When the above communication device is a chip applied to a terminal device, the terminal device chip implements the functions of the terminal device in the above method embodiment. The terminal device chip receives information from other modules in the terminal device (such as a radio frequency module or an antenna), and the information is sent by the network device to the terminal device; or the terminal device chip sends information to other modules in the terminal device (such as a radio frequency module or an antenna), and the information is sent by the terminal device to the network device.

[0160] When the above communication device is a chip applied to a network device, the network device chip implements the function of the network device in the above method embodiment. The network device chip receives information from other modules in the network device (such as a radio frequency module or an antenna), and the information is sent by the terminal device to the network device; or the network device chip sends information to other modules in the network device (such as a radio frequency module or an antenna), and the information is sent by the network device to the terminal device.

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

[0162] When the device in the embodiment of the present application is a network device, the device can be as follows Fig.21 The device may include one or more radio frequency units, such as a remote radio unit (RRU) 2110 and one or more baseband units (BBU) (also referred to as digital units, digital units, DU) 2120. The RRU 2110 may be referred to as a transceiver module, which may include a transmitting module and a receiving module, or the transceiver module may be a module capable of transmitting and receiving functions. The transceiver module may be connected to Fig.19 The RRU 2110 corresponds to the transceiver module 1901 in the base station, that is, the actions performed by the transceiver module 1901 can be performed. Optionally, the transceiver module can also be called a transceiver, a transceiver circuit, or a transceiver, etc., which may include at least one antenna 2111 and a radio frequency unit 2112. The RRU 2110 part is mainly used for receiving and transmitting radio frequency signals and converting radio frequency signals into baseband signals. The BBU 2110 part is mainly used for baseband processing, controlling the base station, etc. The RRU 2110 and the BBU 2120 can be physically set together or physically separated, that is, a distributed base station.

[0163] The BBU 2120 is the control center of the base station, which can also be called a processing module. Fig.19 The processing module 1902 in the embodiment corresponds to the processing module 1903, and is mainly used to complete baseband processing functions, such as channel coding, multiplexing, modulation, spread spectrum, etc. In addition, the processing module can execute the actions executed by the processing module 1902. For example, the BBU (processing module) can be used to control the base station to execute the operation flow of the network device in the above method embodiment.

[0164] In one example, the BBU 2120 may be composed of one or more single boards, and the multiple single boards may jointly support a wireless access network of a single access standard (such as an LTE network), or may respectively support wireless access networks of different access standards (such as an LTE network, a 5G network, or other networks). The BBU 2120 also includes a memory 2121 and a processor 2122. The memory 2121 is used to store necessary instructions and data. The processor 2122 is used to control the base station to perform necessary actions, for example, to control the base station to execute the operation process of the network device in the above method embodiment. The memory 2121 and the processor 2122 can serve one or more single boards. In other words, a memory and a processor may be separately set on each single board. It is also possible that multiple single boards share the same memory and processor. In addition, necessary circuits may also be set on each single board.

[0165] The present application embodiment provides a communication system. The communication system may include the above Figure 2 The data compression device involved in the embodiment shown, such as a terminal device, and a Figure 4 The data decompression device involved in the embodiment shown is, for example, a network device. Optionally, the terminal device and the network device in the communication system may execute Figure 2 , Figure 4 Any of the communication methods shown in .

[0166] The present application also provides a circuit that can be coupled to a memory and can be used to execute a process related to a terminal device or a network device in any of the above method embodiments. The chip system may include the chip and other components such as a memory or a transceiver.

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

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

[0169] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, the memory (storage module) is integrated in the processor.

[0170] It should be noted that the memory described herein is intended to include, without being limited to, these and any other suitable types of memory.

[0171] 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.

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

[0173] It can be clearly understood that, for the convenience and brevity of description, the specific working processes of the systems, devices and modules described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

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

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

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

[0177] If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or the part that makes the contribution or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method of each embodiment of the present application. The aforementioned computer-readable storage medium can be any available medium that can be accessed by a computer. By way of example but not limitation, computer-readable media may include random access memory (RAM), read-only memory (ROM), electrically erasable programmable read only memory (EEPROM), compact disc read-only memory (CD-ROM), universal serial bus flash disk, mobile hard disk, or other optical disk storage, magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer.

[0178] As used herein, the term "including" and similar terms should be understood as open inclusion, i.e., "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. can refer to different or identical objects, and are only used to distinguish the objects referred to, without implying a specific spatial order, temporal order, order of importance, etc. of the objects referred to. In some embodiments, values, processes, selected items, determined items, equipment, devices, means, components, assemblies, etc. are referred to as "best", "lowest", "highest", "minimum", "maximum", etc. It should be understood that such descriptions are intended to indicate that a selection can be made among many available functional options, and such selections do not need to be better, lower, higher, smaller, larger or otherwise preferred than other options in other aspects or all aspects. As used herein, the term "determine" can cover a variety of actions. For example, "determine" can include calculation, calculation, processing, export, investigation, search (e.g., search in a table, database or another data structure), ascertainment, etc. Additionally, "determining" may include receiving (eg, receiving information), accessing (eg, accessing data in a memory), etc. Furthermore, "determining" may include resolving, selecting, choosing, establishing, etc.

Claims

1. A method comprising: Get the data to be compressed; Performing L iterative approximations on the data to be compressed, wherein the L iterative approximations include: selecting L column vectors from L codebook matrices to approximate the data to be compressed, respectively, and elements in the L codebook matrices include two different values; as well as Based on the L column numbers of the L column vectors in the L codebook matrices, compressed data is generated after the data to be compressed is compressed.

2. The method according to claim 1, wherein The two different numerical values ​​include 1 and -1.

3. The method according to claim 1 or 2, wherein the i-th iteration approximation of performing L iteration approximations comprises: Based on the vector to be approximated, in an i-th codebook matrix among the L codebook matrices, determine an i-th column vector among the L column vectors; Wherein, in the i-th iterative approximation, the vector to be approximated is determined based on the residual vector corresponding to the i-1-th iterative approximation, in the 1st iterative approximation, the vector to be approximated is the data to be compressed, wherein L is greater than 1 and i is less than or equal to L, and the residual vector corresponding to the i-1-th iterative approximation is the error in the i-1-th iterative approximation.

4. The method according to claim 3, wherein the i-th iteration approximation of performing L iteration approximations further comprises: The vector to be approximated is approximated using the i-th column vector and the i-th coefficient corresponding to the i-th column vector.

5. The method according to claim 3 or 4, wherein the i-th iteration approximation of performing L iteration approximations further comprises: An i-th residual vector between the vector to be approximated and the product of the i-th column vector multiplied by the i-th coefficient is determined.

6. The method according to any one of claims 3 to 5, wherein determining the i-th column vector in the i-th codebook matrix based on the vector to be approximated comprises: Among the multiple column vectors of the i-th codebook matrix, a column vector having a maximum correlation with the vector to be approximated is determined as the i-th column vector.

7. The method according to any one of claims 1 to 6, wherein L is determined according to any of the following methods: a default value; or Comparison of the residual at the i-th iteration with a predetermined threshold.

8. The method according to any one of claims 1 to 7, further comprising: The i-th codebook matrix used in the i-th iterative approximation is obtained by performing matrix row permutation on the i-1-th codebook matrix used in the i-1-th iterative approximation.

9. The method of claim 8, wherein the matrix row permutation comprises one of the following: Random matrix row permutations; or Circular shift of matrix rows forward or backward based on a predetermined shift amount.

10. The method of claim 9, wherein one of the following: Using the same random matrix row permutation in the 2nd to the Lth iterations; or In the 2nd iteration approximation to the Lth iteration approximation, the random matrix row permutation used in each iteration approximation is determined respectively.

11. The method according to any one of claims 3 to 10, wherein the first codebook matrix used in the first iteration approximation is randomly generated or predetermined.

12. The method according to any one of claims 1 to 7, wherein the L codebook matrices used in the L iterative approximations are the same, and the method further comprises: Element permutation is performed on the i-1th residual vector determined in the i-1th iterative approximation to obtain the vector to be approximated in the i-th iterative approximation.

13. The method of claim 12, wherein the element replacement comprises one of the following: Random element permutation; or Circularly shift elements forward or backward based on a predetermined shift amount.

14. The method according to any one of claims 1 to 13, further comprising: The i-th coefficient is determined based on the dimension n of the data to be compressed, the element variance σ of the data to be compressed, the number of columns m of the L codebook matrices, and the number i of iterative approximations.

15. The method according to claim 14, wherein the determination of the i-th coefficient is also based on a residual decay coefficient q, wherein the residual decay coefficient q represents a decay speed of the sum of squares of elements of the residual vector.

16. The method according to any one of claims 1 to 15, wherein the method is performed at a first device, and the method further comprises: The compressed data after the data to be compressed is compressed is sent to the second device.

17. The method according to any one of claims 1 to 16, wherein the compressed data comprises at least one of the following: The L column numbers; The element mean μ of the data to be compressed; The element variance σ of the data to be compressed; or The first coefficient used in the first iteration of the approximation.

18. The method according to any one of claims 1 to 17, wherein the method is performed at a first device, and the method further comprises configuring or indicating to a second device at least one of the following: A compression method of at least one of the element mean μ, the element variance σ, or the first coefficient used in the first iterative approximation of the data to be compressed; The dimension n of the data to be compressed and the number of columns m of the L codebook matrices; A residual attenuation coefficient q, wherein the residual attenuation coefficient q represents a decay rate of the sum of squares of the elements of the residual vector; Whether the first codebook matrix among the L codebook matrices is randomly generated or predetermined; Performing matrix row permutation on the i-1th codebook matrix used in the i-1th iteration approximation, or performing element permutation on the i-1th residual vector determined in the i-1th iteration approximation; or The matrix row permutation or the element permutation is a random permutation or a cyclic shift.

19. The method according to claim 18, wherein the compression method comprises at least one of the following: Floating point representation; uniform scalar quantization; or The element mean μ of the data to be compressed is not sent.

20. The method according to claim 18 or 19, wherein: The number m of columns of the L codebook matrices is determined based on the value of the dimension n.

21. The method according to any one of claims 18 to 20, wherein the first codebook matrix is ​​randomly generated, and the method further comprises: A random number seed for generating the first codebook matrix is ​​configured or indicated to the second device.

22. The method according to any one of claims 18 to 21, wherein the matrix row permutation or the element permutation is a random permutation, and the method further comprises configuring or indicating to the second device at least one of the following: whether to use the same random matrix row permutation in the second iteration approximation to the Lth iteration approximation, or to use a separately randomly generated matrix row permutation; or The random matrix row permutation is performed by reusing a random number seed used to generate the first codebook matrix among the L codebook matrices, or by configuring different random number seeds.

23. The method according to any one of claims 18 to 21, wherein the matrix row permutation or the element permutation is a cyclic shift, and the method further comprises configuring or indicating to the second device at least one of the following: forward circular shift or backward circular shift; or Displacement.

24. The method according to any one of claims 1 to 23, wherein the method is performed at a first device, the method further comprising: A first message is sent to a second device, where the first message is used to request from the second device resources for sending the compressed data to the second device.

25. The method of claim 24, wherein the first message comprises at least one of the following: Information used to directly indicate the number of iterative approximations L; or The amount of compressed data.

26. The method according to any one of claims 1-25, wherein the method is performed at a first device, the method further comprising: receiving a second message from a second device, where the second message is used to indicate resources scheduled by the second device to the first device for sending the compressed data to the second device; as well as The compressed data is sent to the second device using the scheduled resources.

27. The method according to any one of claims 24-26, wherein at least one of the first message or the second message comprises indication information, and the indication information is used to indicate that the resource is used for incremental transmission.

28. The method according to claim 27, wherein the compressed data sent by the second device corresponds to basic transmission data, and sending the compressed data to the second device comprises: Determine that the approximate number of iterations corresponding to the compressed data sent by the resources scheduled by the second message is L1, where L1 is less than L; as well as Sending the 1st column number to the L1th column number among the L column numbers to the second device.

29. The method according to claim 27 or 28, wherein the indication information in the second message indicates that the resource is used for incremental transmission, the basic transmission before the incremental transmission has sent compressed data of L1 iteration approximation, and sending the compressed data to the second device comprises: Determine that the approximate number of iterations corresponding to the compressed data sent by the resources scheduled by the second message is L2-L1, where L1 is less than L2, and L2 is less than or equal to L; and Send the L1+1th column number to the L2th column number among the L column numbers to the second device.

30. The method according to claim 28 or 29, wherein determining the approximate number of iterations corresponding to the compressed data sent by the resources scheduled by the second message comprises: In the case where the resource is used solely for compressing the data, determining the number of iteration approximations based on the number of the resource; or In a case where the resource is used for the compressed data and other data, the indication information of the approximate number of iterations is obtained from the second message.

31. A method comprising: Obtaining, from the compressed data after the data to be compressed is compressed, L column numbers of the L column vectors in the L codebook matrices, respectively, wherein the elements in the L codebook matrices are two different values; Determine the L column vectors based on the L column numbers and the L codebook matrices; Determine L coefficients corresponding to the L column vectors; as well as Based on the L coefficients and the L column vectors, an approximation of the data to be compressed is obtained, Wherein L is greater than or equal to 1.

32. The method of claim 31, wherein The two different numerical values ​​include 1 and -1.

33. The method according to claim 31 or 32, wherein the first codebook matrix among the L codebook matrices is randomly generated or predetermined.

34. The method according to any one of claims 31 to 33, further comprising: Performing matrix row permutation on an (i-1)th codebook matrix among the L codebook matrices to obtain an (i)th codebook matrix among the L codebook matrices.

35. The method of claim 34, wherein the matrix row permutation comprises one of: Random matrix row permutations; or Circular shift of matrix rows forward or backward based on a predetermined shift amount.

36. The method of claim 35, wherein one of the following: Based on the same random matrix row permutation, from the 1st codebook matrix to the L-1th codebook matrix, the 2nd codebook matrix to the Lth codebook matrix are obtained; or Based on the respectively determined random matrix row permutations, from the 1st codebook matrix to the L-1th codebook matrix, the 2nd codebook matrix to the Lth codebook matrix are obtained.

37. The method according to any one of claims 31 to 33, wherein the L codebook matrices are the same, and obtaining an approximation of the data to be compressed based on the L coefficients and the L column vectors comprises: Multiply the L coefficients and the L column vectors respectively to obtain L product column vectors; Perform one or more element permutations on L-1 product column vectors except the first product column vector to obtain L product column vectors after element permutation; and The product column vectors after the permutation of the L elements are summed to obtain an approximation of the data to be compressed.

38. The method of claim 37, wherein the element replacement comprises one of the following: Random element permutation; or Circularly shift elements forward or backward based on a predetermined shift amount.

39. The method according to any one of claims 31-38, further comprising: An i-th coefficient corresponding to an i-th codebook matrix is ​​determined based on a dimension n of the data to be compressed, an element variance σ of the data to be compressed, a number m of columns of the L codebook matrices, and a sequence number i of the codebook matrix.

40. The method according to claim 39, wherein the determination of the i-th coefficient is also based on a residual attenuation coefficient q, wherein the residual attenuation coefficient q represents a decay speed of the sum of squares of elements of a residual vector in an iterative approximate encoding process of the data to be compressed.

41. The method according to any one of claims 31-40, wherein the method is performed at a second device, and the method further comprises: The compressed data after the data to be compressed is compressed is received from the first device.

42. The method according to any one of claims 31-41, wherein the compressed data comprises at least one of the following: The L column numbers; The element mean μ of the data to be compressed; The element variance σ of the data to be compressed; or The first coefficient corresponding to the first column vector.

43. The method according to any one of claims 31-42, wherein the method is performed at the second device, and the method further comprises configuring at least one of the following or receiving information indicating at least one of the following from the first device: A compression method of at least one of the element mean μ, the element variance σ, or the first coefficient corresponding to the first column vector of the data to be compressed; The dimension n of the data to be compressed and the number of columns m of the L codebook matrices; A residual attenuation coefficient q, wherein the residual attenuation coefficient q represents a decay rate of a sum of squares of elements of a residual vector in an iterative approximate encoding process of the data to be compressed; Whether the first codebook matrix among the L codebook matrices is randomly generated or predetermined; Performing matrix row permutation on the i-1th codebook matrix, or performing element permutation on the product vector of the column vector and the coefficient; or The matrix row permutation or the element permutation is a random permutation or a cyclic shift.

44. The method according to claim 43, wherein the compression method comprises at least one of the following: Floating point representation; uniform scalar quantization; or The element mean μ of the data to be compressed is not sent.

45. The method according to claim 43 or 44, wherein: The number m of columns of the L codebook matrices is determined based on the value of the dimension n.

46. ​​The method according to any one of claims 43 to 45, wherein the first codebook matrix is ​​randomly generated, and the method further comprises: A random number seed for generating the first codebook matrix is ​​configured or information indicating the random number seed is received from a first device.

47. The method according to any one of claims 43 to 46, wherein the matrix row permutation or the element permutation is a random permutation, and the method further comprises configuring at least one of the following or receiving information indicating at least one of the following from the first device: The second codebook matrix to the Lth codebook matrix use the same random matrix row permutation, or use matrix row permutations that are randomly generated respectively; or The random matrix row permutation is performed by reusing a random number seed used to generate the first codebook matrix among the L codebook matrices, or by configuring different random number seeds.

48. The method according to any one of claims 43 to 46, wherein the matrix row permutation or the element permutation is a cyclic shift, and the method further comprises configuring at least one of the following or receiving information indicating at least one of the following from the first device: forward circular shift or backward circular shift; or Displacement.

49. The method according to any one of claims 31-48, wherein the method is performed at a second device, the method further comprising: A first message is received from a first device, the first message being used to request, from the second device, resources for sending the compressed data to the second device.

50. The method of claim 49, wherein the first message includes at least one of: Information used to directly indicate the number L of codebook matrices; or The amount of compressed data.

51. The method according to any one of claims 31-50, wherein the method is performed at a second device, the method further comprising: Sending a second message to the first device, where the second message is used to indicate resources scheduled by the second device to the first device for sending the compressed data to the second device; as well as The compressed data is received from the first device using the scheduled resources.

52. The method according to any one of claims 49-51, wherein at least one of the first message or the second message comprises indication information, and the indication information is used to indicate that the resources are used for incremental transmission.

53. The method of claim 52, wherein the compressed data received from the first device corresponds to base transmission data, receiving the compressed data from the first device comprising: When the number of codebook matrices corresponding to the compressed data sent by the resources scheduled by the second message is L1, the 1st column number to the L1th column number of the L column numbers are received from the first device, where L1 is less than L.

54. The method according to claim 52, wherein the indication information in the second message indicates that the resource is used for incremental transmission, compressed data of L1 codebook matrices has been received through basic transmission before the incremental transmission, and receiving the compressed data from the first device comprises: When the number of codebook matrices corresponding to the compressed data sent by the resources scheduled by the second message is L2-L1, the L1+1th column number to the L2th column number among the L column numbers are received from the first device, where L1 is less than L2, and L2 is less than or equal to L.

55. The method of claim 53 or 54, wherein: In a case where the resource is used solely for the compressed data, the second message does not include indication information for indicating the number of codebook matrices; or In a case where the resource is used for the compressed data and other data, the second message includes indication information for indicating the number of codebook matrices.

56. An apparatus comprising: A module for acquiring data to be compressed, used for acquiring data to be compressed; an iterative approximation module, configured to perform L iterative approximations on the data to be compressed, wherein the L iterative approximations include: selecting L column vectors from L codebook matrices to approximate the data to be compressed, respectively, and elements in the L codebook matrices include two different values; as well as The compressed data generating module is used to generate compressed data after the data to be compressed is compressed based on the L column numbers of the L column vectors in the L codebook matrices.

57. An apparatus comprising: A column number acquisition module, used to obtain L column numbers of L column vectors in L codebook matrices from the compressed data after the data to be compressed is compressed, wherein the elements in the L codebook matrices are two different values; A column vector determination module, configured to determine the L column vectors based on the L column numbers and the L codebook matrices; A coefficient determination module, used to determine L coefficients corresponding to the L column vectors; as well as an approximate vector acquisition module, used to obtain an approximation of the data to be compressed based on the L coefficients and the L column vectors, Wherein L is greater than or equal to 1.

58. An apparatus comprising: A processor, and a memory storing instructions, wherein when the instructions are executed by the processor, the method according to any one of claims 1 to 53 is performed.

59. A computer-readable storage medium storing instructions, which, when executed by an electronic device, causes the electronic device to perform the method according to any one of claims 1 to 55.

60. A computer program product, comprising instructions, which, when executed by an electronic device, cause the electronic device to perform the method according to any one of claims 1 to 55.

Citation Information

Cited By

  • Data processing method, apparatus, device, storage medium and program product

    EP4797538A1

  • Data processing method, apparatus, device, storage medium and program product

    WO2025092651A1