Data compression transmission method and device, equipment and storage medium
Through dictionary matrix weighted encoding and dynamically adjusting the number of base vectors, the problem of low data compression transmission efficiency in communication systems is solved, and effective and reliable data compression is achieved.
Patent Information
- Application Number
- CN202280100498.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-30
- Publication Date
- 2025-06-03
AI Technical Summary
When the prior art compresses and transmits large-scale data generated by the physical layer in a communication system, the compression rate is low and the data loss is large, making it difficult to achieve effective and reliable data compression transmission.
By weighted encoding of the data to be transmitted based on the dictionary matrix, data is expressed using k basis vectors, and weighted parameter k is dynamically adjusted in combination with the limitation of transmission resources to achieve effective compression of the data.
On the premise of ensuring low data loss, the data compression rate is improved, the balance between transmission resources and compression performance is achieved, and the problems of excessive compression or transmission failure are avoided.
Smart Images

Figure CN120092418A_ABST
Abstract
Description
Data Compression Transmission Method, Device, Equipment and Storage Medium
[0001] This application relates to the field of communication technologies, and in particular, to a data compression transmission method, device, equipment and storage medium.
[0002] With the increasing maturity of technologies such as artificial intelligence (AI), autonomous driving, and scene reconstruction. In a communication system, the data generated by the physical layer in these scenarios, such as AI model parameter data, perception data, point cloud data, etc., has a very large amount of data, which will occupy more transmission resources when data is transmitted between communication devices, and increases the transmission delay. Based on this, before data transmission, the data to be transmitted can be compressed in a scalar quantization or vector quantization manner, and then the compressed data is transmitted to save transmission resources and reduce the transmission delay. However, by using scalar quantization or vector quantization to compress the data to be transmitted, the compression rate is low and the compressed data has a large data loss. Therefore, how to achieve effective and reliable data compression transmission is an urgent problem to be solved currently.
[0003]
[0004] A data compression transmission method, device, equipment and storage medium provided by an embodiment of this application. It is expected to achieve effective and reliable data compression transmission.
[0005] In a first aspect, this application provides a data compression transmission method, including: a first communication device performs weighted encoding on first data based on a dictionary matrix to obtain second data, and the second data represents the first data based on k basis vectors in the dictionary matrix, where k is a weighting parameter of the first data determined based on first transmission resources, and k is an integer greater than or equal to 1; the first communication device sends the second data to a second communication device in the first transmission resources.
[0006] Through the data compression transmission method provided in the first aspect, weighted encoding is performed on the first data to be transmitted, so as to represent the first data to be transmitted through k basis vectors, and realize the compression of physical layer data while ensuring low data loss. Further, the weighting parameter k used for weighted encoding of the first data is determined based on the first transmission resources, achieving a balance between transmission resources and compression performance, avoiding excessive compression and losing more transmission data when the transmission resources are sufficient, or being unable to transmit due to large compressed data when the transmission resources are insufficient, and realizing effective and reliable data compression of the data to be transmitted.
[0007] In a possible implementation, the first data includes M first data sets, the M first data sets are clustered into N second data sets, the second data set includes at least one first data set, and both M and N are integers greater than or equal to 1.
[0008] Through the data compression and transmission method provided by this implementation, the first data is clustered, and dictionary learning and sparse representation are performed on the clustered data and then transmitted. When the data volume of the first data to be transmitted is large, the overhead of the dictionary matrix is reduced, and a sparse representation with better sparsity is learned.
[0009] In a possible implementation, the weighting parameter k of the first data includes the first weighting parameter k corresponding to the i-th second data set in the N second data sets i '; the second data includes the i-th first sub-data set obtained by weighted encoding of the i-th second data set based on the first weighting parameter k i '; the i-th first sub-data set represents the i-th second data set based on k i ' basis vectors in the dictionary matrix.
[0010] Through the data compression and transmission method provided by this implementation, when weighted encoding each second data set, based on the first weighting parameter k' corresponding to the second data set, the expression of the first sub-data set for the second data set can be made sparser, that is, the second data realizes high-efficiency compression of the first data.
[0011] In a possible implementation, the first weighting parameter k i ' is determined based on the data characteristics of the i-th second data set.
[0012] Through the data compression and transmission method provided by this implementation, the data characteristics of the second data set can reflect the proportion of the data volume of the second data set in the first data. When the data volume of the i-th second data set in the first data is large, the i-th second data set is weighted encoded with a larger first weighting parameter k i ' so that the i-th first sub-data set represents the i-th second data set based on more basis vectors. When the data volume of the i-th second data set in the first data is small, the i-th second data set is weighted encoded with a smaller first weighting parameter k i ' so that the i-th first sub-data set represents the i-th second data set based on fewer basis vectors. The flexible control of the sparse representation of second data sets with different data volumes realizes the balance between compression performance and transmission resources.
[0013] In a possible implementation, the dictionary matrix includes N dictionary sub-matrices corresponding to the N second data sets respectively, and the N dictionary sub-matrices include at least two different dictionary sub-matrices.
[0014] Through the data compression and transmission method provided by this implementation, flexible expression of different second data sets is achieved.
[0015] In a possible implementation, the first weighting parameter k i ' corresponding to the i-th second data set includes the second weighting parameter k i ” corresponding to each first data set in the i-th second data set; the i-th first sub-data set includes the j-th sub-data obtained by weighted encoding the j-th first data set in the i-th second data set based on the second weighting parameter k ij ”. The j-th sub-data in the i-th first sub-data set represents the j-th first data set in the i-th second data set based on the k ij ” basis vectors in the i-th dictionary sub-matrix corresponding to the i-th second data set.
[0016] Through the data compression and transmission method provided by this implementation, each first data in each second data set can respectively correspond to a second weighting parameter, so as to achieve finer-grained weighted encoding of the first data and further improve the compression performance.
[0017] In a possible implementation, the second weighting parameter k ij ” corresponding to the j-th first data set in the i-th second data set is determined based on the data characteristics of the j-th first data set in the i-th second data set.
[0018] Through the data compression and transmission method provided by this implementation, the data characteristics of the first data set can reflect the data volume ratio of the j-th first data set in the i-th second data set. When the data volume of the j-th first data set in the i-th second data set is large, the j-th first data set is weighted encoded with a larger second weighting parameter k ij ”, so that the j-th sub-data in the i-th first sub-data set represents the j-th first data set based on more basis vectors. When the data volume of the j-th first data set in the i-th second data set is small, the j-th first data set is weighted encoded with a smaller second weighting parameter k ij ”, so that the j-th sub-data in the i-th first sub-data set represents the j-th first data set based on fewer basis vectors. Flexible control of the sparse expression of first data sets with different data volumes achieves a balance between compression performance and transmission resources.
[0019] In a possible implementation, the K basis vectors of the third data include the K i ' basis vectors corresponding to the i-th second data set. The third data is obtained by weighted encoding each second data set in the first data. The K basis vectors include the k basis vectors, and the k i ' basis vectors of the i-th second data set are the first k i ' basis vectors among the K i ' basis vectors arranged in descending order of the expression ability for the first data.
[0020] Through the data compression and transmission method provided by this implementation, the i-th second data set can be accurately expressed by k i ' basis vectors.
[0021] In a possible implementation, the method further includes: the first communication device sends P incremental data of the second data to the second communication device, where P is an integer greater than or equal to 1. The q-th incremental data among the P incremental data includes the i-th first sub-data. The i-th first sub-data expresses the i-th second data set based on the h (q,i) basis vectors of the i-th dictionary sub-matrix in the dictionary matrix, and h (q,i) is an integer less than K and greater than or equal to 1. Wherein, the q-th incremental data is a sub-data of the above-mentioned third data, and the i-th first sub-data includes the position indication information and weighted coefficients of h (q,i) basis vectors in the third data; or, the q-th incremental data is a sub-data of the fourth data; the i-th first sub-data includes: the k i ' basis vectors in the fourth data and / or the weighted coefficients of the basis vectors of at least one of the first q - 1 incremental data among the P incremental data, and the position indication information and weighted coefficients of the h (q,i) basis vectors in the fourth data. The fourth data is determined based on the i-th dictionary sub-matrix, the first data, and the fourth data corresponding to the q - 1 incremental data. When q is equal to 1, the fourth data corresponding to the q - 1 incremental data is the second data. Wherein, the number of basis vectors in the P incremental data and is less than or equal to K.
[0022] Through the data compression and transmission method provided by this implementation, hierarchical incremental transmission is performed on the data expressing the i-th second data set. In the case of limited transmission resources, the expression ability for the i-th second data set is improved through incremental transmission.
[0023] In a possible implementation, the method further includes: the first communication device performs weighted encoding on the first data to obtain the dictionary matrix and the third data, where the third data represents the first data based on K basis vectors in the dictionary matrix, the K basis vectors include the k basis vectors, and K is an integer greater than or equal to k.
[0024] Through the data compression and transmission method provided by this implementation, the K basis vectors are not restricted by the resource size of the first transmission resource, so as to accurately represent the first data and obtain a reliable dictionary matrix.
[0025] In a possible implementation, the k basis vectors are the first k basis vectors among the K basis vectors of the dictionary matrix with the largest to smallest expression ability for the first data.
[0026] Through the data compression and transmission method provided by this implementation, the compressed data transmitted through the first transmission resource can more accurately represent the first data.
[0027] In a possible implementation, the method further includes: the first communication device sends P incremental data of the second data to the second communication device, where P is an integer greater than or equal to 1; wherein, the q-th incremental data among the P incremental data is a sub-data of the third data, and the q-th incremental data includes the position indication information and the weighting coefficient of h q basis vectors in the third data; or, the q-th incremental data among the P incremental data is a sub-data of the fourth data; the q-th incremental data includes: the weighting coefficients of the k basis vectors in the fourth data and / or at least one incremental data among the first q - 1 incremental data among the P incremental data, and, the q position indication information and the weighting coefficient of the h q basis vectors in the fourth data; the fourth data is determined based on the dictionary matrix, the first data, and the fourth data corresponding to the q - 1 incremental data. When q equals 1, the fourth data corresponding to the q - 1 incremental data is the second data; where h is an integer less than K and greater than or equal to 1, and the sum of the number of basis vectors in the P incremental data
[0028] Through the data compression and transmission method provided by this implementation, hierarchical incremental transmission is performed on the data representing the first data. In the case of limited transmission resources, the expression ability for the first data is improved through incremental transmission.
[0029] In a possible implementation, the h q basis vectors are the K basis vectors except the k basis vectors and the first q - 1 incremental data In addition to the base vectors, the top h base vectors with decreasing expression ability for the first data q where h r is the number of base vectors of an incremental data among the first q - 1 incremental data.
[0030] Through the data compression and transmission method provided by this embodiment, it is possible to preferentially transmit the compressed data that can accurately represent the first data.
[0031] In a possible embodiment, the second data includes position indication information and / or weighting coefficients of the k base vectors.
[0032] Through the data compression and transmission method provided by this embodiment, the second data accurately represents the first data.
[0033] In a possible embodiment, the method further includes: the first communication device quantizes and / or entropy - encodes the second data to obtain compressed data of the second data; the first communication device sends the second data to the second communication device on the first transmission resource, including: the first communication device sends the compressed data of the second data to the second communication device on the first transmission resource.
[0034] Through the data compression and transmission method provided by this embodiment, the compression ratio of the first data is further improved.
[0035] In a possible embodiment, the method further includes: the first communication device sends the dictionary matrix to the second communication device.
[0036] Through the data compression and transmission method provided by this embodiment, the first communication device sends the dictionary matrix used when weighted - encoding the first data to the second communication device, so that the second communication device can recover the first data based on the obtained dictionary matrix to improve the accuracy of data recovery.
[0037] In a possible embodiment, the first communication device can quantize and / or entropy - encode the dictionary matrix and send the quantized and / or entropy - encoded dictionary matrix to the second communication device.
[0038] In a possible embodiment, the data characteristics of the first data set or the second data set include at least one of the data volume, data boundary value, and mean variance.
[0039] Through the data compression and transmission method provided by this embodiment, the data characteristics can reflect the data proportion of the first data or the second data set in the first data.
[0040] In a possible implementation, the method further includes: the first communication device clusters the M first data sets according to one of the following to obtain the N second data sets: the data types of the M first data sets; the boundary values of the elements in the M first data sets.
[0041] Through the data compression and transmission method provided by this implementation, so that the boundary values of the elements in the obtained second data sets are close, a sparse representation of the second data sets can be realized based on the dictionary matrix.
[0042] In a possible implementation, the method further includes: the first communication device sends class indication information to the second communication device, and the class indication information is used to indicate the clustering classes of the first data sets in the M first data sets.
[0043] Through the data compression and transmission method provided by this implementation, it is convenient for the second communication device to recover the first data.
[0044] In a possible implementation, the first communication device receives indication information of a second transmission resource sent by the second communication device, and the second transmission resource is used to transmit incremental data of the second data.
[0045] Through the data compression and transmission method provided by this implementation, flexible configuration of the transmission resources for transmitting incremental data is achieved.
[0046] In a possible implementation, the method further includes: the first communication device sends a transmission request to the second communication device, and the transmission request is used to request to send incremental data of the second data.
[0047] Through the data compression and transmission method provided by this implementation, it is determined by the first communication device whether to send incremental data of the second data, which is convenient for the first communication device to completely transmit the compressed data of the first data and improves the accuracy of the recovered first data.
[0048] In a possible implementation, the method further includes: the first communication device receives compression indication information sent by the second communication device, the compression indication information includes compression hyperparameter information, and the compression hyperparameter information is at least used to indicate a target weighting parameter, and the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k.
[0049] Through the data compression and transmission method provided by this implementation, indication of the maximum value of the weighting parameter is realized, and it is avoided that the transmission resources occupied by the second data transmitted by the first communication device exceed the first transmission resources.
[0050] In a possible implementation, the method further includes: the first communication device sending compression indication information to the second communication device, where the compression indication information includes compression hyperparameter information, and the compression hyperparameter information is at least used to indicate the target weighting parameter, the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k.
[0051] Through the data compression and transmission method provided by this implementation, it is convenient for the second communication device to determine the first transmission resource capable of carrying the second data based on the target weighting parameter.
[0052] In a possible implementation, the compression hyperparameter information includes at least one of the following: configuration information of the first transmission resource, where the first transmission resource is used to indicate the target weighting parameter; information indicating the dimension and / or the number of basis vectors of the dictionary matrix.
[0053] Through the data compression and transmission method provided by this implementation, indicating the target weighting parameter through the first transmission resource saves signaling overhead; indicating the dimension and / or the data of the basis vectors of the dictionary matrix realizes flexible configuration of the dictionary matrix.
[0054] In a possible implementation, the compression indication information further includes at least one of the following: information indicating the clustering method of M first data sets in the first data; information indicating the compression method of one or more second data sets in the N second data sets in the first data; information indicating whether to perform entropy coding on the second data.
[0055] Through the data compression and transmission method provided by this implementation, flexible configuration of the method adopted in the compression and transmission process is realized.
[0056] In a possible implementation, the first communication device determines the compression method of one or more second data sets in the N second data sets according to the data characteristics of the first data.
[0057] Through the data compression and transmission method provided by this implementation, corresponding compression methods can be adopted for the second data based on its data characteristics for compression and transmission, improving the compression performance.
[0058] In a possible implementation, the method further includes: the first communication device sending compression parameter information to the second communication device, where the compression parameter information includes at least one of the following: the boundary value of the dictionary matrix; the boundary value of the weighting coefficient of the basis vectors in the second data.
[0059] Through the data compression and transmission method provided by this implementation, the accuracy of the second communication device in restoring the first data can be improved.
[0060] In a possible implementation, the method further includes: the first communication device sending feedback information to the second communication device, where the feedback information includes a weighting parameter k m , and the weighting parameter k m is used to adjust the size of the transmission resources for the next round.
[0061] Through the data compression transmission method provided by this implementation, based on the currently feedback weighting parameter k m , the size of the transmission resources for the next round is dynamically adjusted, realizing flexible control of the transmission resources, enabling the transmission resources to match the data to be transmitted, and avoiding resource waste or insufficient resource allocation from affecting the transmission performance.
[0062] In a second aspect, an embodiment of the present application provides a data compression transmission method, including: the second communication device receiving second data from the first communication device in a first transmission resource, where the second data represents the first data based on k basis vectors in a dictionary matrix, and k is a weighting parameter of the first data determined based on the first transmission resource, and k is an integer greater than or equal to 1; the second communication device constructs the first data according to the second data and the dictionary matrix.
[0063] In a possible implementation, the first data includes M first data sets, the M first data sets are clustered into N second data sets, the second data set includes at least one first data set, and both M and N are integers greater than or equal to 1.
[0064] In a possible implementation, the weighting parameter k of the first data includes first weighting parameters k' corresponding to each of the N second data sets; the second data includes a first sub-data set obtained by weighted encoding the i-th second data set based on the first weighting parameter k i ', and the i-th first sub-data set represents the i-th second data set based on k i ' basis vectors in the dictionary matrix.
[0065] In a possible implementation, the first weighting parameter k i ' is determined based on the data characteristics of the i-th second data set.
[0066] In a possible implementation, the dictionary matrix includes N dictionary sub-matrices corresponding to the N second data sets respectively, and the N dictionary sub-matrices include at least two different dictionary sub-matrices.
[0067] In a possible implementation, the first weighting parameter k i ' corresponding to the i-th second data set includes second weighting parameters k i”; the i-th first sub-dataset includes based on the second weighting parameter k ij ” the j-th sub-data obtained by weighted encoding the j-th first dataset in the i-th second dataset, and the j-th sub-data in the i-th first sub-dataset is based on k ij ” basis vectors in the i-th dictionary sub-matrix corresponding to the i-th second dataset to represent the j-th first dataset in the i-th second dataset.
[0068] In a possible implementation, the second weighting parameter k corresponding to the j-th first dataset in the i-th second dataset ij ” is determined based on the data characteristics of the j-th first dataset in the i-th second dataset.
[0069] In a possible implementation, the K basis vectors of the third data include the K i ' basis vectors corresponding to the i-th second dataset, the third data is obtained by weighted encoding each second dataset in the first data, the K basis vectors include the k basis vectors, and the k i ' basis vectors of the i-th second dataset are the first k i ' basis vectors in descending order of the expression ability of the K i ' basis vectors for the first data.
[0070] In a possible implementation, the method further includes: the second communication device receives P incremental data of the second data sent by the first communication device, P is an integer greater than or equal to 1, and the q-th incremental data in the P incremental data includes the i-th first sub-data, and the i-th first sub-data represents the i-th second dataset based on h (q,i) basis vectors in the i-th dictionary sub-matrix of the dictionary matrix, h (q,i) is an integer less than K and greater than or equal to 1; wherein, the q-th incremental data is a sub-data of the third data, and the i-th first sub-data includes the position indication information and weighting coefficients of h (q,i) basis vectors in the third data; or, the q-th incremental data is a sub-data of the fourth data; the i-th first sub-data includes: the k i ' basis vectors in the fourth data and / or the weighting coefficients of the basis vectors of at least one of the first q - 1 incremental data in the P incremental data, and the position indication information and weighting coefficients of the h (q,i) basis vectors in the fourth data, and the fourth data is determined based on the i-th dictionary sub-matrix, the first data, and the fourth data corresponding to the q - 1 incremental data. When q equals 1, the fourth data corresponding to the q - 1 incremental data is the second data; wherein, the number of basis vectors in the P incremental data and The sum is less than or equal to K.
[0071] In a possible implementation, the third data represents the first data based on K basis vectors in the dictionary matrix, and the third data is obtained by weighted encoding of the first data.
[0072] In a possible implementation, the k basis vectors are the first k basis vectors among the K basis vectors in the dictionary matrix with the largest to smallest expression ability for the first data.
[0073] In a possible implementation, the method further includes: the second communication device receives P incremental data of the second data sent by the first communication device, where P is an integer greater than or equal to 1; wherein, the q-th incremental data among the P incremental data is a sub-data of the third data, and the q-th incremental data includes the position indication information and weighting coefficient of the h q basis vectors in the third data; or, the q-th incremental data among the P incremental data is a sub-data of the fourth data; the q-th incremental data includes: the weighting coefficients of the k basis vectors in the fourth data and / or at least one incremental data among the first q - 1 incremental data among the P incremental data, and, the h q position indication information and weighting coefficient of the basis vectors in the fourth data; the fourth data is determined based on the dictionary matrix, the first data, and the fourth data corresponding to the q - 1 incremental data. When q equals 1, the fourth data corresponding to the q - 1 incremental data is the second data; wherein, h q is an integer less than K and greater than or equal to 1, and the number of basis vectors in the P incremental data and k is less than or equal to K.
[0074] In a possible implementation, the h q basis vectors are the first h basis vectors among the K basis vectors except for the k basis vectors and the basis vectors of the first q - 1 incremental data with the largest to smallest expression ability for the first data, and h q is the number of basis vectors of one incremental data among the first q - 1 incremental data. r
[0075] In a possible implementation, the second data includes the position indication information and / or weighting coefficient of the k basis vectors.
[0076] In a possible implementation, the second communication device receives second data from the first communication device in the first transmission resource, including: the second communication device receives the compressed data of the second data sent by the first communication device in the first transmission resource, and the compressed data of the second data is obtained by quantizing and / or entropy encoding the second data; the second communication device decompresses the compressed data of the second data to obtain the second data.
[0077] In a possible implementation, the method further includes: the second communication device receives the dictionary matrix sent by the first communication device.
[0078] In a possible implementation, the second communication device may receive the quantized and / or entropy-encoded dictionary matrix sent by the first communication device, and decompress the quantized and / or entropy-encoded dictionary matrix to restore the dictionary matrix before quantization and / or entropy encoding.
[0079] In a possible implementation, the data characteristics of the first data set or the second data set include at least one of the data volume, data boundary value, and mean variance.
[0080] In a possible implementation, the method further includes: the second communication device receives the class indication information sent by the first communication device, and the class indication information is used to indicate the clustering class of each first data set in the M first data sets.
[0081] In a possible implementation, the second communication device receives the indication information of the second transmission resource sent by the first communication device, and the second transmission resource is used to transmit the incremental data of the second data.
[0082] In a possible implementation, the method further includes: the second communication device receives the transmission request sent by the first communication device, and the transmission request is used to request to send the incremental data of the second data.
[0083] In a possible implementation, the method further includes: the second communication device sends compression indication information to the first communication device, and the compression indication information includes compression hyperparameter information, and the compression hyperparameter information is at least used to indicate a target weighting parameter, and the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k.
[0084] In a possible implementation, the method further includes: the second communication device receives the compression indication information sent by the first communication device, and the compression indication information includes compression hyperparameter information, and the compression hyperparameter information is at least used to indicate the target weighting parameter, and the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k.
[0085] In a possible implementation, the compressed hyperparameter information includes at least one of the following:
[0086] Configuration information of the first transmission resource, where the first transmission resource is used to indicate the target weighting parameter;
[0087] Information indicating the dimension and / or the number of basis vectors of the dictionary matrix.
[0088] In a possible implementation, the compressed indication information further includes at least one of the following:
[0089] Information indicating the clustering method of M first data sets in the first data;
[0090] Information indicating the compression method of one or more second data sets in the N second data sets in the first data;
[0091] Information indicating whether entropy coding is performed on the second data.
[0092] In a possible implementation, the method further includes: the second communication device receives the compressed parameter information sent by the first communication device, where the compressed parameter information includes at least one of the following:
[0093] Boundary values of the dictionary matrix;
[0094] Boundary values of the weighting coefficients of the basis vectors in the second data.
[0095] In a possible implementation, the method further includes: the second communication device receives the feedback information sent by the first communication device, where the feedback information includes the weighting parameter k m , and the weighting parameter k m is used to adjust the size of the transmission resource for the next round.
[0096] For the data compression and transmission method provided in the second aspect and each possible implementation of the second aspect, the beneficial effects can refer to the beneficial effects brought by the first aspect and each possible implementation of the first aspect, which will not be elaborated here.
[0097] In a third aspect, an embodiment of the present application provides a communication device, including: a processing module, configured to perform weighted encoding on first data based on a dictionary matrix to obtain second data, where the second data represents the first data based on k basis vectors in the dictionary matrix, and k is the weighting parameter of the first data determined based on the first transmission resource, and k is an integer greater than or equal to 1; a transceiver module, configured to send the second data to a second communication device on the first transmission resource.
[0098] In a possible implementation, the first data includes M first data sets, and the M first data sets are clustered into N second data sets. The second data set includes at least one first data set, and both M and N are integers greater than or equal to 1.
[0099] In a possible implementation, the weighting parameter k of the first data includes a first weighting parameter k corresponding to the i-th second data set among the N second data sets. i '; the second data includes the i-th first sub-data set obtained by weighted encoding the i-th second data set based on the first weighting parameter k i '; the i-th first sub-data set represents the i-th second data set based on k i ' basis vectors in the dictionary matrix.
[0100] In a possible implementation, the first weighting parameter k i ' is determined based on the data characteristics of the i-th second data set.
[0101] In a possible implementation, the dictionary matrix includes N dictionary sub-matrices corresponding to the N second data sets respectively, and the N dictionary sub-matrices include at least two different dictionary sub-matrices.
[0102] In a possible implementation, the first weighting parameter k corresponding to the i-th second data set i ', includes a second weighting parameter k corresponding to each first data set in the i-th second data set i ”; the i-th first sub-data set includes the j-th sub-data obtained by weighted encoding the j-th first data set in the i-th second data set based on the second weighting parameter k ij ”; the j-th sub-data in the i-th first sub-data set represents the j-th first data set in the i-th second data set based on k ij ” basis vectors in the i-th dictionary sub-matrix corresponding to the i-th second data set.
[0103] In a possible implementation, the second weighting parameter k corresponding to the j-th first data set in the i-th second data set ij ” is determined based on the data characteristics of the j-th first data set in the i-th second data set.
[0104] In a possible implementation, the K basis vectors of the third data include K i ' basis vectors corresponding to the i-th second data set. The third data is obtained by weighted encoding each second data set in the first data. The K basis vectors include the k basis vectors, and the k i ' basis vectors of the i-th second data set are the K iThe first k basis vectors among the 'basis vectors in descending order of their expressive ability for the first data i ' basis vectors.
[0105] In a possible implementation, the transceiver module is further configured to send P incremental data of the second data to the second communication device, where P is an integer greater than or equal to 1. The q-th incremental data among the P incremental data includes the i-th first sub-data, and the i-th first sub-data expresses the i-th second data set based on h (q,i) basis vectors in the i-th dictionary sub-matrix in the dictionary matrix, and h (q,i) is an integer less than K and greater than or equal to 1; wherein, the q-th incremental data is a sub-data of the third data, and the i-th first sub-data includes position indication information and weighting coefficients of h (q,i) basis vectors in the third data; or, the q-th incremental data is a sub-data of the fourth data; the i-th first sub-data includes: weighting coefficients of the k i ' basis vectors in the fourth data and / or basis vectors of at least one of the first q - 1 incremental data among the P incremental data, and position indication information and weighting coefficients of the h (q,i) basis vectors in the fourth data. The fourth data is determined based on the i-th dictionary sub-matrix, the first data, and the fourth data corresponding to the q - 1-th incremental data. When q is equal to 1, the fourth data corresponding to the q - 1-th incremental data is the second data; wherein, the number of basis vectors in the P incremental data and is less than or equal to K.
[0106] In a possible implementation, the processing module is further configured to perform weighted encoding on the first data to obtain the dictionary matrix and the third data. The third data expresses the first data based on K basis vectors in the dictionary matrix, and the K basis vectors include the k basis vectors, where K is an integer greater than or equal to k.
[0107] In a possible implementation, the k basis vectors are the first k basis vectors among the K basis vectors in the dictionary matrix in descending order of their expressive ability for the first data.
[0108] In a possible implementation, the transceiver module is further configured to send P incremental data of the second data to the second communication device, where P is an integer greater than or equal to 1; wherein, the q-th incremental data among the P incremental data is a sub-data of the third data, and the q-th incremental data includes h qThe position indication information and weighting coefficients of the P basis vectors; or, the q-th incremental data among the P incremental data is a sub-data of the fourth data; the q-th incremental data includes: the weighting coefficients of k basis vectors in the fourth data and / or at least one incremental data among the first q-1 incremental data among the P incremental data, and, the h q position indication information and weighting coefficients of the basis vectors of the h q basis vectors in the fourth data; the fourth data is determined based on the dictionary matrix, the first data, and the fourth data corresponding to the q-1-th incremental data. When q is equal to 1, the fourth data corresponding to the q-1-th incremental data is the second data; where, h is an integer less than K and greater than or equal to 1, and the sum of the number of basis vectors in the P incremental data
[0109] In a possible implementation manner, the h q basis vectors are the first h basis vectors with the largest to smallest expression ability for the first data among the K basis vectors except the k basis vectors and the q basis vectors of the first q-1 incremental data, and h r is the number of basis vectors of one incremental data among the first q-1 incremental data.
[0110] In a possible implementation manner, the second data includes the position indication information and / or weighting coefficients of the k basis vectors.
[0111] In a possible implementation manner, the processing module is further configured to perform quantization and / or entropy coding on the second data to obtain the compressed data of the second data; the transceiver module is specifically configured to: send the compressed data of the second data to the second communication device on the first transmission resource.
[0112] In a possible implementation manner, the transceiver module is further configured to send the dictionary matrix to the second communication device.
[0113] In a possible implementation manner, the processing module performs quantization and / or entropy coding on the dictionary matrix, and the transceiver module sends the quantized and / or entropy-coded dictionary matrix to the second communication device.
[0114] In a possible implementation manner, the data characteristics of the first data set or the second data set include at least one of the data volume, data boundary value, and mean variance.
[0115] In a possible implementation manner, the transceiver module is further configured to cluster the M first data sets according to one of the following to obtain the N second data sets:
[0116] The data type of the M first data sets;
[0117] The boundary values of the elements in the M first data sets.
[0118] In a possible implementation, the transceiver module is further configured to send class indication information to the second communication device, where the class indication information is used to indicate the clustering classes of the first data sets in the M first data sets.
[0119] In a possible implementation, the transceiver module is further configured to receive indication information of a second transmission resource sent by the second communication device, where the second transmission resource is used to transmit the incremental data of the second data.
[0120] In a possible implementation, the transceiver module is further configured to send a transmission request to the second communication device, where the transmission request is used to request to send the incremental data of the second data.
[0121] In a possible implementation, the transceiver module is further configured to receive compression indication information sent by the second communication device, where the compression indication information includes compression hyperparameter information, and the compression hyperparameter information is at least used to indicate a target weighting parameter, and the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k.
[0122] In a possible implementation, the transceiver module is further configured to send compression indication information to the second communication device, where the compression indication information includes compression hyperparameter information, and the compression hyperparameter information is at least used to indicate the target weighting parameter, and the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k.
[0123] In a possible implementation, the compression hyperparameter information includes at least one of the following:
[0124] Configuration information of the first transmission resource, where the first transmission resource is used to indicate the target weighting parameter;
[0125] Information indicating the dimension and / or the number of basis vectors of the dictionary matrix.
[0126] In a possible implementation, the compression indication information further includes at least one of the following:
[0127] Information indicating the clustering method of the M first data sets in the first data;
[0128] Information indicating the compression method of one or more second data sets in the N second data sets in the first data;
[0129] Information indicating whether to perform entropy coding on the second data.
[0130] In a possible implementation, the processing module is further configured to determine a compression method for one or more of the N second data sets according to the data characteristics of the first data.
[0131] In a possible implementation, the transceiver module is further configured to send compression parameter information to the second communication device, where the compression parameter information includes at least one of the following:
[0132] The boundary value of the dictionary matrix;
[0133] The boundary value of the weighting coefficient of the basis vectors in the second data.
[0134] In a possible implementation, the transceiver module is further configured to send feedback information to the second communication device, where the feedback information includes a weighting parameter k m , and the weighting parameter k m is used to adjust the size of the transmission resources for the next round.
[0135] For the communication device provided in the third aspect and each possible implementation of the third aspect, the beneficial effects can be referred to the beneficial effects brought by the first aspect and each possible implementation of the first aspect, which will not be elaborated here.
[0136] Fourth aspect, an embodiment of the present application provides a communication device, including: a transceiver module, configured to receive second data from a first communication device in a first transmission resource, where the second data represents the first data based on k basis vectors in a dictionary matrix, and k is a weighting parameter of the first data determined based on the first transmission resource, and k is an integer greater than or equal to 1; a processing module, configured to construct the first data according to the second data and the dictionary matrix.
[0137] In a possible implementation, the first data includes M first data sets, and the M first data sets are clustered into N second data sets, where the second data set includes at least one first data set, and both M and N are integers greater than or equal to 1.
[0138] In a possible implementation, the weighting parameter k of the first data includes a first weighting parameter k' corresponding to each second data set in the N second data sets; the second data includes a first sub-data set obtained by weighted encoding of the i-th second data set based on the first weighting parameter k i ', and the first sub-data set of the i-th represents the i-th second data set based on k i ' basis vectors in the dictionary matrix.
[0139] In a possible implementation, the first weighting parameter k i ' is determined based on the data characteristics of the i-th second data set.
[0140] In a possible implementation, the dictionary matrix includes N dictionary sub-matrices corresponding to the N second data sets respectively, and the N dictionary sub-matrices include at least two different dictionary sub-matrices.
[0141] In a possible implementation, the first weighting parameter k i ' corresponding to the i-th second data set includes the second weighting parameter k i ” corresponding to each first data set in the i-th second data set; the i-th first sub-data set includes the second weighting parameter k ij ” to weighted-encode the j-th first data set in the i-th second data set to obtain the j-th sub-data, and the j-th sub-data in the i-th first sub-data set is based on the k ij ” basis vectors in the i-th dictionary sub-matrix corresponding to the i-th second data set to represent the j-th first data set in the i-th second data set.
[0142] In a possible implementation, the second weighting parameter k ij ” corresponding to the j-th first data set in the i-th second data set is determined based on the data characteristics of the j-th first data set in the i-th second data set.
[0143] In a possible implementation, the K basis vectors of the third data include the K i ' basis vectors corresponding to the i-th second data set. The third data is obtained by weighted-encoding each second data set in the first data. The K basis vectors include the k basis vectors, and the k i ' basis vectors of the i-th second data set are the first k i ' basis vectors with the strongest expression ability for the first data among the K i ' basis vectors.
[0144] In a possible implementation, the transceiver module is further configured to receive P incremental data of the second data sent by the first communication device. P is an integer greater than or equal to 1. The q-th incremental data among the P incremental data includes the i-th first sub-data. The i-th first sub-data is based on the h (q,i) basis vectors in the i-th dictionary sub-matrix of the dictionary matrix to represent the i-th second data set. h (q,i) is an integer less than K and greater than or equal to 1; wherein, the q-th incremental data is a sub-data of the third data, and the i-th first sub-data includes the position indication information and weighting coefficients of the h (q,i) basis vectors in the third data; or, the q-th incremental data is a sub-data of the fourth data; the i-th first sub-data includes: the k iThe weighting coefficient of at least one of the base vectors of the P incremental data and / or the first q-1 incremental data among the P incremental data, and the h (q,i) position indication information and weighting coefficient of the h base vectors in the fourth data, where the fourth data is determined based on the i-th dictionary sub-matrix, the first data, and the fourth data corresponding to the q-1 incremental data. When q is equal to 1, the fourth data corresponding to the q-1 incremental data is the second data; wherein, the number of base vectors in the P incremental data and is less than or equal to K.
[0145] In a possible implementation manner, the third data represents the first data based on K base vectors in the dictionary matrix, and the third data is obtained by weighted encoding of the first data.
[0146] In a possible implementation manner, the k base vectors are the first k base vectors among the K base vectors in the dictionary matrix with the largest to smallest expression ability for the first data.
[0147] In a possible implementation manner, the transceiver module is further configured to receive P incremental data of the second data sent by the first communication device, where P is an integer greater than or equal to 1; wherein, the q-th incremental data among the P incremental data is a sub-data of the third data, and the q-th incremental data includes the position indication information and weighting coefficient of h q base vectors in the third data; alternatively, the q-th incremental data among the P incremental data is a sub-data of the fourth data; the q-th incremental data includes: the weighting coefficient of k base vectors in the fourth data and / or at least one of the base vectors of the first q-1 incremental data among the P incremental data, and the h q position indication information and weighting coefficient of the h base vectors in the fourth data; the fourth data is determined based on the dictionary matrix, the first data, and the fourth data corresponding to the q-1 incremental data. When q is equal to 1, the fourth data corresponding to the q-1 incremental data is the second data; wherein, h q is an integer less than K and greater than or equal to 1, and the sum of the number of base vectors in the P incremental data and k is less than or equal to K.
[0148] In a possible implementation manner, the h q base vectors are the first h base vectors among the K base vectors except the k base vectors and the base vectors of the first q-1 incremental data, with the largest to smallest expression ability for the first data, where h q is the number of base vectors of one of the first q-1 incremental data. r is the number of base vectors of one of the first q-1 incremental data.
[0149] In a possible implementation manner, the second data includes position indication information and / or weighting coefficients of the k basis vectors.
[0150] In a possible implementation manner, the transceiver module is further configured to receive compressed data of the second data sent by the first communication device on the first transmission resource, where the compressed data of the second data is obtained by quantizing and / or entropy encoding the second data; the processing module is further configured to decompress the compressed data of the second data to obtain the second data.
[0151] In a possible implementation manner, the transceiver module is further configured to receive the dictionary matrix sent by the first communication device.
[0152] In a possible implementation manner, the transceiver module receives the quantized and / or entropy-encoded dictionary matrix sent by the first communication device, and the processing module decompresses the quantized and / or entropy-encoded dictionary matrix to restore the dictionary matrix before quantization and / or entropy encoding.
[0153] In a possible implementation manner, the data characteristics of the first data set or the second data set include at least one of the data volume, data boundary value, and mean variance.
[0154] In a possible implementation manner, the transceiver module is further configured to receive the class indication information sent by the first communication device, where the class indication information is used to indicate the clustering class of each first data set in the M first data sets.
[0155] In a possible implementation manner, the transceiver module is further configured to receive the indication information of the second transmission resource sent by the first communication device, where the second transmission resource is used to transmit the incremental data of the second data.
[0156] In a possible implementation manner, the transceiver module is further configured to receive the transmission request sent by the first communication device, where the transmission request is used to request the transmission of the incremental data of the second data.
[0157] In a possible implementation manner, the transceiver module is further configured to send compression indication information to the first communication device, where the compression indication information includes compression hyperparameter information, and the compression hyperparameter information is at least used to indicate a target weighting parameter, and the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k.
[0158] In a possible implementation manner, the transceiver module is further configured to receive the compression indication information sent by the first communication device, where the compression indication information includes compression hyperparameter information, and the compression hyperparameter information is at least used to indicate the target weighting parameter, and the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k.
[0159] In a possible implementation, the compressed hyperparameter information includes at least one of the following:
[0160] Configuration information of the first transmission resource, where the first transmission resource is used to indicate the target weighting parameter;
[0161] Information indicating the dimension and / or the number of basis vectors of the dictionary matrix.
[0162] In a possible implementation, the compressed indication information further includes at least one of the following:
[0163] Information indicating the clustering method of M first data sets in the first data;
[0164] Information indicating the compression method of one or more second data sets among the N second data sets in the first data;
[0165] Information indicating whether entropy coding is performed on the second data.
[0166] In a possible implementation, the transceiver module is further configured to receive compressed parameter information sent by the first communication device, where the compressed parameter information includes at least one of the following:
[0167] Boundary values of the dictionary matrix;
[0168] Boundary values of the weighting coefficients of the basis vectors in the second data.
[0169] In a possible implementation, the transceiver module is further configured to receive feedback information sent by the first communication device, where the feedback information includes a weighting parameter k m , and the weighting parameter k m is used to adjust the size of the transmission resource for the next round.
[0170] For the communication device provided in the fourth aspect above and each possible implementation of the fourth aspect, the beneficial effects can be referred to the beneficial effects brought by the first aspect above and each possible implementation of the first aspect, which will not be elaborated here.
[0171] Fifth aspect, an embodiment of the present application provides a communication device, including: a processor, configured to execute the method in the first aspect, the second aspect or each possible implementation through running a computer program or through a logic circuit.
[0172] In a possible implementation, the communication device further includes a memory, where the memory is used to store the computer program.
[0173] In a possible implementation, the communication device further includes a communication interface, where the communication interface is used for inputting and outputting signals.
[0174] Sixth aspect, an embodiment of the present application provides a communication system, including: a first communication device configured to execute the method in the first aspect or each possible implementation manner, and a second communication device configured to execute the method in the second aspect or each possible implementation manner.
[0175] Seventh aspect, an embodiment of the present application provides a computer-readable storage medium for storing computer program instructions, where the computer program causes a computer to execute the method in the first aspect, the second aspect, or each possible implementation manner as described above.
[0176] Eighth aspect, an embodiment of the present application provides a computer program product, including computer program instructions, where the computer program instructions cause a computer to execute the method in the first aspect, the second aspect, or each possible implementation manner as described above.
[0177] Ninth aspect, an embodiment of the present application provides a computer program, where the computer program causes a computer to execute the method in the first aspect, the second aspect, or each possible implementation manner as described above.
[0178] FIG. 1 is a schematic diagram of the architecture of a mobile communication system to which an embodiment of the present application is applied;
[0179] FIG. 2 is a schematic diagram of a framework for data compression and transmission provided by an embodiment of the present application;
[0180] FIG. 3 is a schematic diagram of dictionary learning provided by an embodiment of the present application;
[0181] FIG. 4 is a schematic diagram of an interaction process of a data compression and transmission method provided by an embodiment of the present application;
[0182] FIG. 5 is a schematic diagram of a framework for data compression and transmission provided by an embodiment of the present application;
[0183] FIG. 6 is a schematic diagram of a framework for data compression and transmission provided by an embodiment of the present application;
[0184] FIG. 7 is a schematic diagram of a clustering category provided by an embodiment of the present application;
[0185] FIG. 8 is a schematic diagram of a framework for data compression and transmission provided by an embodiment of the present application;
[0186] FIG. 9 is a schematic diagram of hierarchical incremental transmission provided by an embodiment of the present application;
[0187] FIG. 10a is a schematic diagram of an interaction process of a data compression and transmission method provided by an embodiment of the present application;
[0188] FIG. 10b is a schematic diagram of an interaction process of a data compression and transmission method provided by an embodiment of the present application;
[0189] FIG. 10c is a schematic interaction flowchart of a data compression and transmission method provided by an embodiment of the present application;
[0190] FIG. 10d is a schematic interaction flowchart of a data compression and transmission method provided by an embodiment of the present application;
[0191] FIG. 11 is a schematic block diagram of a communication device provided by an embodiment of the present application;
[0192] FIG. 12 is another schematic block diagram of a communication device provided by an embodiment of the present application.
[0193] The technical solutions in the present application will be described below with reference to the accompanying drawings.
[0194] FIG. 1 is a schematic architecture diagram of a mobile communication system to which an embodiment of the present application is applied. As shown in FIG. 1, the mobile communication system includes a core network device 110, a network device 120, and at least one terminal device (such as terminal devices 130 and 140 in FIG. 1). The terminal device is connected to the network device wirelessly, and the network device is connected to the core network device wirelessly or wiredly. The core network device and the network device may be independent different physical devices, or the functions of the core network device and the logical functions of the network device may be integrated on the same physical device, or the functions of part of the core network device and part of the network device may be integrated on one physical device. The terminal device may be fixed in position or movable. FIG. 1 is only a schematic diagram, and the communication system may further include other network devices, such as wireless relay devices and wireless backhaul devices, which are not shown in FIG. 1. The embodiments of the present application do not limit the number of core network devices, network devices, and terminal devices included in the mobile communication system.
[0195] In the embodiments of the present application, the network device may be any device with wireless transceiver functions. The network device includes but is not limited to: evolved Node B (eNB), home evolved Node B (such as home evolved NodeB, or home Node B, HNB), baseband unit (BBU), access point (AP) in a wireless fidelity (WiFi) system, wireless relay node, wireless backhaul node, transmission point (TP), or transmission and reception point (TRP). It may also be a mobile switching center, and devices that undertake the functions of a base station in Device-to-Device (D2D), vehicle-to-everything (V2X), and machine-to-machine (M2M) communications, etc. It may also be a gNB in a 5G system, one or a group of antenna panels (including multiple antenna panels) of a base station in a 5G system, or a network node that constitutes a gNB or a transmission point, such as a BBU, or a distributed unit (DU), etc. The embodiments of the present application do not make specific limitations on this.
[0196] In some deployments, the gNB may include a centralized unit (CU) and a DU. The CU and the DU respectively implement some functions of the gNB, and the CU and the DU can communicate through the F1 interface. The gNB may also include an active antenna unit (AAU). The AAU can implement some physical layer processing functions, radio frequency processing, and functions related to active antennas.
[0197] It can be understood that the network device may be a device including one or more of a CU node, a DU node, and an AAU node. In addition, the CU may be classified as a network device in a radio access network (RAN), or the CU may be classified as a network device in a core network (CN). The present application does not make any limitations on this.
[0198] In the embodiments of the present application, the terminal device may also be referred to as a user equipment (UE), access terminal, user unit, user station, mobile station, mobile unit, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device.
[0199] A terminal device can be a device that provides voice / data connectivity to users. For example, it can be a handheld device, a vehicle-mounted device, etc. with wireless connection capabilities. Currently, some examples of terminals can be: mobile phones, tablets, computers with wireless transceiver functions (such as laptops, palmtop computers, etc.), customer-premises equipment (CPE), intelligent point of sale (POS) machines, mobile internet devices (MID), virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical, wireless terminals in smart grid, wireless terminals in transportation safety, wireless terminals in smart city, wireless terminals in smart home, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDA), handheld devices with wireless communication functions, computing devices, or other processing devices connected to a wireless modem, vehicle-mounted devices, wearable devices, terminal devices in a 5G network, or terminal devices in a system evolved after 5G, etc.
[0200] The network device and the terminal device can communicate through licensed spectrum, can also communicate through unlicensed spectrum, or can communicate through both licensed spectrum and unlicensed spectrum simultaneously. The network device and the terminal device can communicate through spectrum below 6G, can also communicate through spectrum of 6G and above, or can also use spectrum below 6G and spectrum of 6G and above simultaneously. The embodiments of this application do not limit the spectrum resources used between the network device and the terminal device.
[0201] It should be understood that this application does not limit the specific forms of the network device and the terminal device.
[0202] The communication method provided by this application can be applied to various communication systems, such as: Long Term Evolution (LTE) systems, 5G mobile communication systems, and 5G-evolved mobile communication systems such as 6G. Among them, the 5G mobile communication system or 6G mobile communication system can include non-standalone (NSA) and / or standalone (SA).
[0203] The communication method provided by this application can also be applied to machine type communication (MTC), Long Term Evolution-machine (LTE-M), device to device (D2D) networks, machine to machine (M2M) networks, internet of things (IoT) networks, or other networks.
[0204] Taking the federated learning scenario as an example, federated learning is a distributed machine learning technology. It conducts distributed model training among multiple data sources with local data. Without the need to exchange local individual or sample data, it only constructs a global model based on virtual fusion data by iteratively interacting model parameters or intermediate results, thereby achieving a balance between data privacy protection and data sharing computing. In the federated learning scenario, the terminal devices (such as 130 and / or 140 in FIG. 1) can transmit the locally updated model parameters or intermediate results to the network device (such as 120 in FIG. 1) to update a global AI model data.
[0205] In the communication system shown in FIG. 1 above, the process of data compression transmission between devices can refer to the schematic diagram of the data compression transmission framework shown in FIG. 2. As shown in FIG. 2, the terminal devices 130 and 140 can respectively perform their local model learning to obtain local physical layer data, compress the local physical layer data, and then send the compressed data to the network device 120. The network device 120 decompresses the compressed data received from each terminal device, and then respectively performs data recovery for each terminal device to obtain the recovered data.
[0206] Due to the extremely large amount of parameter data generated by the physical layer of communication devices during each iteration process, for example, the number of parameters of a common ResNet18 model can reach the level of tens of millions of data, and frequent interactions are also required, which will consume a large amount of communication resources. Therefore, data needs to be compressed during each data transmission of communication devices to improve communication efficiency.
[0207] Considering the communication efficiency of the native data transmission in the physical layer, a common compression method is the combination of scalar quantization and entropy coding. However, the compression performance of this method is limited and cannot achieve a larger compression ratio while ensuring low data loss.
[0208] To achieve effective and reliable data compression and transmission, the embodiments of this application perform weighted coding on the data to be transmitted based on dictionary learning, so as to express the data to be transmitted through k basis vectors, and compress the physical layer data while ensuring low data loss. Further, the weighted parameter k used for weighted coding of the data to be transmitted is determined based on the transmission resources of compression transmission, achieving a balance between transmission resources and compression performance, avoiding excessive compression and loss of more transmission data when the transmission resources are sufficient, or being unable to transmit due to large compressed data when the transmission resources are insufficient, and realizing effective and reliable data compression for the data to be transmitted with a large amount of data.
[0209] It should be noted that the above examples are only illustrative with the example of uploading AI model data and should not be construed as any limitation to this application. For example, in the scenario of federated learning, a network device (such as 120 in FIG. 1) can download and transmit the locally updated AI model data to a terminal device (such as 130 and / or 140 in FIG. 1), or terminal device A (such as 130 in FIG. 1) can laterally transmit the locally updated AI model data to terminal device B (such as 140 in FIG. 1).
[0210] In the embodiments of this application, data recovery of the first data can also be expressed as data construction of the first data, and their meanings are the same, and the meanings expressed after changing the word order for the convenience of expression are also the same. For example, the above expression can also be replaced with recovering the first data or constructing the first data.
[0211] To facilitate the understanding of this application, an exemplary description of dictionary learning is first given.
[0212] The q-dimensional weighted coding method (q is greater than or equal to 1) based on dictionary learning: Learn a dictionary matrix D composed of a group of basis vectors (or called atoms) and the optimal q-atom combination and corresponding weighting coefficients X representing each sample vector y from the sample vector set Y, that is, all sample vectors in the sample set are represented as a linear combination of q basis vectors in the dictionary matrix D.
[0213] FIG. 3 is a schematic diagram of dictionary learning provided by an embodiment of the present application. As shown in FIG. 3, the dictionary matrix D is a two-dimensional dictionary of d*L, where d represents the dimension of the basis vectors and L represents the number of basis vectors. Each d-dimensional sample vector y in the sample vector set Y can be expressed as a weighted combination of q (q is 3 in FIG. 3) basis vectors in the dictionary matrix D. That is, in the formula y = D*x, the column vector x can be the weighted coefficient vector in the weighted coefficient set X corresponding to the sample vector set Y for expressing the sample vector y. The weighted coefficient vector x contains zero coefficients and non-zero coefficients, where the rows in the weighted coefficient vector x correspond one-to-one with the column vectors in the dictionary matrix D, and the values in each row of the weighted coefficient vector are the weighted coefficients of the corresponding basis vectors. As shown in FIG. 3, y satisfies the following formula (1):
[0214] y = d 2 ﹡x 2 +d 5 *x 5 +d 8 *x 8 (1)
[0215] The more zero coefficients there are in the weighted coefficient set X, the less resources are occupied by information with low relevance to the learning task, so as to reduce the overhead of storage resources and transmission resources while having a good expression ability for the sample vector set Y. In this case, it is considered that the weighted coefficient set X has good sparsity performance, that is, the sparsity based on dictionary learning is good.
[0216] Compression principle of dictionary learning: Divide the data to be transmitted into m d-dimensional vectors, and learn a common dictionary matrix D, then each d-dimensional vector can be compressed into the position indication information and weighted coefficients of k basis vectors selected in the dictionary.
[0217] In the process of dictionary learning, dictionary learning can be performed based on the sample vector set (which can be replaced by the data to be transmitted in the following text, such as the first data) Y and the initialized dictionary matrix D to obtain the learned dictionary matrix D and the weighted coefficient vector set (or called sparse matrix, sparse representation, etc.) X.
[0218] Dictionary learning may include the following steps:
[0219] 1. Initialize the dictionary D and normalize it;
[0220] 2. Fix D, set the sparsity (or called the weighting parameter) K value, use the orthogonal matching pursuit (OMP) algorithm to obtain the sparse representation X of the sample vector set Y, and set the objective function to minimize the error E = Y - D*X. Among them, the OMP algorithm can also be replaced by the matching pursuit (MP) algorithm, etc., which is not limited in this application; among them, the weighting parameter is the number of basis vectors used in weighted coding.
[0221] 3. Based on the objective function, update the dictionary matrix D and the weighted coefficient vector set X:
[0222] If directly updating D and X with the singular value decomposition (SVD) result of the objective function, it will cause X not to be sparse. Therefore, the objective function only retains the terms of the basis vectors at non-zero positions and the product of the weighted coefficients of each basis vector, and then performs SVD decomposition to update D and X;
[0223] 4. Iterate the above steps 2 and 3 until the objective function converges, and obtain the converged dictionary matrix D and the sparse representation X.
[0224] Among them, obtaining the sparse representation X of the sample vector set Y using the OMP algorithm may include the following steps:
[0225] 1. Initialization: The selected atom set P is an empty set, the sample vector set Y, and the atom sparsity is initially 0;
[0226] 2. Select an atom: Select the atom c most relevant to the sample vector set Y based on the absolute value of the inner product of all atoms of the dictionary matrix D and the sample vector set Y, and add it to the atom set P;
[0227] 3. Update the coefficients of the selected atom: Represent the sample vector set Y as a linear combination of the atoms in the atom set P, and calculate the coefficients of each atom using the least squares method;
[0228] 4. Calculate the residual: Calculate the residual E between the linear combination of the selected atoms and the sample vector set Y;
[0229] 5. Iteration: Perform the next iteration (repeat steps 2 to 3, and continue to select the atom most relevant to the residual E). After multiple iterations, the sparse representation X with non-zero coefficients of the sample vector set Y can be obtained.
[0230] Next, the communication method provided by the embodiments of the present application will be described with reference to the accompanying drawings.
[0231] It should be understood that for the convenience of understanding and description, the following uses the interaction between a first communication device and a second communication device as an example to illustrate the method provided by the embodiments of the present application. When the data compression and transmission method provided by the embodiments of the present application is applied to uplink transmission, the first communication device may be any terminal device in the communication system shown in FIG. 1, such as terminal device 130 or terminal device 140, and the second communication device may be the network device 120 in the communication system shown in FIG. 1; when the data compression and transmission method provided by the embodiments of the present application is applied to downlink transmission, the first communication device may be the network device 120 in the communication system shown in FIG. 1, and the second communication device may be any terminal device in the communication system shown in FIG. 1, such as terminal device 130 or terminal device 140; when the data compression and transmission method provided by the embodiments of the present application is applied to sidelink transmission, the first communication device may be any terminal device in the communication system shown in FIG. 1, such as terminal device 130, and the second communication device may be any terminal device other than the first communication device in the communication system shown in FIG. 1, such as terminal device 140.
[0232] It should also be understood that this should not impose any limitation on the execution subject of the method provided by the present application. As long as a program running the code of the method provided by the embodiments of the present application can execute the method provided by the embodiments of the present application, it can be used as the execution subject of the method provided by the embodiments of the present application. For example, any of the above communication devices can be implemented as a terminal device or as a component in a terminal device, such as a chip, a chip system, or other functional modules that can call and execute programs; any of the above communication devices can be implemented as a network device or as a component in a network device, such as a chip, a chip system, or other functional modules that can call and execute programs.
[0233] FIG. 4 is a schematic diagram of the interaction process of a data compression and transmission method provided by an embodiment of the present application. As shown in FIG. 4, the method 200 includes the following part or all of the processes:
[0234] S210, the first communication device performs weighted encoding on the first data based on a dictionary matrix to obtain second data, and the second data represents the first data based on k basis vectors in the dictionary matrix, where k is a weighting parameter of the first data determined based on the first transmission resource, and k is an integer greater than or equal to 1;
[0235] S220, the first communication device sends the second data to the second communication device on the first transmission resource; correspondingly, the second communication device receives the second data from the first communication device on the first transmission resource.
[0236] S230, the second communication device constructs the first data according to the second data and the dictionary matrix.
[0237] Among them, the first data may correspond to the sample vector set Y in the foregoing example, the dictionary matrix may correspond to the dictionary matrix D in the foregoing example, and the second data may correspond to the weighted coefficient set X in the foregoing example. The weighted coefficient set X includes position indication information of basis vectors and weighted coefficients.
[0238] It should be understood that the larger the number k of basis vectors expressing the first data in the second data, the larger the data volume of the second data, that is, the larger the transmission resources occupied by the second data. Therefore, in S210, the weighted parameter k of the first data is determined by the first transmission resources, so that the second data obtained by weighted coding can be transmitted on the first transmission resources, achieving a balance between transmission resources and compression performance.
[0239] The first communication device may determine the weighted parameter k of the first data based on the first transmission resources; alternatively, the first communication device may receive the weighted parameter of the first data sent by the second communication device.
[0240] Optionally, the second data includes position indication information and / or weighted coefficients of k basis vectors. Among them, the position indication information is used to indicate the position (such as index) of each basis vector in the k basis vectors in the dictionary matrix, and the weighted coefficient is the weight of each basis vector in the k basis vectors used when the second data expresses the first data.
[0241] Optionally, the position indication information may include a tree structure, a bitmap, a position index, etc., and the present application does not limit this.
[0242] Optionally, the position indication information may indicate a basis vector combination from a plurality of preset basis vector combinations, and the number of basis vectors in each basis vector combination may be equal to k. In a possible implementation, the position indication information includes a first index, and the first index corresponds to a basis vector combination. The first communication device and the second communication device may pre-store the correspondence between a plurality of indexes and a plurality of basis vector combinations, and the plurality of indexes includes the first index. For example, assume that k is equal to 2. The 1st and 3rd basis vectors in the dictionary matrix belong to the 1st basis vector combination, and the 2nd and 4th basis vectors in the dictionary matrix belong to the 2nd basis vector combination. When the position indication information is 0, it indicates the 1st basis vector combination, and when the position indication information is 1, it indicates the 2nd basis vector combination. The number of basis vectors included in each basis vector combination in the plurality of basis vector combinations may be the same or different. Among them, the correspondence between the index and the basis vector combination may be preset. For example, index 0 corresponds to the 1st basis vector combination, and index 1 corresponds to the 2nd basis vector combination.
[0243] Both the first communication device and the second communication device may be preset with the above-mentioned multiple base vector combinations; or the first communication device may be preset with multiple base vector combinations and configure multiple base vector combinations for the second communication device; or the second communication device may be preset with multiple base vector combinations and configure multiple base vector combinations for the first communication device.
[0244] When the second data includes the position indication information of k base vectors, the weighting coefficients of the k base vectors may be preset. For example, both the first communication device and the second communication device are preset with preset values of the weighting coefficients (such as the weighting coefficient being 1); or the weighting coefficients of the k base vectors may be pre-configured. For example, the second communication device is preset with preset values of the weighting coefficients, and the second communication device sends the preset values of the weighting coefficients to the first communication device to configure the weighting coefficients. When the second data includes the weighting coefficients of k base vectors, the position indication information of the k base vectors may be preset. For example, both the first communication device and the second communication device are preset with the position indication information of k base vectors (such as the first to k base vectors in the dictionary matrix), or the position indication information of the k base vectors may be pre-configured. For example, the first communication device is preset with the position indication information of k base vectors (such as the first to k base vectors in the dictionary matrix), and the first communication device sends the position indication information of the k base vectors to the second communication device to achieve pre-configuration.
[0245] In a possible implementation, the above dictionary matrix may be pre-agreed by the first communication device and the second communication device, or sent by the first communication device to the second communication device in advance, or sent by the second communication device to the first communication device in advance, or defined by the protocol. The present application does not limit this.
[0246] In some embodiments, the first communication device may send the dictionary matrix to the second communication device on the above first transmission resource.
[0247] After the first communication device performs weighted encoding on the first data, it obtains the position indication information of k base vectors, the weighting coefficients, and the updated dictionary matrix. Further, in order to improve the compression ratio of the first data, the first communication device may perform quantization and / or entropy encoding according to the second data to obtain the compressed data of the second data; then the above S220 may be implemented as the first communication device sending the compressed data of the second data to the second communication device on the first transmission resource. Exemplarily, the first communication device may perform quantization (including scalar quantization or vector quantization) and entropy encoding on the weighting coefficients and the dictionary matrix, perform entropy encoding on the position indication information, and send the second information obtained after quantization and / or entropy encoding to the second communication device.
[0248] It should be noted that in the above S230, the process by which the second communication device constructs the first data based on the second data and the dictionary matrix can also be referred to as the recovery process of the first data. Generally speaking, there is a difference between the data obtained by the second communication device by constructing the first data and the first data. The smaller the difference between the data obtained by constructing the first data and the first data, the smaller the data loss during the compression and transmission process, and vice versa, the greater the data loss.
[0249] For some communication scenarios, such as in the communication scenario of federated learning, the amount of data to be transmitted is large. In order to reduce the overhead of the dictionary matrix and learn a sparser representation with better sparsity when the amount of data to be transmitted is large. In the first possible implementation manner of the present application, the first data is clustered, and dictionary learning and sparse representation are performed on the clustered data and then transmitted, as shown in FIG. 5; in the second possible implementation manner of the present application, dictionary learning is performed on the first data and compressed transmission is performed in a hierarchical incremental manner. The following separately describes these two possible examples:
[0250] The first possible implementation manner: Compression and transmission after clustering:
[0251] The compression and transmission after clustering may include a schematic diagram of a data compression and transmission framework as shown in FIG. 5. The first communication device 310 may cluster the first data, perform weighted encoding on the clustered data respectively and send it to the second communication device 320, and the second communication device performs weighted decoding on the received data respectively, so as to realize data recovery and obtain the recovered data.
[0252] Specifically, the compression and transmission after clustering may include a schematic diagram of a data compression and transmission framework as shown in FIG. 6. As shown in FIG. 6, the first communication device 310 may cluster the first data. For example, M first data sets in the first data are clustered into N second data sets, and each second data set includes at least one first data set. Both M and N are integers greater than or equal to 1.
[0253] It should be noted that the first data set may be a set of one or more data. The first data set may be represented in the form of a matrix. When the first data set is represented in the form of a matrix, the first data set may be referred to as a first data matrix. It should be understood that the first data set is not a set of the first data but a component of the first data. The N second data sets are obtained by clustering the M first data sets. Similar to the first data set, the second data set may also be a set of one or more data. When the first data set is represented in the form of a matrix, the second data set may be a set of matrices, which may be referred to as a second data matrix set. The following only takes the first data set as the first data matrix and the second data set as the second data matrix set as an example for description, but does not limit the data forms of the first data set and the second data set.
[0254] In the federated learning scenario, the first data may include model parameter data, and the first data matrix may be a matrix of model parameters.
[0255] As an example, the first communication device 310 may cluster M first data matrices into N second data matrix sets according to the data types of the M first data matrices. For example, the first communication device 310 may use the model parameter data of the same network layer, the model parameters of the same type of network layer, or the model parameter data of adjacent network layers as the same clustering category and divide them into the same second data matrix set. Among them, the types of network layers include but are not limited to convolutional layers, fully connected layers, etc.
[0256] The above example may be a static clustering process. One or more clustering methods may be agreed between the first communication device and the second communication device. For example, clustering the parameter data of the same network layer, clustering the parameter data of two adjacent network layers, etc. In the case where multiple clustering methods are pre-agreed, the second communication device may indicate one of the clustering methods to the first communication device so that the first communication device clusters according to the indicated clustering method, or the first communication device may determine one of the multiple clustering methods for clustering, and then indicate the adopted clustering method to the second communication device for the second communication device to perform data recovery.
[0257] As another example, the first communication device 310 may cluster M first data matrices into N second data matrix sets according to the boundary values of the elements in the M first data matrices. For example, as shown in FIG. 7, the absolute value interval of the boundary value corresponding to clustering category 1 is [-∞, e-02], and the absolute value interval of the boundary value corresponding to clustering category 2 is [e-02, e-01], where e-01 is the negative 1st power of 10 and e-02 is the negative 2nd power of 10. The first communication device 310 may cluster the M first data matrices according to the relationship between the absolute value of the boundary value of the elements in the M first data matrices and the absolute value intervals of the boundary values of each clustering category. Generally speaking, the absolute values of the boundary values of the elements in the same first data matrix are at the same order of magnitude or the order of magnitude is close. Referring to FIG. 7, the absolute value of the boundary value of each element a in the first data matrix A is greater than or equal to e-02 and less than or equal to e-01, the absolute value of the boundary value of each element b in the first data matrix B is less than or equal to e-02... the absolute value of the boundary value of each element c in the first data matrix M-1 is greater than or equal to e-02 and less than or equal to e-01, and the absolute value of the boundary value of each element d in the first data matrix M is less than or equal to e-02. Then, the first data matrix A and the first data matrix M-1 (and other first data matrices that satisfy the absolute value interval of the boundary value of clustering category 1) are clustered into the second data matrix set corresponding to clustering category 1, and the first data matrix B and the first data matrix M (and other first data matrices that satisfy the absolute value interval of the boundary value of clustering category 2) are clustered into the second data matrix set corresponding to clustering category 2.
[0258] The above example may be a dynamic clustering process. The first communication device may send category indication information to the second communication device to indicate the clustering category of each first data matrix in the M first data matrices. For example, the clustering category 1 of the first data matrix A may be indicated by a bit with a value of 0, and the clustering category 2 of the first data matrix M may be indicated by a bit with a value of 1. Of course, the present application does not limit the indication method of the clustering category and the number of bits.
[0259] Referring to FIG. 6, the first communication device 310 may perform weighted encoding on each second data matrix set in the N second data matrix sets to obtain a first sub-data set corresponding to the second data matrix set, and the first sub-data sets respectively corresponding to the N second data matrix sets form the above-mentioned second data. The first communication device 310 may perform weighted encoding on some of the second data matrix sets in the N second data matrix sets, and use other compression methods, such as quantization and / or entropy encoding, for the other second data matrix sets. The first communication device 310 may determine the compression method (such as weighting, quantization, entropy encoding, etc.) used for the second data matrix set based on the clustering category of each second data matrix set.
[0260] Exemplarily, the weighting parameter k of the second data may include the first weighting parameter k' corresponding to each second data matrix set in N second data matrix sets. The first weighting parameters k' corresponding to any two second data matrix sets in the N second data matrix sets may be the same or different, and the present application does not limit this.
[0261] When performing weighted coding on each second data matrix set, dictionary learning can be performed based on the first weighting parameter k' corresponding to the second data matrix set to control the number of basis vectors expressing the second data matrix set, so as to flexibly control the sparse representation of different second data matrix sets, and achieve a balance between compression performance and transmission resources.
[0262] Taking the i-th second data matrix set in the N second data matrix sets as an example, the first communication device 310 may perform weighted coding on the i-th second data matrix set based on the first weighting parameter k i ' of the i-th second data matrix set to obtain the i-th first sub-dataset. The i-th first sub-dataset can express the i-th second data matrix set through k i ' basis vectors of the dictionary matrix. The i-th first sub-dataset may include position indication information and / or weighting coefficients of the k i ' basis vectors.
[0263] The first weighting parameter k i ' can be determined based on the data characteristics of the i-th second data matrix set. Optionally, the data characteristics of the second data matrix set include, but are not limited to, at least one of the data volume, data boundary value, and mean variance of the second data matrix set. The data volume of the second data matrix set may be the sum of the data volumes of all the first data matrices in the second data matrix set. The data boundary value of the second data matrix set may include the maximum value and the minimum value of the elements of all the first data matrices in the second data matrix set. The mean variance of the second data matrix set may be determined based on the values of the elements of all the first data matrices in the second data matrix set.
[0264] The data characteristics of the second data matrix set can reflect the proportion of the data volume of the second data matrix set in the first data. Therefore, determining the first weighting parameter k i ' according to the data characteristics of the i-th second data matrix set can, when the data volume of the i-th second data matrix set in the first data is relatively large, perform weighted coding on the i-th second data matrix set with a relatively large first weighting parameter k i ' so that the i-th first sub-dataset expresses the i-th second data matrix set based on more basis vectors. When the data volume of the i-th second data matrix set in the first data is relatively small, perform weighted coding on the i-th second data matrix set with a relatively small first weighting parameter k i"Perform weighted encoding on the i-th second data matrix set, so that the i-th first sub-data set expresses the i-th second data matrix set based on fewer basis vectors. The flexible control of the sparse representation of second data matrix sets with different data volumes achieves a balance between compression performance and transmission resources.
[0265] When the second data matrix sets of different clustering categories share a dictionary, the first communication device 310 can be based on the first weighting parameter k of the i-th second data matrix set i "and the dictionary matrix D to perform weighted encoding on the i-th second data matrix set to obtain the i-th first sub-data set; when the second data matrix sets of different clustering categories do not share a dictionary, or some of the second data matrix sets do not share a dictionary, the dictionary matrix D can include N dictionary sub-matrices corresponding to the N second data matrix sets respectively, and the first communication device 310 can be based on the first weighting parameter k of the i-th second data matrix set i "and the i-th dictionary sub-matrix D i , perform weighted encoding on the i-th second data matrix set to obtain the i-th first sub-data set.
[0266] It should be noted that one second data matrix set corresponds to one dictionary sub-matrix. The number of basis vectors in the dictionary sub-matrix is small, and the number of bits of the position indication information indicating the basis vectors in the dictionary sub-matrix is also small, reducing the data size of the first sub-data set and increasing the compression ratio. It should be understood that when the N second data matrix sets do not share a dictionary, the N dictionary sub-matrices are all different. When some of the N second data matrix sets do not share a dictionary, the N dictionary sub-matrices include at least two different dictionary sub-matrices. When the N second data matrix sets share a dictionary, the N dictionary sub-matrices can all be the same dictionary sub-matrix.
[0267] When the dictionary matrix D includes N dictionary sub - matrices corresponding to N sets of second data matrices respectively, the first communication device can send the N dictionary sub - matrices to the second communication device. To reduce the resource overhead of transmitting dictionary sub - matrices, in the case where some of the N sets of second data matrices share a dictionary, the first communication device can send N'dictionary sub - matrices to the second communication device, where the N'dictionary sub - matrices are different dictionary sub - matrices among the N dictionary sub - matrices. That is, for the dictionary sub - matrices shared by two or more sets of second data matrices, they are sent only once. In this case, the first communication device can send dictionary indication information to the second communication device, and the dictionary indication information is used to indicate the set of second data matrices corresponding to the dictionary sub - matrix (for example, indicating the index of the corresponding set of second data matrices), where N'is less than N. Similarly, in the case where each set of second data matrices among the N sets of second data matrices shares a dictionary, the first communication device can send the shared dictionary sub - matrix to the second communication device. In this case, the second communication device determines that all N sets of second data matrices share the dictionary sub - matrix.
[0268] In some embodiments, to further improve the compression performance, each first data matrix in each set of second data matrices can respectively correspond to a second weighting parameter to achieve a finer - grained weighted encoding of the first data. As shown in FIG. 8, for the i - th set of second data matrices, the first weighting parameter k i ' of the i - th set of second data matrices includes the second weighting parameters k i ” corresponding to each first data matrix in the i - th set of second data matrices. The i - th first subset of data includes the j - th sub - data obtained by weighted encoding the j - th first data matrix in the i - th set of second data matrices based on the second weighting parameter k ij ”. The j - th sub - data in the i - th first subset of data can be expressed by k ij ” basis vectors in the i - th dictionary sub - matrix corresponding to the i - th set of second data matrices for the j - th first data matrix in the i - th set of second data matrices. It should be understood that in the case where the N sets of second data matrices share a dictionary matrix, the k ij ” basis vectors are the basis vectors in the shared dictionary sub - matrix.
[0269] Optionally, the second weighting parameter k ij ” corresponding to the j - th first data matrix in the i - th set of second data matrices
[0270] It can be determined based on the data characteristics of the j-th first data matrix in the i-th second data matrix set. Optionally, the data characteristics of the first data matrix include, but are not limited to, at least one of the data volume, data boundary values, and mean variance of the first data matrix. The data boundary values of the first data matrix can be the maximum and minimum values of all elements in the first data matrix, and the mean variance of the first data matrix can be determined based on the values of all elements in the first data matrix.
[0271] The data characteristics of the first data matrix can reflect the data volume ratio of the j-th first data matrix in the i-th second data matrix set. Therefore, the second weighting parameter k is determined according to the data characteristics of the j-th first data matrix ij ”, when the data volume of the j-th first data matrix in the i-th second data matrix set is relatively large, a larger second weighting parameter k ij ” is used to perform weighted encoding on the j-th first data matrix, so that the j-th sub-data in the i-th first sub-data set represents the j-th first data matrix based on more basis vectors. When the data volume of the i-th first data matrix in the i-th second data matrix set is relatively small, a smaller second weighting parameter k ij ” is used to perform weighted encoding on the j-th first data matrix, so that the j-th sub-data in the i-th first sub-data set represents the j-th first data matrix based on fewer basis vectors. The flexible control of the sparse representation of the first data matrix with different data volumes achieves a balance between compression performance and transmission resources.
[0272] In the case where the dictionaries are shared among the second data matrix sets of different clustering categories, the first communication device 310 can perform weighted encoding on the j-th first data matrix based on the second weighting parameter k ij ” of the j-th first data matrix in the i-th second data matrix set and the dictionary matrix D; in the case where the dictionaries are not shared among the second data matrix sets of different clustering categories, or some of the second data matrix sets do not share the dictionary, the dictionary matrix D can include N dictionary sub-matrices corresponding to N second data matrix sets respectively. The first communication device 310 can perform weighted encoding on the j-th first data matrix based on the second weighting parameter k ij ” of the j-th first data matrix in the i-th second data matrix set and the i-th dictionary sub-matrix D i , and perform weighted encoding on the j-th first data matrix to obtain the j-th sub-data in the i-th first sub-data set.
[0273] Referring to FIG. 5, the first communication device 310 sends the second data to the second communication device 320, and the second communication device 320 can perform weighted decoding on the second data based on the first weighting parameter or the second weighting parameter to recover the first data.
[0274] As an example, for the i-th second data matrix set among the N second data matrix sets, when the second data matrix sets of different clustering categories share a dictionary, the second communication device 320 may construct the i-th second data matrix set based on the first weighting parameter k i ' and the dictionary matrix D, and then combine the second data matrix sets to obtain the restored first data. When the second data matrix sets of different clustering categories do not share a dictionary, the dictionary matrix D may include N dictionary sub-matrices respectively corresponding to the N second data matrix sets. The second communication device 320 may construct the i-th second data matrix set based on the first weighting parameter k i ' and the i-th dictionary sub-matrix D i , and then combine the second data matrix sets to obtain the restored first data.
[0275] As another example, for the j-th first data matrix in the i-th second data matrix set, when the second data matrix sets of different clustering categories share a dictionary, the second communication device 320 may construct the j-th first data matrix based on the second weighting parameter k ij ” and the dictionary matrix D, and then combine the first data matrices to obtain the restored second data matrix set, and then combine the second data matrix sets to obtain the restored first data. When the second data matrix sets of different clustering categories do not share a dictionary, the dictionary matrix D may include N dictionary sub-matrices respectively corresponding to the N second data matrix sets. The second communication device 320 may construct the j-th first data matrix based on the second weighting parameter k ij ” and the i-th dictionary sub-matrix D i , and then combine the first data matrices to obtain the restored second data matrix set, and then combine the second data matrix sets to obtain the restored first data.
[0276] The second possible implementation method: hierarchical incremental transmission:
[0277] In the second possible implementation method, the first communication device performs weighted encoding on the first data to obtain a dictionary matrix D and third data. The third data represents the first data based on K basis vectors in the dictionary matrix D. The K basis vectors include the above-mentioned k basis vectors, and K is an integer greater than or equal to k. During the hierarchical incremental transmission process, the first communication device may send the second data to the second communication device during the first hierarchical transmission process, and continue to transmit the incremental data of the second data during subsequent hierarchical transmission processes. It should be understood that the above-mentioned third data may include the second data and the incremental data of the second data. The process of the first communication device performing weighted encoding on the first data to obtain the dictionary matrix D and the third data may be the iterative learning process before the above-mentioned S210.
[0278] As shown in FIG. 9, exemplarily, the first communication device performs weighted encoding on the first data (such as including column vectors y 1 ~y w ) and the third data obtained after encoding includes position indication information of K basis vectors (such as i (1,1) to i (K,W) ) and weighted coefficients of K basis vectors (such as c (1,1) to c (K,W) ), where W is the number of columns of the first data. When k is equal to 2, the second data transmitted by the first communication device during the first hierarchical transmission includes position indication information of k basis vectors (such as i (1,1) to i (2,W) ) and weighted coefficients of k basis vectors (such as c (1,1) to c (2,W) ). In the example shown in FIG. 9, only the position indication information and weighted coefficients of two basis vectors are transmitted during each hierarchical transmission, but this is not limited thereto.
[0279] It should be understood that the third data is closer to the first data than the second data, that is, the similarity between the third data and the first data is higher.
[0280] Exemplarily, the k basis vectors are the top k basis vectors among the K basis vectors of the dictionary matrix D in descending order of the expression ability for the first data.
[0281] Exemplarily, the first communication device may send P incremental data of the second data to the second communication device, where P is an integer greater than or equal to 1. For example, when P is equal to 1, the first communication device transmits the incremental data during the second hierarchical transmission; for another example, when P is greater than 1, the first incremental data is transmitted during the second hierarchical transmission, the second incremental data is transmitted during the third hierarchical transmission... the Pth incremental data is transmitted during the (P + 1)th hierarchical transmission.
[0282] It should be noted that the sum of the number of basis vectors in the P incremental data and k is less than or equal to K, where h q is the number of basis vectors used to incrementally express the first data in the qth incremental data. The number of basis vectors used to express the first data in each incremental data may be the same or different, and this application does not limit this.
[0283] In the static hierarchical method, any one of the P incremental data is a sub-data of the third data, and the qth incremental data among the P incremental data may include position indication information and weighted coefficients of h q basis vectors in the third data. For example, as shown in FIG. 9, the first incremental data transmitted by the first communication device during the second hierarchical transmission includes h 1Position indication information of the base vectors (such as i (3,1) to i (4,W) ) and the weighting coefficients of h 1 base vectors (such as c (3,1) to c (4,W) )... The first communication device transmits the K / 2-th incremental data during the K / 2-th layer transmission, including the position indication information of h K / 2 base vectors (such as i (K-1,1) to i (K,W) ) and the weighting coefficients of h K / 2 base vectors (such as c (K-1,1) to c (K,W) ).
[0284] In the dynamic layer-by-layer mode, the q-th incremental data among the P incremental data is a sub-data of the fourth data, and the fourth data can be determined based on the dictionary matrix D, the first data, and the fourth data corresponding to the (q - 1)-th incremental data. For example, the first communication device can determine the fourth data based on the residual between the data recovered from the fourth data corresponding to the (q - 1)-th incremental data and the first data, and the dictionary matrix D. The process by which the first communication device determines the fourth data corresponding to the q-th incremental data based on the dictionary matrix D, the first data, and the fourth data corresponding to the (q - 1)-th incremental data can be the iterative learning process before S210 or the iterative learning process after S220. When q = 1, the fourth data corresponding to the first incremental data is determined based on the dictionary matrix D, the first data, and the second data. The q-th incremental data includes: the weighting coefficients of k base vectors in the fourth data, the weighting coefficients of the base vectors of at least one of the first (q - 1) incremental data among the P incremental data, and the position indication information and weighting coefficients of h q base vectors in the fourth data. For example, as shown in FIG. 9, the first incremental data transmitted by the first communication device during the second layer transmission includes: the weighting coefficients of k base vectors (such as c (1,1) to c (2,W) ), and the position indication information (such as i 1 to i (3,1) ) and the weighting coefficients (such as c (4,W) to c (3,1) ) of h (4,W) base vectors; the (K / 2 - 1)-th incremental data transmitted by the first communication device during the K / 2-th layer transmission includes: the weighting coefficients of k base vectors (such as c (1,1) to c (2,W) ), the weighting coefficients of the base vectors of the first (K / 2 - 2) incremental data among the P incremental data (such as c (3,1) to c (K-2,W) ), and the position indication information of h K / 2 base vectors (such as i(K-1,1) to i (K,W) ) and weighting coefficients (such as c (K-1,1) to c (K,W) ).
[0285] Among them, h q is an integer less than K and greater than or equal to 1.
[0286] Exemplarily, the h q basis vectors are the first h basis vectors with the strongest expression ability for the first data among the K basis vectors except for k basis vectors and the first q - 1 incremental data, or in other words, the h basis vectors are the first h basis vectors with the strongest expression ability for the residuals in the incremental transmission process among the K basis vectors except for k basis vectors and the first q - 1 incremental data. Among them, the residuals in the incremental transmission process are the residuals between the fourth data corresponding to the incremental data of the previous incremental transmission process in this incremental transmission process and the first data. Among them, h q is the number of basis vectors of an incremental data among the first q - 1 incremental data. q basis vectors are the first h basis vectors with the strongest expression ability for the residuals in the incremental transmission process among the K basis vectors except for k basis vectors and the first q - 1 incremental data, where the h basis vectors are the first h basis vectors with the strongest expression ability for the residuals in the incremental transmission process among the K basis vectors except for k basis vectors and the first q - 1 incremental data. Among them, the residuals in the incremental transmission process are the residuals between the fourth data corresponding to the incremental data of the previous incremental transmission process in this incremental transmission process and the first data. Among them, h q is the number of basis vectors of an incremental data among the first q - 1 incremental data. r is the number of basis vectors of an incremental data among the first q - 1 incremental data.
[0287] In the above dynamic hierarchical process, when incremental transmission is performed in each layer, an iterative learning is carried out once. By iterative learning, the weighting coefficients of at least one basis vector among the basis vectors selected in the previous layer transmission process are updated. That is, the fourth data corresponding to the qth incremental data includes the position indication information and weighting coefficients of the basis vectors in the first q incremental data and the second data, and the weighting coefficients of the basis vectors in the first q incremental data and the second data are updated after the iterative learning in the qth incremental transmission process. That is, the weighting coefficients of the basis vectors in the first q - 1 incremental data and the second data in the fourth data corresponding to the qth incremental data are different from the weighting coefficients of the basis vectors in the first q - 1 incremental data and the second data in the fourth data corresponding to the (q - 1)th incremental data (including that the weighting coefficients of all corresponding basis vectors are different, or the weighting coefficients of some corresponding basis vectors are different), optimizing the expression ability for the first data and improving the compression performance; in the above static hierarchical process, when incremental transmission is performed in each layer, the position indication information and weighting coefficients of the untransmitted partial basis vectors in the third data obtained by previous learning are transmitted, and no iterative learning is required again, improving the compression efficiency.
[0288] Based on the above first possible implementation manner and the second possible implementation manner, hierarchical incremental transmission can also be performed on at least one set of second data matrices after clustering. The following gives an exemplary description.
[0289] Exemplarily, the K basis vectors of the third data may include K' basis vectors respectively corresponding to each set of second data matrices. Taking the i-th set of second data matrices in the N sets of second data matrices as an example, the i-th set of second data matrices can be expressed by K i ' basis vectors. The k i ' basis vectors for expressing the i-th set of second data matrices included in the second data in the foregoing embodiments are partial basis vectors among the K i ' basis vectors. The third data is obtained by weighted encoding of each set of second data matrices in the first data. For the description of the third data, reference can be made to the examples above and will not be elaborated here.
[0290] Exemplarily, the k i ' basis vectors for expressing the i-th set of second data matrices in the foregoing embodiments may be the first k i ' basis vectors among the K i ' basis vectors arranged in descending order of the expression ability for the first data.
[0291] For the q-th incremental data among the P incremental data, the q-th incremental data may include first sub-data corresponding to each set of second data matrices. Taking the i-th first sub-data corresponding to the i-th set of second data matrices as an example, the i-th first sub-data expresses the i-th set of second data matrices based on h (q,i) basis vectors of the i-th dictionary sub-matrix in the dictionary matrix. It should be noted that the i-th first sub-data is only one type of incremental data of the set of second data matrices, and it expresses partial information in the i-th set of second data matrices. Specifically, the i-th first sub-data can express the residual between the i-th first sub-data and the data recovered based on the (i - 1)-th first sub-data based on h (q,i) basis vectors of the i-th dictionary sub-matrix in the dictionary matrix. h (q,i) is an integer less than K and greater than or equal to 1. The number of basis vectors in the P incremental data and sum to be less than or equal to K.
[0292] In some embodiments, the first communication device may perform the above-described hierarchical incremental transmission on each set of second data matrices in the N sets of second data matrices; in other embodiments, the first communication device may perform the above-described hierarchical incremental transmission on some of the sets of second data matrices in the N sets of second data matrices, and does not perform hierarchical incremental transmission on another part of the sets of second data matrices, or the first communication device performs different numbers of hierarchical transmission times on each set of second data matrices in the N sets of second data matrices. The number of hierarchical transmission times for each set of second data matrices may be related to the clustering category of the set of second data matrices.
[0293] In the static hierarchical mode, any one of the P incremental data is sub-data of the third data, and the q-th incremental data among the P incremental data may include position indication information and weighting coefficients of h (q,i) basis vectors in the third data.
[0294] In the dynamic hierarchical mode, the q-th incremental data among the P incremental data is sub-data of the fourth data, and the fourth data may be determined based on the i-th dictionary sub-matrix D i the first data, and the fourth data corresponding to the (q - 1)-th incremental data. When q is equal to 1, the fourth data corresponding to the (q - 1)-th incremental data is the second data. In a possible implementation manner, the fourth data corresponding to the first incremental data may be determined based on the residual between the i-th dictionary sub-matrix D i the first data, and the data recovered based on the fourth data corresponding to the (q - 1)-th incremental data. The process by which the first communication device determines the fourth data based on the i-th dictionary sub-matrix D i the first data, and the fifth data may be an iterative learning process before the above S210 or an iterative learning process after S220. This application does not make any limitation in this regard.
[0295] The i-th first sub-data includes: k i ' basis vectors in the fourth data and / or weighting coefficients of basis vectors of at least one of the first (q - 1) incremental data among the P incremental data, and position indication information and weighting coefficients of h (q,i) basis vectors in the fourth data. Optionally, the weighting coefficients of the basis vectors of at least one of the first (q - 1) incremental data included in the i-th first sub-data may be the weighting coefficients of h (1,i) basis vectors of the first incremental data among the P incremental data, or may be the weighting coefficients of the basis vectors of the first (q - 1) incremental data among the P incremental data. It should also be understood that if q is equal to 1, the (q - 1)-th incremental data, that is, the 0-th incremental data, does not exist, that is, the i-th first sub-data does not include the weighting coefficients of the basis vectors of at least one of the first (q - 1) incremental data. Wherein, h (r,i) is the number of basis vectors of one incremental data among the first (q - 1) incremental data corresponding to the i-th first sub-data.
[0296] Based on any of the above embodiments, below, with reference to FIGS. 10a to 10d, an exemplary description will be given of how the first communication device and the second communication device in the embodiments of the present application implement compressed transmission of data through signaling interaction.
[0297] FIG. 10a is a schematic interaction flow diagram of a data compression transmission method provided by an embodiment of the present application. The method 400a may include the following parts or all of the processes:
[0298] S410a, the second communication device sends compression indication information to the first communication device. Correspondingly, the first communication device receives the compression indication information;
[0299] S420a, the second communication device sends configuration information of the first transmission resource to the first communication device. Correspondingly, the first communication device receives the configuration information;
[0300] S430a, the first communication device performs weighted encoding according to the first transmission resource to obtain second data;
[0301] S440a, the first communication device sends the second data to the second communication device on the first transmission resource. Correspondingly, the second communication device receives the second data sent by the first communication device on the first transmission resource;
[0302] S450a, the second communication device constructs first data according to the second data.
[0303] The above compression indication information may include compression hyperparameter information. The compression hyperparameter information is at least used to indicate a target weighting parameter. The target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k. Exemplarily, the target weighting parameter may be the maximum weighting parameter allowed by the first transmission resource, that is, the target weighting parameter is the maximum number of basis vectors used to represent the first data.
[0304] The compression hyperparameter indication information may directly indicate the target weighting parameter, and the target weighting parameter may be determined by the network device based on the first transmission resource. In the above implementation manner of compressed transmission after clustering, the target weighting parameter may be used to determine the weighting parameter k' corresponding to each second matrix set.
[0305] Alternatively, the second communication device may implicitly indicate the target weighting parameter through the configuration information of the first transmission resource. In this case, the first communication device may determine the target weighting parameter according to the resource size of the first transmission resource to determine the weighting parameter k of the first data. In this case, the second communication device may not send compression indication information to the first communication device to indicate the target weighting parameter. Of course, it does not exclude the case where the second communication device sends compression indication information to the first communication device. For example, the second communication device may send compression indication information to the first communication device to indicate other information listed below.
[0306] Optionally, S410a and S420a above may be implemented as one sending process. In this case, the compression indication information may include the configuration information of the first transmission resource. For example, the configuration information of the first transmission resource may be included in the compression hyperparameter indication information in the compression indication information.
[0307] The compression hyperparameter indication information may further include information indicating the dimension and / or the number of basis vectors of the dictionary matrix D. For example, as shown in FIG. 3, the dimension d of the basis vectors and the number L of the basis vectors. Exemplarily, the dimension and / or the number of basis vectors of the dictionary matrix D may be determined based on the storage space of the first communication device. Generally, the basis vectors of the dictionary matrix D are proportional to the storage space of the first communication device, and the number of basis vectors of the dictionary matrix is proportional to the storage space of the first communication device. Exemplarily, the second communication device may determine the dimension and / or the number of basis vectors of the dictionary matrix D according to the size of the storage space of the first communication device, and indicate the information on the dimension and / or the number of basis vectors of the dictionary matrix D to the first communication device.
[0308] The first communication device may send information on the storage space of the first communication device (such as including the size of the storage space) to the second communication device. Optionally, the information on the storage space may be sent at the physical layer, or the information on the storage space may be carried in a buffer status report (BSR) and sent at the media access control (MAC) layer.
[0309] In addition to determining the information on the dimension and / or the number of basis vectors of the dictionary matrix D based on the storage space of the first communication device, the second communication device may also determine the information on the dimension and / or the number of basis vectors of the dictionary matrix D according to its own emphasis on performance or compression ratio, etc., or may combine the storage space and its own emphasis on performance or compression ratio, etc. to determine the information on the dimension and / or the number of basis vectors of the dictionary matrix D. Alternatively, the information on the dimension and / or the number of basis vectors of the dictionary matrix D may be a default value.
[0310] Optionally, the first communication device may send a first transmission request to the second communication device, and the second communication device sends configuration information on a first transmission resource to the first communication device in response to the first transmission request. Optionally, the first transmission request may be carried in a BSR and sent at the MAC layer.
[0311] The information on the storage space of the first communication device described above may be carried in the first transmission request for sending, or the information on the storage space of the first communication device may be sent separately from the first transmission request. This application does not make any limitation on this.
[0312] The above compression indication information may further include information indicating the clustering method of M first data matrices in the first data. For example, this information may indicate that the clustering method of the M first data matrices is the aforementioned static clustering or dynamic clustering; for another example, in the static clustering method, this information may indicate that the first data matrices of the same network layer or adjacent network layers are classified into the same second data matrix set as the same clustering category; for still another example, in the dynamic clustering method, this information may sequentially indicate the clustering category of each first data matrix by M bits, or sequentially indicate the clustering category of each first data matrix by each bit. Of course, a fixed distance method may be agreed between the first communication device and the second communication device. In this case, the compression indication information may not include the configuration information indicating the clustering method of the M first data matrices in the first data.
[0313] The above compression indication information may further include information indicating the compression method of one or more second data matrix sets among the N second data matrix sets in the first data. For example, perform hierarchical increment compression on the second data matrix sets in the N second data matrix sets with a data volume greater than a preset data volume; for another example, respectively configure N first weighting parameters k' for each second data matrix set in the N second data matrix sets; for still another example, configure the compression method for each second data matrix set, and the compression method includes but is not limited to: quantization (including scalar quantization and / or vector quantization), weighted coding, etc.
[0314] The above compression indication information may further include information indicating whether to perform entropy coding on the second data.
[0315] In some communication scenarios, the first communication device and the second communication device may perform multiple rounds of interaction to complete the communication service. When the first communication device and the second communication device perform multiple rounds of interaction, during the mth round of interaction, in the case where the compression indication information does not change, the compression indication information used in the (m - 1)th round of interaction may be shared. Exemplarily, if the first communication device does not receive the compression indication information during the mth round of interaction, the compression indication information received during the (m - 1)th round of interaction is used as the compression indication information during the mth round of interaction.
[0316] The above S430a to S450a have been described in the foregoing embodiments. For the sake of brevity, they will not be repeated here.
[0317] In some embodiments, the first communication device may send feedback information to the second communication device, and the feedback information includes the weighting parameter k m , the weighting parameter k m used to adjust the size of the transmission resources in the next round. Exemplarily, the first communication device determines the minimum weighting degree k m, if k m is not equal to the weighted degree k sent by the base station, then a feedback message of k m is sent to the base station. When k m is less than k, the second communication device reduces the size of the transmission resources (including the first transmission resource and / or the second transmission resource) configured for the next round. When k m is greater than or equal to k, the second communication device increases the size of the transmission resources (including the first transmission resource and / or the second transmission resource) configured for the next round.
[0318] Optionally, the feedback message can be carried in the BSR for transmission at the MAC layer.
[0319] FIG. 10b is a schematic interaction flowchart of a data compression transmission method provided by an embodiment of the present application. The method 400b may include the following parts or all of the processes:
[0320] S410b, the second communication device sends configuration information of the first transmission resource to the first communication device. Correspondingly, the first communication device receives the configuration information of the first transmission resource sent by the second communication device;
[0321] S420b, the first communication device sends compression indication information to the second communication device. Correspondingly, the second communication device receives the compression indication information sent by the first communication device;
[0322] S430b, the first communication device performs weighted encoding according to the first transmission resource to obtain second data;
[0323] S440b, the first communication device sends the second data to the second communication device on the first transmission resource. Correspondingly, the second communication device receives the second data sent by the first communication device on the first transmission resource;
[0324] S450b, the second communication device constructs the first data according to the second data.
[0325] The difference between the embodiment shown in FIG. 10b and the embodiment shown in FIG. 10a is that the first communication device sends compression indication information to the second communication device according to the data compression scheme adopted by itself, so that the second communication device constructs the first data according to the indication of the compression indication information.
[0326] Similar to the embodiment shown in FIG. 10a, the compression indication information may include compression hyperparameter information, and the compression hyperparameter information is at least used to indicate the target weighted parameter, and the compression indication information may be determined by the first communication device according to the first transmission resource.
[0327] In addition, the compression indication information may further include at least one of the following:
[0328] Configuration information indicating the clustering method of M first data matrices in the first data;
[0329] Configuration information indicating the compression method of one or more second data matrix sets among N second data matrix sets in the first data;
[0330] Information indicating whether to perform entropy coding on the second data.
[0331] For the information included in the compression indication information, reference can be made to the example in FIG. 10a described above, and details are not repeated here.
[0332] Optionally, the first communication device may send the compression indication information through the first transmission resource or indicate it using a separate signaling.
[0333] Optionally, the first communication device may send the compression indication information before sending the second data or send the compression indication information together with the second data. This application does not make any limitations in this regard.
[0334] In some embodiments, the first communication device may determine the compression method of one or more second data matrix sets among N second data matrix sets according to the data characteristics of the first data. The data characteristics of the first data may be, for example, the data characteristics of each of one or more second data matrix sets in the first data, and the first communication device determines the compression method of the corresponding second data set according to the data characteristics of each second data matrix set. For example, when the data characteristics of the second data matrix set indicate that the data volume of the second data matrix set in the first data accounts for a relatively large proportion, a weighted coding compression method is adopted; when the data characteristics of the second data matrix set indicate that the data volume of the second data matrix set in the first data accounts for a relatively small proportion, a quantization and / or entropy coding compression method is adopted.
[0335] As described above, the compression hyperparameter information may further include information indicating the dimension and / or the number of basis vectors of the dictionary matrix D. The first communication device may determine the dimension and / or the number of basis vectors of the dictionary matrix D according to its own storage space. For example, referring to Table 1, the general values of d and L are powers of 2. Then, according to the locally provided storage space, a suitable (d, L) pair is selected nearby. If there are multiple (d, L) pairs that meet the conditions, any one can be selected (or preferentially select the (d, L) pair with a smaller d for performance, and preferentially select the (d, L) pair with a larger d for compression benefit).
[0336] Table 1
[0337]
[0338] The larger the data volume of the first data, considering the limited transmission resources and the need for greater compression, after combining the storage resources, a larger d combination in Table 1 is preferentially selected.
[0339] Exemplarily, the first communication device determining the target weighting parameter based on the first transmission resource may include:
[0340] Based on the following formula, the first communication device may determine the compression ratio of the first data according to the first transmission resource and the data volume of the first data:
[0341]
[0342] where c is the number of column vectors in the first data Y, A represents the original transmission bits of each parameter in the first data. For example, A can be 16, w 1 represents the quantization bits of the dictionary, w 2 represents the quantization bits of the coefficients.
[0343] Since d*L*w 1 represents the dictionary overhead, which is negligible compared to the denominator, it can be omitted. The data volume after compression is: The data volume after compression is proportional to the target weighting parameter k max Therefore, the maximum weighting parameter (i.e., the target weighting parameter) that satisfies the first transmission resource can be calculated.
[0344] If the first data is aggregated into a second data matrix set under multiple clustering categories, for example, two second data matrix sets and each second data matrix set does not share a dictionary matrix, the data volume of the first second data matrix set and the data volume of the second second data matrix set The sum of the data volumes occupies a transmission resource less than or equal to the first transmission resource. The weighting parameter value k suitable for the second data matrix set with a larger number of column vectors can be preferentially selected 1 , and then the weighting parameter value of the next second data matrix set can be selected according to the remaining resources (such as k 2 ). Where c 1 is the number of column vectors in the first second data matrix set, k 1 ' is the weighting parameter of the first second data matrix set, L 1 is the number of basis vectors of the first dictionary sub-matrix; c 2 is the number of column vectors in the second second data matrix set, k 2 ' is the weighting parameter of the second second data matrix set, L 2 is the number of basis vectors of the second dictionary sub-matrix.
[0345] The process for the second communication device to determine the target weighting parameter is similar to that of the first communication device above and will not be elaborated here.
[0346] In some embodiments, the first communication device sends first compression parameter information to the second communication device, and the first compression parameter information includes at least one of the following:
[0347] 1. Information of normalization parameters: When normalizing various types of data respectively, such as normalizing the second data set, the mean and standard value of normalization, for example, can be configured in the form of [(mean 1 , std 1 ), (mean 2 , std 2 )…], where mean 1 is the mean of the first second data set, std 1 is the standard deviation of the first second data set, mean 2 is the mean of the second second data set, std 2 is the standard deviation of the second second data set, and so on, which will not be elaborated here;
[0348] 2. Boundary values of the dictionary matrix. For example, the dictionary sub-matrix corresponding to the second data set can be configured in the form of [(d_max 1 , d_min 1 ), (d_max 2 , d_min 2 )…], where d_max 1 is the maximum value of the elements in the first second data set, d_min 1 is the minimum value of the elements in the first second data set, d_max 2 is the maximum value of the elements in the second second data set, d_min 2 is the minimum value of the elements in the second second data set, and so on, which will not be elaborated here;
[0349] 3. Boundary values of the weighting coefficients of the basis vectors in the second data. For example, the boundary values of the weighting coefficients of all the basis vectors corresponding to the second data set can be configured in the form of [(c_max 1 , c_min 1 ), (c_max 2 , c_max 2 )…], where c_max 1 is the maximum value of the weighting coefficients of all the basis vectors corresponding to the first second data set, d_min 1 is the minimum value of the weighting coefficients of all the basis vectors corresponding to the first second data set, c_max 2 is the maximum value of the weighting coefficients of all the basis vectors corresponding to the second second data set, c_min 2 is the minimum value of the weighting coefficients of all the basis vectors corresponding to the second second data set, and so on, which will not be elaborated here.
[0350] In some embodiments, the first communication device may send category indication information to the second communication device, and the category indication information is used to indicate the clustering categories of the N second data matrix sets, for example, including the clustering category of the i-th second data matrix set.
[0351] FIG. 10c is a schematic interaction flow diagram of a data compression and transmission method provided by an embodiment of the present application. The method 400c may include the following partial or all processes:
[0352] S410c, the second communication device sends first compression indication information to the first communication device. Correspondingly, the first communication device receives the first compression indication information sent by the second communication device.
[0353] S420c, the second communication device sends configuration information of the first transmission resource to the first communication device. Correspondingly, the first communication device receives the configuration information of the first transmission resource sent by the second communication device;
[0354] S430c, the first communication device sends second compression indication information to the second communication device. Correspondingly, the second communication device receives the second compression indication information sent by the first communication device;
[0355] S440c, the first communication device performs weighted coding according to the first transmission resource to obtain second data;
[0356] S450c, the first communication device sends the second data to the second communication device on the first transmission resource. Correspondingly, the second communication device receives the second data sent by the first communication device on the first transmission resource;
[0357] S460c, the second communication device constructs first data according to the second data.
[0358] In the embodiment shown in FIG. 10c, the first compression indication information and the second compression indication information may be included in the compression indication information in the embodiment shown in FIG. 10a or FIG. 10b. For example, a part of the information in the compression indication information in the embodiment shown in FIG. 10a or FIG. 10b is configured by the second communication device to the first communication device, and another part of the information in the compression indication information is reported by the first communication device to the second communication device to complete the synchronization of the compression indication information between the first communication device and the second communication device.
[0359] Exemplarily, the first compression indication information can be used to indicate static parameters, such as configuring a static clustering method, or configuring a static layering method, etc. The second compression indication information can be used to indicate dynamic parameters, such as indicating a dynamic clustering method, or indicating a dynamic layering method, etc. Exemplarily, when the second compression indication information is used to indicate dynamic parameters, it may further include compression hyperparameter information.
[0360] Among them, S420c, S440c to S460c are all similar to the foregoing embodiments and will not be elaborated here.
[0361] Based on the above FIGS. 10a to 10c, when transmitting incremental data between the first communication device and the second communication device, it may further include some or all of the processes in method 400d shown in FIG. 10d. FIG. 10d is described by taking incremental transmission based on the above FIG. 10a as an example. FIG. 10d is a schematic interaction flow diagram of a data compression transmission method provided by an embodiment of the present application. The method 400d may include:
[0362] S410d, the second communication device sends compression indication information to the first communication device. Correspondingly, the first communication device receives the compression indication information sent by the second communication device;
[0363] S420d, the second communication device sends configuration information of the first transmission resource to the first communication device. Correspondingly, the first communication device receives the configuration information of the first transmission resource sent by the second communication device;
[0364] S430d, the first communication device performs weighted coding according to the first transmission resource to obtain second data;
[0365] S440d, the first communication device sends the second data to the second communication device on the first transmission resource. Correspondingly, the second communication device receives the second data sent by the first communication device on the first transmission resource;
[0366] S450d, the first communication device sends an incremental transmission signaling to the second communication device. Correspondingly, the second communication device receives the incremental transmission signaling sent by the first communication device;
[0367] S460d, the second communication device determines that incremental transmission is required and sends configuration information of the second transmission resource to the first communication device. Correspondingly, the first communication device receives the configuration information of the second transmission resource sent by the second communication device;
[0368] S470d, the first communication device sends incremental data of the second data to the second communication device on the second transmission resource. Correspondingly, the second communication device receives the incremental data of the second data sent by the first communication device on the second transmission resource;
[0369] In S480d, the second communication device constructs first data based on the second data and the incremental data of the second data.
[0370] The above S410d to S440d have been described in the related embodiments of FIG. 10a above, and the above S410d to S440d can also be replaced by S410b and S440b in the example shown in FIG. 10b, or S410c to S450c in the example shown in FIG. 10c. The difference is that the second communication device cannot construct the first data based on the second data, or in other words, there is a large error between the first data constructed by the second communication device based on the second data and the original first data. In the above S420d, the second communication device can determine the transmission resources required for all the data (including the second data and the incremental data of the second data) to be transmitted by the first communication device according to the first transmission request of the first communication device. When the resources are insufficient (or to avoid reducing the impact on communication services), the first transmission resources configured for the first communication device are only used to transmit the second data.
[0371] In some embodiments, the second communication device can send the configuration information of the second transmission resources together with the configuration information of the first transmission resources. In other words, the second communication device can send the configuration information of the transmission resources to the first communication device, and the transmission resources include the first transmission resources and the second transmission resources, and the second transmission resources are used to transmit the incremental data of the second data. In other embodiments, the second communication device can send the configuration information of the second transmission resources separately. This application does not make any limitations on this, nor does it limit the timing of sending the configuration information of the second transmission resources. For example, the second communication device can send the configuration information of the second transmission resources in response to the incremental transmission request sent by the first communication device, or the second communication device can send the configuration information of the second transmission resources when it determines that the construction performance of constructing the first data is poor, etc.
[0372] In the above S450d, the first communication device can send the incremental transmission signaling to the second communication device when it needs to send the incremental data of the second data to request incremental transmission.
[0373] In the above S450d, when the first communication device does not need to send the incremental data of the second data (such as when the compressed transmission of the first data has been completed), it can not send the incremental transmission signaling. The second communication device determines that the compressed transmission of the first data has been completed when it does not receive the incremental transmission signaling; or the first communication device can send the incremental transmission signaling to the second communication device to instruct the second communication device to end the compressed transmission of the first data.
[0374] Optionally, the incremental transmission signaling may include the data size of the incremental data (or the size of the transmission resources required for the incremental data). The data size of the incremental data (or the size of the transmission resources required for the incremental data) may be calculated based on a static or dynamic manner.
[0375] Optionally, the incremental transmission signaling may be carried and sent by the BSR.
[0376] After receiving the incremental transmission signaling, the second communication device may send the configuration information of the second transmission resources to the first communication device. Alternatively, after receiving the incremental transmission signaling, the second communication device may determine whether incremental transmission is required, and when incremental transmission is required, send the incremental data of the second data to the second communication device; when it is determined that incremental transmission is not required, send a termination transmission signaling to the first communication device, or perform no operation.
[0377] Exemplarily, the second communication device may analyze whether the constructed performance meets the service requirements based on the constructed first data. When the constructed performance meets the service requirements, incremental transmission is not required. When the constructed performance does not meet the service requirements, incremental transmission is required.
[0378] It should be understood that when the data volume of the incremental data of the second data is still large, the incremental data may be divided into multiple parts, such as the P incremental data in the foregoing embodiment. In some embodiments, the configuration information of the second transmission resources may be used to indicate the transmission resources of the P incremental data; in other embodiments, the configuration information of the second transmission resources may include P configuration sub-information, and each configuration sub-information is used to configure the transmission resources of one incremental data, and the P configuration sub-information may be sent independently. For example, before each time the first communication device sends an incremental data, the second communication device sends the corresponding configuration sub-information. For example, the first communication device may receive the first configuration sub-information sent by the second communication device and determine the resources for incremental transmission according to the first configuration sub-information. In the case where the incremental transmission resources configured by the first configuration sub-information are small, the first communication device transmits a part of the incremental data, such as the first incremental data among the P incremental data. Then, the second communication device determines the resources for re-incremental transmission according to the second configuration sub-information... and so on until all the incremental data is transmitted.
[0379] The configuration information of the second transmission resources is similar to the configuration information of the first transmission resources. For example, both can be used to determine the weighting parameter. That is, the first communication device may determine the weighting parameter of the incremental data of the second data according to the configuration information of the second transmission resources. For the sake of brevity, it will not be elaborated here.
[0380] Optionally, before S460d, the first communication device may send a second transmission request to the second communication device, where the second transmission request is used to request the transmission of incremental data of the second data. When the data volume of the incremental data of the second data is still large, the incremental data may be divided into multiple incremental data, such as the P incremental data in the foregoing embodiment. The first communication device may send a second transmission request for the one incremental data to the second communication device before sending each incremental data.
[0381] In some embodiments, the first communication device sends second compression parameter information to the second communication device, and the second compression parameter information includes at least one of the following:
[0382] The boundary value of the weighting coefficient of the basis vector in the incremental data of the second data.
[0383] It should be noted that the second compression parameter information and the foregoing first compression parameter information may be independent information, or the second compression parameter information and the foregoing first compression parameter information may be transmitted together as a component of the compression parameter information. This application does not make any limitation in this regard.
[0384] It should be understood that the configuration information of the first transmission resource and the configuration information of the second transmission resource described in FIGS. 10a to 10d may be independent information, or the configuration information of the first transmission resource and the configuration information of the second transmission resource may be transmitted together as a component of the configuration information of the transmission resource. This application does not make any limitation in this regard.
[0385] Therefore, in the embodiment of the present application, weighted coding is performed on the first data to be transmitted, so as to express the first data to be transmitted through k basis vectors, realizing the compression of the physical layer data on the premise of ensuring low data loss. Further, the weighting parameter k used for weighted coding of the first data is determined based on the first transmission resource, realizing the balance between the transmission resource and the compression performance, avoiding excessive compression and loss of more transmission data when the transmission resource is sufficient, or being unable to transmit due to a large amount of compressed data when the transmission resource is insufficient, and realizing effective and reliable data compression of the data to be transmitted.
[0386] To implement the various functions in the method provided in the embodiment of the present application, both the first communication device and the second communication device may include a hardware structure and / or a software module, and implement the above various functions in the form of a hardware structure, a software module, or a combination of a hardware structure and a software module. Whether a certain function among the above various functions is executed in the form of a hardware structure, a software module, or a combination of a hardware structure and a software module depends on the specific application and design constraint conditions of the technical solution.
[0387] As shown in FIG. 11, an embodiment of the present application provides a communication device 500. The communication device 500 may be a terminal or a network device, or a device in a terminal device or a network device, or a device that can be used in combination with a terminal device and a network device. In a possible implementation, the communication device 500 may include modules or units corresponding one by one to the methods / operations / steps / actions performed by the first communication device or the second communication device in the above method embodiments. The unit may be a hardware circuit, software, or a combination of a hardware circuit and software. In a possible implementation, the communication device 500 may include a transceiver module 510 and a processing module 520. The processing module 520 may be used to call the transceiver module 510 to perform receiving and / or sending functions.
[0388] Optionally, the communication device 500 may correspond to the first communication device in the above method embodiment.
[0389] It should be understood that the communication device 500 may include modules that perform the methods on the first communication device side in the methods of the embodiments of the present application. Moreover, the modules in the communication device 500 and the above other operations and / or functions respectively implement the corresponding processes of the respective methods.
[0390] Among them, when the communication device 500 is used to execute the method on the first communication device side, the processing module 520 may be used to perform weighted encoding on the first data based on a dictionary matrix to obtain second data. The second data represents the first data based on k basis vectors in the dictionary matrix. k is a weighting parameter of the first data determined based on the first transmission resource, and k is an integer greater than or equal to 1; the transceiver module 510 may be used to send the second data to the second communication device on the first transmission resource.
[0391] It should be understood that the specific processes executed by the modules have been described in detail in the above method embodiments. For the sake of brevity, they will not be elaborated here.
[0392] Optionally, the communication device 500 may correspond to the second communication device in the above method embodiment.
[0393] It should be understood that the communication device 500 may include modules that perform the methods on the second communication device side in the methods of the embodiments of the present application. Moreover, the modules in the communication device 500 and the above other operations and / or functions respectively implement the corresponding processes of the respective methods.
[0394] Among them, when the communication device 500 is used to execute the method on the second communication device side, the transceiver module 510 can be used to receive second data from the first communication device on the first transmission resource, where the second data represents the first data based on k basis vectors in the dictionary matrix, and k is the weighting parameter of the first data determined based on the first transmission resource, and k is an integer greater than or equal to 1; the processing module 520 can be used to construct the first data according to the second data and the dictionary matrix.
[0395] It should be understood that the specific processes executed by each module have been described in detail in the above method embodiments. For the sake of brevity, they will not be repeated here.
[0396] The transceiver module 510 in the communication device 500 can be implemented by a transceiver. For example, it can correspond to the transceiver 620 in the communication device 600 shown in FIG. 12. The processing module 520 in the communication device 500 can be implemented by at least one processor. For example, it can correspond to the processor 610 in the communication device 600 shown in FIG. 12.
[0397] When the communication device 500 is a chip or a chip system configured in a communication device (such as a terminal device or a network device), the transceiver unit 510 in the communication device 500 can be implemented through an input / output interface, a circuit, etc., and the processing unit 520 in the communication device 500 can be implemented through a processor, a microprocessor, an integrated circuit, etc. integrated on the chip or chip system.
[0398] FIG. 12 is another schematic block diagram of a communication device provided by an embodiment of the present application. As shown in FIG. 12, the communication device 600 may include: a processor 610. The processor 610 can be used to execute the methods executed by the first communication device or the second communication device in the above method embodiments.
[0399] In some possible implementation manners, the communication device 600 may include a transceiver 620. The transceiver 620 can communicate with the processor 610 through an internal connection path. The processor 610 can control the transceiver 620 to send signals and / or receive signals.
[0400] In some possible implementation manners, the communication device 600 may include a memory 630. The memory 630 can communicate with the processor 610 through an internal connection path. The memory 630 and the processor 610 can be integrated together or separately provided. The memory 630 can also be a memory outside the device. The memory 630 is used to store instructions, and the processor 610 is used to execute the instructions stored in the memory 630 to execute the methods in the above method embodiments.
[0401] It should be understood that the communication device 600 may correspond to the first communication device or the second communication device in the foregoing method embodiments, and may be used to execute each step and / or process performed by the first communication device or the second communication device in the foregoing method embodiments. Optionally, the memory 630 may include a read-only memory and a random access memory, and provide instructions and data to the processor. A part of the memory may further include a non-volatile random access memory. The memory 630 may be a separate device or integrated in the processor 610. The processor 610 may be used to execute the instructions stored in the memory 630, and when the processor 610 executes the instructions stored in the memory, the processor 610 is used to execute each step and / or process of the foregoing method embodiment corresponding to the first communication device or the second communication device.
[0402] Optionally, the communication device 600 is the first communication device in the foregoing embodiment.
[0403] Optionally, the communication device 600 is the second communication device in the foregoing embodiment.
[0404] Wherein, the transceiver 620 may include a transmitter and a receiver. The transceiver 620 may further include antennas, and the number of antennas may be one or more. The processor 610 and the memory 630 and the transceiver 620 may be devices integrated on different chips. For example, the processor 610 and the memory 630 may be integrated in a baseband chip, and the transceiver 620 may be integrated in a radio frequency chip. The processor 610 and the memory 630 and the transceiver 620 may also be devices integrated on the same chip. This application does not make any limitation in this regard.
[0405] Wherein, the transceiver 620 may also be a communication interface, such as an input / output interface, a circuit, etc. The transceiver 620, the processor 610, and the memory 630 may all be integrated in the same chip, such as integrated in a baseband chip.
[0406] This application further provides a processing device, including at least one processor, and the at least one processor is used to run a computer program or a logic circuit so that the processing device executes the method performed by the first communication device or the second communication device in the foregoing method embodiments. The foregoing processing device may further include a memory, and the memory is used to store the foregoing computer program.
[0407] An embodiment of this application further provides a processing device, including a processor and an input / output interface. The input / output interface is coupled to the processor. The input / output interface is used to input and / or output information. The information includes at least one of instructions and data. The processor is used to execute a computer program so that the processing device executes the method performed by the first communication device or the second communication device in the foregoing method embodiments.
[0408] An embodiment of the present application further provides a processing device, including a processor and a memory. The memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the processing device executes the methods performed by the first communication device or the second communication device in the above method embodiments.
[0409] It should be understood that the above processing device may be one or more chips. For example, the processing device may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), a micro controller unit (MCU), a programmable logic device (PLD), or other integrated chips.
[0410] In the implementation process, each step of the above method can be completed by the integrated logic circuit in the hardware of the processor or the instructions in the form of software. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as being executed and completed by the hardware processor, or executed and completed by a combination of the hardware and software modules in the processor. The software module may be located in a mature storage medium in the art such as a random access memory, a flash memory, a read only memory, a programmable read only memory, or an electrically erasable programmable memory, a register, etc. This storage medium is located in the memory, and the processor reads the information in the memory and combines its hardware to complete the steps of the above method. To avoid repetition, it will not be described in detail here.
[0411] It should be noted that the processor in the embodiments of the present application can be an integrated circuit chip with signal processing capabilities. In the implementation process, the steps of the above method embodiments can be completed by the integrated logic circuit in the hardware of the processor or instructions in the form of software. The above processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. It can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. This storage medium is located in the memory, and the processor reads the information in the memory and combines its hardware to complete the steps of the above method.
[0412] It can be understood that the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can 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 can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchlink dynamic random access memory (SLDRAM), and direct rambus random access memory (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include but not be limited to these and any other suitable types of memory.
[0413] According to the method provided by the embodiments of the present application, the present application further provides a computer program product, which includes: a computer program or a set of instructions. When the computer program or the set of instructions runs on a computer, the computer is caused to execute the method performed by the first communication device or the second communication device in the foregoing method embodiments.
[0414] According to the method provided by the embodiments of the present application, the present application further provides a computer-readable storage medium, which stores a program. When the program runs on a computer, the computer is caused to execute the method performed by the first communication device or the second communication device in the foregoing method embodiments.
[0415] According to the method provided by the embodiments of the present application, the present application further provides a communication system, which may include the foregoing first communication device or second communication device.
[0416] The terms "component", "module", "unit", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. By way of illustration, an application running on a computing device and the computing device can both be components. One or more components may reside in a process and / or an execution thread, and a component may be located on one computer and / or distributed between two or more computers. In addition, these components may execute from various computer-readable media storing various data structures. A component may communicate, for example, through local and / or remote processes according to a signal having one or more data packets (such as data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems through a signal).
[0417] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. A professional technician can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0418] Those skilled in the art can clearly understand that, for the convenience and conciseness of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be described herein again.
[0419] In several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.
[0420] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0421] In addition, in each embodiment of this application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.
[0422] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the part that essentially contributes to the technical solution of this application or part of this technical solution can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in each embodiment of this application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical discs that can store program codes.
[0423] As described above, this is only the specific implementation manner of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art within the technical scope disclosed in this application can easily think of changes or substitutions, which should all be covered by the protection scope of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.
Claims
A data compression and transmission method Characterized in that Including The first communication device performs weighted encoding on the first data based on a dictionary matrix to obtain second data, where the second data expresses the first data based on k basis vectors in the dictionary matrix, and k is a weighted parameter of the first data determined based on the first transmission resource, and k is an integer greater than or equal to 1; the first communication device sends the second data to the second communication device on the first transmission resource. According to the method described in claim 1 Characterized in that The first data includes M first data sets, the M first data sets are clustered into N second data sets, the second data set includes at least one first data set, and both M and N are integers greater than or equal to 1. According to the method described in claim 2 Characterized in that The weighting parameter k of the first data includes a first weighting parameter k corresponding to the i-th second data set among the N second data sets i '; the second data includes the first sub-data set of the i-th obtained by weighted encoding of the i-th second data set based on the first weighting parameter k i '; the i-th first sub-data set represents the i-th second data set based on k i ' basis vectors in the dictionary matrix According to the method described in claim 3 Characterized in that The dictionary matrix includes N dictionary sub-matrices corresponding to the N second data sets respectively, and the N dictionary sub-matrices include at least two different dictionary sub-matrices. According to the method described in claim 3 Characterized in that The first weighting parameter k corresponding to the i-th second data set i ', including the second weighting parameter k corresponding to each first data set in the i-th second data set i ”; the i-th first sub-data set includes, based on the second weighting parameter k ij ”, the j-th sub-data obtained by weighted encoding of the j-th first data set in the i-th second data set. The j-th sub-data expresses the j-th first data set in the i-th second data set based on k ij ” basis vectors in the i-th dictionary sub-matrix corresponding to the i-th second data set; Among them, the second weighting parameter k ij is determined based on the data characteristics of the j-th first data set in the i-th second data set. According to the method described in any one of claims 3 to 5 Characterized in that The K basis vectors of the third data include the K i ' basis vectors corresponding to the i-th second data set. The third data is obtained by weighted encoding of each second data set in the first data. The K basis vectors include the k basis vectors. The k i ' basis vectors of the i-th second data set are the first k i ' basis vectors in descending order of the expression ability of the K i ' basis vectors for the first data. According to the method described in claim 1 Characterized in that The method further includes: the first communication device performs weighted encoding on the first data to obtain the dictionary matrix and third data, and the third data expresses the first data based on K basis vectors in the dictionary matrix, and the K basis vectors include the k basis vectors, and K is an integer greater than or equal to k. According to the method described in claim 7 Characterized in that The k basis vectors are the first k basis vectors among the K basis vectors of the dictionary matrix with the largest to smallest expression ability for the first data. According to the method described in claim 7 or 8 Characterized in that The method further includes: the first communication device sending P incremental data of the second data to the second communication device, where P is an integer greater than or equal to 1; wherein, the q-th incremental data among the P incremental data is sub-data of the third data, and the q-th incremental data includes position indication information and weighting coefficients of h q basis vectors in the third data; or, the q-th incremental data among the P incremental data is sub-data of the fourth data; the q-th incremental data includes: weighting coefficients of k basis vectors in the fourth data and / or at least one incremental data among the first q-1 incremental data among the P incremental data, and, the h q position indication information and weighting coefficients of basis vectors in the fourth data; the fourth data is determined based on the dictionary matrix, the first data, and the fourth data corresponding to the q-1-th incremental data, and when q is equal to 1, the fourth data corresponding to the q-1-th incremental data is the second data; where h q is an integer less than K and greater than or equal to 1, and the number of basis vectors in the P incremental data The sum of and k is less than or equal to K. According to the method described in claim 9 Characterized in that The said h q basis vectors are among the said K basis vectors excluding the said k basis vectors and the first q - 1 incremental data In addition to the base vectors, the top h base vectors with decreasing expression ability for the first data q base vectors, where h r is the number of base vectors of an incremental data among the first q - 1 incremental data. According to the method described in any one of claims 1 to 10 Characterized in that The second data includes position indication information and / or weighting coefficients of the k basis vectors. According to the method described in any one of claims 1 to 11 Characterized in that The method further includes: the first communication device performs quantization and / or entropy encoding on the second data to obtain compressed data of the second data; the first communication device sending the second data to the second communication device on the first transmission resource includes: the first communication device sending the compressed data of the second data to the second communication device on the first transmission resource. According to the method described in any one of claims 1 to 12 Characterized in that The method further includes: the first communication device sends the dictionary matrix to the second communication device. According to the method described in any one of claims 2 to 6 Characterized in that The data characteristics of the first data set or the second data set include at least one of data volume, data boundary value, and mean variance. According to the method described in any one of claims 2 to 6 Characterized in that The method further includes: the first communication device clustering the M first data sets according to one of the following to obtain the N second data sets: the data types of the M first data sets; the boundary values of the elements in the M first data sets. The method according to any one of claims 2 to 6, wherein, the method further includes: the first communication device sending class indication information to the second communication device, and the class indication information is used to indicate the clustering classes of the respective first data sets in the M first data sets. The method according to any one of claims 1 to 16, wherein, the first communication device receives indication information of a second transmission resource sent by the second communication device, and the second transmission resource is used to transmit incremental data of the second data. The method according to claim 17, wherein, the method further includes: the first communication device sending a transmission request to the second communication device, and the transmission request is used to request to send incremental data of the second data. The method according to any one of claims 1 to 18, wherein, the method further includes: the first communication device receives compression indication information sent by the second communication device, the compression indication information includes compression hyperparameter information, the compression hyperparameter information is at least used to indicate a target weighting parameter, the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k. The method according to any one of claims 1 to 19, wherein, the method further includes: the first communication device sending compression indication information to the second communication device, the compression indication information includes compression hyperparameter information, the compression hyperparameter information is at least used to indicate a target weighting parameter, the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k. The method according to claim 19 or 20, wherein, the compression hyperparameter information includes at least one of the following: configuration information of the first transmission resource, the first transmission resource is used to indicate the target weighting parameter; information indicating the dimension and / or the number of basis vectors of the dictionary matrix. The method according to any one of claims 19 to 21, wherein, the compression indication information further includes at least one of the following: information indicating the clustering method of the M first data sets in the first data; information indicating the compression method of one or more second data sets in the N second data sets in the first data; information indicating whether to perform entropy coding on the second data. The method according to claim 22, wherein, the first communication device determines the compression method of one or more second data sets in the N second data sets according to the data characteristics of the first data. The method according to any one of claims 1 to 23, wherein, the method further includes: the first communication device sending compression parameter information to the second communication device, and the compression parameter information includes at least one of the following: the boundary value of the dictionary matrix; the boundary value of the weighting coefficient of the basis vector in the second data. The method according to any one of claims 1 to 24, characterized in that, The method further includes: the first communication device sending feedback information to the second communication device, where the feedback information includes a weighting parameter k m , and the weighting parameter k m is used to adjust the size of the transmission resources for the next round. a data compression and transmission method, characterized in that, comprising: The second communication device receives second data from the first communication device in a first transmission resource, where the second data represents the first data based on k basis vectors in a dictionary matrix, k is a weighting parameter of the first data determined based on the first transmission resource, and k is an integer greater than or equal to 1; the second communication device constructs the first data according to the second data and the dictionary matrix. The method according to claim 26, characterized in that, the first data includes M first data sets, the M first data sets are clustered into N second data sets, the second data set includes at least one first data set, and both M and N are integers greater than or equal to 1. The method according to claim 27, characterized in that, The weighted parameter k of the first data includes the first weighted parameter k' corresponding to each second data set in the N second data sets; the second data includes the first weighted parameter k i ' The i-th first sub-data set obtained by weighted encoding the i-th second data set, and the i-th first sub-data set is based on k in the dictionary matrix i ' basis vectors to represent the i-th second data set. The method according to claim 28, characterized in that, the dictionary matrix includes N dictionary sub-matrices corresponding to the N second data sets respectively, and the N dictionary sub-matrices include at least two different dictionary sub-matrices. The method according to claim 28 or 29, characterized in that, The first weighting parameter k corresponding to the i-th second data set i ', including the second weighting parameter k corresponding to each first data set in the i-th second data set i ”; the i-th first sub-data set includes, based on the second weighting parameter k ij ” the j-th sub-data obtained by weighted encoding of the j-th first data set in the i-th second data set, and the j-th sub-data in the i-th first sub-data set is based on the k in the i-th dictionary sub-matrix corresponding to the i-th second data set ij ” basis vectors to represent the j-th first data set in the i-th second data set; Among them, the second weighting parameter k ij ", is determined based on the data characteristics of the j-th first data set in the i-th second data set. The method according to any one of claims 28 to 30, characterized in that, The K basis vectors of the third data include the K i ' basis vectors corresponding to the i-th second data set. The third data is obtained by weighted encoding of each second data set in the first data. The K basis vectors include the k basis vectors, and the k i ' basis vectors of the i-th second data set are the first k i ' basis vectors among the K i ' basis vectors arranged in descending order of the expression ability for the first data. The method according to claim 26, characterized in that, The third data represents the first data based on K basis vectors in the dictionary matrix, and the third data is obtained by weighted encoding of the first data. The method according to claim 32, characterized in that, the k basis vectors are the first k basis vectors among the K basis vectors of the dictionary matrix, and their expression ability for the first data decreases in order. The method according to claim 32 or 33, characterized in that, The method further includes: the second communication device receives P incremental data of the second data sent by the first communication device, where P is an integer greater than or equal to 1; wherein, the q-th incremental data among the P incremental data is sub-data of the third data, and the q-th incremental data includes position indication information and weighting coefficients of h q basis vectors in the third data; alternatively, the q-th incremental data among the P incremental data is sub-data of the fourth data; the q-th incremental data includes: weighting coefficients of k basis vectors in the fourth data and / or at least one incremental data among the first q-1 incremental data among the P incremental data, and, the h q position indication information and weighting coefficients of basis vectors in the fourth data; the fourth data is determined based on the dictionary matrix, the first data, and the fourth data corresponding to the q-1-th incremental data, and when q is equal to 1, the fourth data corresponding to the q-1-th incremental data is the second data; where h q is an integer less than K and greater than or equal to 1, and the number of basis vectors in the P incremental data The sum of and k is less than or equal to K. The method according to claim 34, characterized in that, The said h q basis vectors are among the said K basis vectors excluding the said k basis vectors and the first q - 1 incremental data In addition to a base vector, the top h base vectors with decreasing expression ability for the first data q base vectors, h r is the number of base vectors of an incremental data among the first q - 1 incremental data. The method according to any one of claims 26 to 35, characterized in that, the second data includes position indication information and / or weighting coefficients of the k basis vectors. The method according to any one of claims 26 to 36, characterized in that, The second communication device receives second data from the first communication device in a first transmission resource, including: the second communication device receives compressed data of the second data sent by the first communication device in the first transmission resource, and the compressed data of the second data is obtained by quantization and / or entropy encoding of the second data; the second communication device decompresses the compressed data of the second data to obtain the second data. The method according to any one of claims 26 to 37, characterized in that, the method further includes: the second communication device receives the dictionary matrix sent by the first communication device. The method according to any one of claims 27 to 31, characterized in that, the data characteristics of the first data set or the second data set include at least one of data volume, data boundary value, and mean variance. The method according to any one of claims 27 to 31, characterized in that, The method further includes: the second communication device receives class indication information sent by the first communication device, where the class indication information is used to indicate the clustering class of each of the M first data sets. The method according to claim 34 or 35, wherein, the second communication device receives indication information of a second transmission resource sent by the first communication device, where the second transmission resource is used to transmit incremental data of the second data. The method according to claim 41, wherein, the method further includes: the second communication device receives a transmission request sent by the first communication device, where the transmission request is used to request to send incremental data of the second data. The method according to any one of claims 26 to 42, wherein, the method further includes: the second communication device sends compression indication information to the first communication device, where the compression indication information includes compression hyperparameter information, and the compression hyperparameter information is at least used to indicate a target weighting parameter, and the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k. The method according to any one of claims 26 to 43, wherein, the method further includes: the second communication device receives compression indication information sent by the first communication device, where the compression indication information includes compression hyperparameter information, and the compression hyperparameter information is at least used to indicate a target weighting parameter, and the target weighting parameter is used to determine k, and the target weighting parameter is greater than or equal to k. The method according to claim 43 or 44, wherein, the compression hyperparameter information includes at least one of the following: configuration information of the first transmission resource, where the first transmission resource is used to indicate the target weighting parameter; information indicating the dimension and / or the number of basis vectors of the dictionary matrix. The method according to any one of claims 43 to 45, wherein, the compression indication information further includes at least one of the following: information indicating the clustering method of the M first data sets in the first data; information indicating the compression method of one or more second data sets in the N second data sets in the first data; information indicating whether entropy coding is performed on the second data. The method according to any one of claims 26 to 46, wherein, the method further includes: the second communication device receives compression parameter information sent by the first communication device, where the compression parameter information includes at least one of the following: a boundary value of the dictionary matrix; a boundary value of the weighting coefficient of the basis vector in the second data. The method according to any one of claims 26 to 47, wherein, The method further includes: the second communication device receives feedback information sent by the first communication device, and the feedback information includes a weighting parameter k m , the weighting parameter k m for adjusting the size of the transmission resources in the next round. A communication device, wherein, includes a module for executing the method according to any one of claims 1 to 25, or includes a module for executing the method according to any one of claims 26 to 48. A communication device, wherein, includes: a processor, and the processor is used to execute the method according to any one of claims 1 to 48 by running a computer program or through a logic circuit. The device according to claim 50, It is characterized in that it further includes a memory for storing the computer program. The apparatus according to claim 50 or 51, it is characterized in that it further includes a communication interface for inputting and outputting signals. A communication system, it is characterized in that it includes: a first communication device for executing the method according to any one of claims 1 to 25, and a second communication device for executing the method according to any one of claims 26 to 48. A computer-readable storage medium, it is characterized in that it is used for storing computer program instructions, and the computer program causes the computer to execute the method according to any one of claims 1 to 48. A computer program product, it is characterized in that it includes computer program instructions that cause the computer to execute the method according to any one of claims 1 to 48.