A data decoding method, system and related devices

By segmenting the CSI matrix along different dimensions and performing attention calculations in a MIMO system, the problem of poor CSI matrix compression effect is solved by utilizing the striping characteristics of CSI and the physical properties of wireless signals, thereby improving signal transmission quality and rate.

CN116527217BActive Publication Date: 2026-07-10HUAWEI TECH CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2022-12-09
Publication Date
2026-07-10

AI Technical Summary

Technical Problem

In existing technologies, the compression effect of the CSI matrix in MIMO systems is poor, which limits the improvement of signal transmission quality and rate. Existing methods fail to effectively utilize the striping characteristics of CSI.

Method used

An attention-based approach is adopted to segment the CSI matrix along different dimensions and perform feature extraction and fusion. The striping characteristics of CSI are used for decoding, and the decoding effect is improved by combining the physical properties of wireless signals.

Benefits of technology

By capturing the striping characteristics and physical properties of CSI, the compression and reconstruction effects of the CSI matrix are improved, thereby enhancing signal transmission quality and speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116527217B_ABST
    Figure CN116527217B_ABST
Patent Text Reader

Abstract

A data coding method applied to coding and decoding of channel state information (CSI) includes: obtaining a code stream; the code stream is obtained by coding the CSI; processing the code stream to obtain a first feature representation and a second feature representation; the first feature representation is divided into a plurality of first sub-features along a first dimension; the second feature representation is divided into a plurality of second sub-features along a second dimension; the first dimension and the second dimension are different; the plurality of first sub-features and the plurality of second sub-features are respectively subjected to attention-based operation to obtain a plurality of third sub-features and a plurality of fourth sub-features; the plurality of third sub-features and the plurality of fourth sub-features are fused to obtain a fusion result; and the fusion result is used to reconstruct the CSI. The present application cuts a part of the feature representation corresponding to the CSI according to the first dimension (for example, the delay dimension) and cuts another part according to the second dimension (for example, the angle dimension), and respectively performs attention calculation to capture the correlation in the CSI strip, thereby improving the CSI matrix restoration effect.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence, and in particular to a data decoding method, system and related equipment. Background Technology

[0002] Artificial intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a branch of computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.

[0003] Currently, Multiple Input Multiple Output (MIMO) technology is widely used in communication systems, such as Long Term Evolution (LTE) systems. MIMO technology refers to using multiple transmit antennas and multiple receive antennas at the transmitting and receiving ends, allowing signals to be transmitted and received through multiple antennas at both ends. MIMO technology can improve communication quality and system channel capacity.

[0004] In MIMO systems, precoding techniques can be used to improve signal transmission quality and rate. Network devices can estimate the precoding matrix of the downlink channel based on the channel state information (CSI) fed back by the terminal devices, and then use the precoding matrix to transmit downlink data to the terminal devices.

[0005] To address the issue of excessive feedback overhead, the original CSI matrix needs to be compressed and quantized at the UE end through a series of operations to obtain a bit stream (or code stream) of controllable length. Once the base station receives the bit stream, it then reconstructs the CSI matrix.

[0006] In existing technologies, on the encoding side, the original CSI matrix is ​​transformed into a sparse matrix using a Discrete Fourier Transform (DFT). Then, the non-zero matrices are extracted and used as input to a neural network. The neural network employs fully connected layers to extract and compress features. On the decoding side, general fully connected layers and convolutional neural networks (CNNs) are used to recover the CSI. Because existing technologies simply treat the CSI as an image and directly utilize image-based neural networks, the compression effect is relatively poor. Summary of the Invention

[0007] This application provides a data decoding method, a data encoding method, and related apparatus, which improve the compression and restoration effect of CSI matrices.

[0008] In a first aspect, this application provides a data decoding method, the method comprising: acquiring a bitstream; the bitstream being obtained by encoding a CSI; processing the bitstream to obtain a first feature representation and a second feature representation; the first feature representation being divided into multiple first sub-features along a first dimension; the second feature representation being divided into multiple second sub-features along a second dimension; the first dimension and the second dimension being different; performing attention-based operations on the multiple first sub-features to obtain multiple third sub-features; performing attention-based operations on the multiple second sub-features to obtain multiple fourth sub-features; fusing the multiple third sub-features and the multiple fourth sub-features to obtain a fusion result; and using the fusion result to reconstruct the CSI.

[0009] In this embodiment, in order to capture the strip characteristics related to CSI, a part of the feature representation corresponding to CSI is divided according to a first dimension (e.g., the time delay dimension), and another part is divided according to a second dimension (e.g., the angle dimension), and attention calculation is performed separately to capture the correlation in the CSI strip. At the same time, the characteristics of the physical properties of the wireless signal, such as the incident angle and time delay, are mixed. In the CSI decoding process, prior information such as the stripeness of CSI data is used, which improves the CSI matrix reconstruction effect.

[0010] In one possible implementation, the first dimension is the time delay dimension; the second dimension is the angle dimension.

[0011] It should be understood that the first dimension and the second dimension can be other dimensions besides the time delay dimension and the angle dimension. Specifically, they can be related to the generation method of the feature representation, as long as the first dimension and the second dimension are different. This application does not limit the dimension type of the first dimension and the second dimension.

[0012] In one possible implementation, the bitstream is processed to obtain a first feature representation and a second feature representation, including: processing the bitstream to obtain a target feature representation; wherein the first feature representation and the second feature representation are obtained by segmenting the target feature representation along the channel dimension.

[0013] The channel dimension can also be referred to as the depth direction of a tensor. For example, the target feature representation may include k feature maps. The first feature representation may be a partial feature map of the k feature maps (e.g., k / 2 feature maps), and the second feature map may be a partial feature map of the other part of the k feature maps (e.g., k / 2 feature maps).

[0014] In one possible implementation, the fusion of the plurality of third sub-features and the plurality of fourth sub-features includes: performing an attention-based interaction between the first similarity between different third sub-features and each fourth sub-feature to obtain a third feature representation; performing an attention-based interaction between the second similarity between different fourth sub-features and each third sub-feature to obtain a fourth feature representation; and fusing the third feature representation and the fourth feature representation.

[0015] The interaction between the first similarity between different third sub-features among the multiple third sub-features and each fourth sub-feature based on attention can be expressed as: HV Atten = CrxAtten, where the strip attention calculation is performed to fuse the time delay domain into the angle domain. The attention matrix calculates the similarity between each strip in the time delay domain and other strips, and then multiplies it by the features in the angle domain to fuse the correlation of each strip in the angle domain.

[0016] The interaction between the second similarity between different fourth sub-features and each third sub-feature based on attention can be expressed as: VH Atten = CrxAtten. Here, the strip attention calculation is performed to fuse the angle domain into the time delay domain. The attention matrix calculates the similarity between each strip in the angle domain and other strips, and then multiplies it by the features in the time delay domain to fuse the correlation of each strip in the time delay domain.

[0017] In one possible implementation, the first similarity between different third sub-features among the plurality of third sub-features is interacted with each of the fourth sub-features based on attention to obtain a third feature representation, including: performing a linear transformation on the plurality of third sub-features to obtain a first Q matrix and a first K matrix corresponding to the plurality of third sub-features; performing a linear transformation on the plurality of fourth sub-features to obtain a first V matrix corresponding to the plurality of fourth sub-features; and obtaining a third feature representation based on the first Q matrix, the first K matrix, and the first V matrix through attention-based interaction.

[0018] In one possible implementation, the second similarity between different fourth sub-features among the plurality of fourth sub-features is interacted with each of the third sub-features based on attention to obtain a fourth feature representation, including: performing a linear transformation on the plurality of fourth sub-features to obtain a second Q matrix and a second K matrix corresponding to the plurality of fourth sub-features; performing a linear transformation on the plurality of third sub-features to obtain a second V matrix corresponding to the plurality of third sub-features; and obtaining a fourth feature representation based on the second Q matrix, the second K matrix, and the second V matrix through attention-based interaction.

[0019] In one possible implementation, the fusion result is specifically used to reconstruct the CSI via an inverse Fourier transform.

[0020] Secondly, this application provides a data encoding method, which includes: obtaining a sparse matrix corresponding to CSI; processing the sparse matrix through a feature extraction network to obtain a feature representation; the feature extraction network includes convolutional layers of sizes NxN, Nx1, and 1xN, where N is a positive integer greater than 1; and encoding the feature representation to obtain a bitstream. By replacing the existing NxN convolutional kernel with at least three convolutional layers of sizes NxN, Nx1, and 1xN, the extraction of sparse CSI strip features can be enhanced.

[0021] In one possible implementation, obtaining the sparse matrix corresponding to the CSI includes:

[0022] The sparse matrix corresponding to the CSI is obtained by performing a Fourier transform on the CSI.

[0023] Thirdly, this application provides a system comprising: an encoder and a decoder; the encoder is used for

[0024] The CSI is encoded to obtain the bitstream;

[0025] The bitstream is passed to the decoder, which performs the method as described in the first aspect. By replacing the existing NxN convolutional kernel with at least three convolutional layers such as NxN, Nx1, and 1xN, the extraction of CSI sparse strip features can be enhanced.

[0026] In one possible implementation, the encoder is specifically used to perform any of the methods described in the second aspect.

[0027] In one possible implementation, the encoder is specifically used to obtain the sparse matrix corresponding to the CSI by performing a Fourier transform on the CSI.

[0028] In one possible implementation, the encoder is located at the terminal and the decoder is located at the base station.

[0029] Fourthly, this application provides a data decoding apparatus, which includes:

[0030] The acquisition module is used to acquire the bitstream; this bitstream is obtained by encoding CSI.

[0031] The decoding module is used to process the bitstream to obtain a first feature representation and a second feature representation; the first feature representation is divided into multiple first sub-features along a first dimension; the second feature representation is divided into multiple second sub-features along a second dimension; the first dimension and the second dimension are different.

[0032] By performing attention-based operations on these multiple first sub-features, multiple third sub-features are obtained;

[0033] By performing attention-based operations on these multiple second sub-features, multiple fourth sub-features are obtained;

[0034] The multiple third sub-features and the multiple fourth sub-features are fused to obtain the fusion result; the fusion result is used to reconstruct the CSI.

[0035] In one possible implementation, the first dimension is the time delay dimension; the second dimension is the angle dimension.

[0036] In one possible implementation, this encoding module is specifically used for:

[0037] The bitstream is processed to obtain the target feature representation; wherein the first feature representation and the second feature representation are obtained by segmenting the target feature representation along the channel dimension.

[0038] In one possible implementation, this encoding module is specifically used for:

[0039] The first similarity between different third sub-features among the multiple third sub-features is interacted with each of the fourth sub-features based on attention to obtain the third feature representation;

[0040] The second similarity between different fourth sub-features among the multiple fourth sub-features is interacted with each of the third sub-features based on attention to obtain the fourth feature representation;

[0041] The third feature representation and the fourth feature representation are fused.

[0042] In one possible implementation, this encoding module is specifically used for:

[0043] A linear transformation is performed on the multiple third sub-features to obtain the first Q matrix and the first K matrix corresponding to the multiple third sub-features;

[0044] A linear transformation is performed on the multiple fourth sub-features to obtain the first V matrix corresponding to the multiple fourth sub-features;

[0045] Based on the first Q matrix, the first K matrix, and the first V matrix, a third feature representation is obtained through attention-based interaction.

[0046] In one possible implementation, this encoding module is specifically used for:

[0047] By performing a linear transformation on these multiple fourth sub-features, the second Q matrix and the second K matrix corresponding to these multiple fourth sub-features are obtained;

[0048] A linear transformation is performed on these multiple third sub-features to obtain the second V matrix corresponding to these multiple third sub-features;

[0049] Based on the second Q matrix, the second K matrix, and the second V matrix, a fourth feature representation is obtained through attention-based interaction.

[0050] In one possible implementation, the fusion result is specifically used to reconstruct the CSI via an inverse Fourier transform.

[0051] Fifthly, this application provides a data encoding apparatus, the apparatus comprising:

[0052] The acquisition module is used to obtain the sparse matrix corresponding to CSI;

[0053] The encoding module is used to process the sparse matrix through a feature extraction network to obtain a feature representation; the feature extraction network includes convolutional layers of sizes NxN, Nx1, and 1xN; where N is a positive integer greater than 1.

[0054] The feature representation is encoded to obtain the bitstream.

[0055] In one possible implementation, the acquisition module is specifically used for:

[0056] The sparse matrix corresponding to the CSI is obtained by performing a Fourier transform on the CSI.

[0057] In a sixth aspect, embodiments of this application provide a data decoding device, which may include a memory, a processor, and a bus system, wherein the memory is used to store a program, and the processor is used to execute the program in the memory to perform the methods described in the first aspect above and any of its optional methods.

[0058] In one possible implementation, the data decoding device is a network device.

[0059] In a seventh aspect, embodiments of this application provide a data encoding device, which may include a memory, a processor, and a bus system, wherein the memory is used to store a program, and the processor is used to execute the program in the memory to perform the methods described in the fourth aspect above and any of its optional methods.

[0060] In one possible implementation, the data encoding device is a terminal device.

[0061] Eighthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the methods described in the first aspect and any optional methods thereof, or the methods described in the second aspect and any optional methods thereof.

[0062] Ninthly, embodiments of this application provide a computer program that, when run on a computer, causes the computer to perform the methods described in the first aspect and any optional methods thereof, or the methods described in the second aspect and any optional methods thereof.

[0063] In a tenth aspect, this application provides a chip system including a processor for supporting a data encoding or decoding device in implementing the functions involved in the foregoing aspects, such as transmitting or processing data involved in the foregoing methods; or, information. In one possible design, the chip system further includes a memory for storing program instructions and data necessary for the execution device or training device. The chip system may be composed of chips or may include chips and other discrete devices. Attached Figure Description

[0064] Figure 1 A structural diagram illustrating the main framework of artificial intelligence;

[0065] Figure 2 This is a schematic diagram of the system structure;

[0066] Figure 3 This is a schematic diagram of a transformer layer architecture;

[0067] Figure 4 This is a schematic diagram of the structure of a convolutional neural network;

[0068] Figure 5 This is a schematic diagram of the structure of a convolutional neural network;

[0069] Figure 6a This is an illustration of an embodiment of a data decoding method provided in this application.

[0070] Figure 6b This is a schematic diagram of a stripe characteristic in an embodiment of this application;

[0071] Figure 6c This is a schematic diagram of an attention operation in an embodiment of this application;

[0072] Figure 6d This is a schematic diagram of a transformer layer structure;

[0073] Figure 6e A schematic diagram of the operation of an attention head;

[0074] Figure 7 This application provides an example of a data encoding method.

[0075] Figure 8 This is a diagram illustrating a beneficial effect;

[0076] Figure 9 This is a schematic diagram of a network structure;

[0077] Figure 10 This application provides an embodiment of a data encoding / decoding method.

[0078] Figure 11 A schematic diagram of the structure of a data encoding device provided in an embodiment of this application;

[0079] Figure 12 A schematic diagram of the structure of the execution device provided in the embodiments of this application;

[0080] Figure 13 A schematic diagram of the structure of the training device provided in the embodiments of this application;

[0081] Figure 14 This is a schematic diagram of a chip structure provided in an embodiment of this application. Detailed Implementation

[0082] The embodiments of the present invention will now be described with reference to the accompanying drawings. The terminology used in the embodiments section is for illustrative purposes only and is not intended to limit the scope of the invention.

[0083] The embodiments of this application will now be described with reference to the accompanying drawings. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.

[0084] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.

[0085] The technical solutions provided in this application can be applied to NR systems. An architecture diagram of the NR system can be found here. Figure 1 The NR system includes at least one network device and at least one terminal device connected to each network device. The technical solutions provided in this application involve terminal devices and network devices.

[0086] The terminal device can be a device that provides voice and / or data connectivity to a user, a handheld device with wireless connectivity, or other processing device connected to a wireless modem. The wireless terminal device can communicate with one or more core networks via the RAN. The wireless terminal device can be a mobile terminal device, such as a mobile phone (or "cellular" phone) and a computer with a mobile terminal device, for example, a portable, pocket-sized, handheld, computer-embedded, or vehicle-mounted mobile device, which exchanges voice and / or data with the wireless access network. Examples include Personal Communication Service (PCS) phones, cordless phones, Session Initiated Protocol (SIP) phones, Wireless Local Loop (WLL) stations, and Personal Digital Assistants (PDAs). Wireless terminal equipment can also be referred to as a system, subscriber unit, subscriber station, mobile station, mobile, remote station, access point, remote terminal, access terminal, user terminal, user agent, user device, or user equipment.

[0087] Network devices can be base stations or access points, or they can refer to devices in an access network that communicate with wireless terminal devices via one or more sectors on the air interface. Network devices can be used to convert received air frames to and from Internet Protocol (IP) packets, and act as routers between wireless terminal devices and the rest of the access network, which may include an IP network. Network devices can also coordinate the management of air interface attributes. For example, a network device can be a Base Transceiver Station (BTS) in Global System for Mobile Communications (GSM) or Code Division Multiple Access (CDMA), a NodeB in Wide-band Code Division Multiple Access (WCDMA), or an evolved Node B (eNB or e-NodeB) in LTE; however, this is not limited in the embodiments of the present invention.

[0088] In this embodiment of the application, the terminal device can encode CSI, and the network device can decode the bitstream corresponding to CSI. Specifically, the terminal device can encode CSI based on AI, and the network device can decode the bitstream corresponding to CSI based on AI.

[0089] The following is combined with Figure 2 The system architecture provided in the embodiments of this application will be described in detail. Figure 2 This is a schematic diagram of a system architecture provided for an embodiment of this application. For example... Figure 2 As shown, the system architecture 500 includes an execution device 510, a training device 520, a database 530, a client device 540, a data storage system 550, and a data acquisition system 560.

[0090] Among them, the execution device 510 can be the terminal device or base station device described above.

[0091] The execution device 510 includes a calculation module 511, an I / O interface 512, a preprocessing module 513, and a preprocessing module 514. The calculation module 511 may include a target model / rule 501, while the preprocessing modules 513 and 514 are optional.

[0092] The data acquisition device 560 is used to collect training data.

[0093] In the CSI encoding and decoding task, the training data can be CSI.

[0094] After collecting the training data, the data acquisition device 560 stores the training data in the database 530, and the training device 520 trains the target model / rule 501 based on the training data maintained in the database 530.

[0095] The training device 520 trains the encoder and decoder in this embodiment of the application based on the training data maintained in the database 530 to obtain the target model / rule 501.

[0096] It should be noted that in practical applications, the training data maintained in database 530 may not all come from the data acquisition device 560; it may also be received from other devices. Furthermore, it should be noted that training device 520 may not necessarily train the target model / rule 501 entirely based on the training data maintained in database 530; it may also obtain training data from the cloud or other sources for model training. The above description should not be construed as limiting the embodiments of this application.

[0097] The target model / rule 501 trained using training device 520 can be applied to different systems or devices, such as... Figure 2 The execution device 510 shown can be a terminal, such as a mobile phone terminal, tablet computer, laptop computer, augmented reality (AR) / virtual reality (VR) device, vehicle terminal, etc., or it can be a server or cloud. The execution device 510 can also be a network device such as a base station. Figure 2 In the execution device 510, an input / output (I / O) interface 512 is configured for data interaction with external devices. Users can input data to the I / O interface 512 through the client device 540.

[0098] Preprocessing modules 513 and 514 are used to preprocess the input data received from I / O interface 512 (e.g., obtaining the positions of known data units and data units to be predicted in the target data, or generating attention information, etc.). It should be understood that preprocessing modules 513 and 514 may be absent, or only one preprocessing module may be used. When preprocessing modules 513 and 514 are absent, the calculation module 511 can directly process the input data.

[0099] During the preprocessing of input data by the execution device 510, or during the calculation module 511 of the execution device 510 performing calculations and other related processes, the execution device 510 can call data, code, etc. in the data storage system 550 for corresponding processing, or store the data, instructions, etc. obtained from the corresponding processing into the data storage system 550.

[0100] Finally, the I / O interface 512 presents the processing results to the client device 540, thereby providing them to the user.

[0101] exist Figure 2 In the illustrated scenario, the user can manually provide input data, which can be done through the interface provided by I / O interface 512. Alternatively, the client device 540 can automatically send input data to I / O interface 512. If user authorization is required for the client device 540 to automatically send input data, the user can set the corresponding permissions in the client device 540. The user can view the output results of the execution device 510 on the client device 540, which can be presented in various forms such as display, sound, or animation. The client device 540 can also act as a data acquisition terminal, collecting the input data and output results of the input I / O interface 512 as shown in the figure, and storing them as new sample data in database 530. Alternatively, data can be collected directly from the I / O interface 512 without going through the client device 540, using the input data and output results of the input I / O interface 512 as shown in the figure, and storing them as new sample data in database 530.

[0102] It is worth noting that, Figure 2 This is merely a schematic diagram of a system architecture provided in an embodiment of this application. The positional relationships between the devices, components, modules, etc., shown in the diagram do not constitute any limitation. For example, in Figure 2 In this context, the data storage system 550 is an external memory relative to the execution device 510. In other cases, the data storage system 550 may also be placed within the execution device 510.

[0103] It should be understood that the aforementioned execution device 510 can also be deployed in customer device 540.

[0104] Since the embodiments of this application involve a large number of neural network applications, for ease of understanding, the relevant terms and concepts such as neural networks involved in the embodiments of this application will be introduced below.

[0105] (1) Neural Network

[0106] A neural network can be composed of neural units, which can be defined as a computational unit that takes xs (i.e., input data) and an intercept of 1 as input. The output of this computational unit can be:

[0107]

[0108] Where s = 1, 2, ..., n, where n is a natural number greater than 1, Ws is the weight of xs, and b is the bias of the neural unit. f is the activation function of the neural unit, used to introduce nonlinear characteristics into the neural network to convert the input signal in the neural unit into an output signal. The output signal of this activation function can be used as the input of the next convolutional layer, and the activation function can be the sigmoid function. A neural network is a network formed by connecting multiple of the above-mentioned individual neural units together, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract the features of the local receptive field, which can be a region composed of several neural units.

[0109] (2) Transformer layer

[0110] Reference Figure 3 , Figure 3 This is a schematic diagram of a transformer layer architecture, such as Figure 3 As shown, the neural network includes an embedding layer and at least one transformer layer. The at least one transformer layer can be N transformer layers (N being an integer greater than 0). Each transformer layer includes sequentially adjacent attention layers, add and normalize layers, feed-forward layers, and add and normalize layers. In the embedding layer, the current input is embedded to obtain multiple embedding vectors. In the attention layer, P input vectors are obtained from the layer above the first transformer layer. Using any first input vector among the P input vectors as the center, based on the correlation between each input vector within a preset attention window and the first input vector, an intermediate vector corresponding to the first input vector is obtained. This process determines P intermediate vectors corresponding to the P input vectors. In the pooling layer, the P intermediate vectors are merged into Q output vectors, where the multiple output vectors obtained from the last transformer layer are used as feature representations of the current input.

[0111] (3) Attention mechanism

[0112] Attention mechanisms mimic the internal processes of biological observation—aligning internal experience with external senses to increase the precision of observation in specific areas. They enable the rapid sifting of high-value information from a large volume of data using limited attentional resources. Attention mechanisms can quickly extract important features from sparse data and are therefore widely used in natural language processing tasks, particularly machine translation. Self-attention mechanisms, an improvement on attention mechanisms, reduce reliance on external information and are better at capturing the internal correlations of data or features. The core idea of ​​attention mechanisms can be rewritten as follows:

[0113] In this formula, Lx = ||Source|| represents the length of the Source. The meaning is that the elements in the Source are imagined as a series of data pairs. Given a Query element in the Target, the similarity or relevance between the Query and each Key is calculated to obtain the weight coefficient of the Value corresponding to each Key. Then, the Values ​​are weighted and summed to obtain the final Attention value. Therefore, the Attention mechanism essentially performs a weighted sum of the Values ​​of the elements in the Source, while the Query and Key are used to calculate the weight coefficients of their corresponding Values. Conceptually, Attention can be understood as selectively filtering a small amount of important information from a large amount of information and focusing on this important information, ignoring most of the unimportant information. The focusing process is reflected in the calculation of the weight coefficients; the larger the weight, the more focused it is on its corresponding Value. That is, the weight represents the importance of the information, and the Value is the corresponding information. Self-attention can be understood as intra attention. The attention mechanism occurs between the elements of the Target (Query) and all elements of the Source. Self-attention refers to the attention mechanism that occurs between elements within the Source or between elements within the Target. It can also be understood as the attention calculation mechanism in the special case where Target = Source. The specific calculation process is the same, only the calculation object changes.

[0114] (4) A convolutional neural network (CNN) is a deep neural network with a convolutional structure. A CNN contains a feature extractor consisting of convolutional layers and subsampling layers, which can be viewed as a filter. A convolutional layer refers to the layer of neurons in a CNN that performs convolutional processing on the input signal. In a convolutional layer of a CNN, a neuron can be connected to only some of the neurons in its neighboring layers. A convolutional layer typically contains several feature planes, each composed of rectangularly arranged neural units. Neural units on the same feature plane share weights, which are the convolutional kernel. Shared weights can be understood as the way features are extracted being independent of their location. The convolutional kernel can be formalized as a matrix of random size, and during the training process of the CNN, the kernel can learn reasonable weights. Furthermore, the direct benefit of shared weights is reducing the connections between layers in the CNN, while also reducing the risk of overfitting.

[0115] CNN is a very common type of neural network. Below, we will combine... Figure 4 This section focuses on a detailed explanation of the structure of CNNs. As mentioned in the basic concept introduction above, a Convolutional Neural Network (CNN) is a deep neural network with a convolutional structure. It is a deep learning architecture, which refers to learning at multiple levels of abstraction through machine learning algorithms. As a deep learning architecture, CNN is a feed-forward artificial neural network, in which each neuron can respond to the input data.

[0116] like Figure 4 As shown, the convolutional neural network (CNN) 200 may include an input layer 210, a convolutional / pooling layer 220 (where the pooling layer is optional), and a fully connected layer 230.

[0117] Convolutional / pooling layers 220:

[0118] Convolutional layers:

[0119] like Figure 4The convolutional / pooling layer 220 shown may include layers as in Examples 221-226. For instance, in one implementation, layer 221 is a convolutional layer, layer 222 is a pooling layer, layer 223 is a convolutional layer, layer 224 is a pooling layer, layer 225 is a convolutional layer, and layer 226 is a pooling layer; in another implementation, layers 221 and 222 are convolutional layers, layer 223 is a pooling layer, layers 224 and 225 are convolutional layers, and layer 226 is a pooling layer. That is, the output of the convolutional layer can be used as the input to a subsequent pooling layer, or as the input to another convolutional layer to continue the convolution operation.

[0120] The following section will use convolutional layer 221 as an example to introduce the internal working principle of a convolutional layer.

[0121] Convolutional layer 221 can include multiple convolution operators, also known as kernels. In data processing, a convolution operator acts as a filter, extracting specific information from the input data matrix. Essentially, a convolution operator can be a weight matrix, which is usually predefined. During the convolution operation, the weight matrix typically processes the input data pixel by pixel (or two pixels by two pixels, depending on the stride) horizontally, thus extracting specific features. The size of the weight matrix should be related to the data size. It's important to note that the depth dimension of the weight matrix is ​​the same as the depth dimension of the input data; during convolution, the weight matrix extends to the entire depth of the input data. Therefore, convolution with a single weight matrix produces a single-depth convolutional output. However, in most cases, a single weight matrix is ​​not used; instead, multiple weight matrices of the same size (rows × columns) are applied—multiple identical matrices. The outputs of each weight matrix are stacked to form the depth dimension of the convolutional data. This dimension can be understood as being determined by the "multiple" mentioned above. Different weight matrices can be used to extract different features from the data. For example, one weight matrix can be used to extract edge information, another to extract specific colors, and yet another to blur unwanted noise. These multiple weight matrices have the same size (rows × columns), and the feature maps extracted by these identical weight matrices also have the same size. These extracted feature maps are then merged to form the output of the convolution operation.

[0122] The weight values ​​in these weight matrices need to be obtained through extensive training in practical applications. The weight matrices formed by the weight values ​​obtained through training can be used to extract information from the input data, thereby enabling the convolutional neural network 200 to make correct predictions.

[0123] When a convolutional neural network 200 has multiple convolutional layers, the initial convolutional layers (e.g., 221) tend to extract more general features, which can also be called low-level features. As the depth of the convolutional neural network 200 increases, the features extracted by later convolutional layers (e.g., 226) become more and more complex, such as high-level semantic features. Features with higher semantic levels are more suitable for the problem to be solved.

[0124] Pooling layer:

[0125] Because it is often necessary to reduce the number of training parameters, pooling layers are often introduced periodically after convolutional layers, such as... Figure 4 Layers 221-226 in example 220 can be a convolutional layer followed by a pooling layer, or multiple convolutional layers followed by one or more pooling layers. In data processing, the sole purpose of pooling layers is to reduce the spatial size of the data. Pooling layers can include average pooling and / or max pooling operators to sample the input data to obtain smaller-sized data. The average pooling operator calculates the average value of pixel values ​​within a specific range as the result of average pooling. The max pooling operator takes the pixel with the largest value within a specific range as the result of max pooling. Furthermore, just as the size of the weight matrix in a convolutional layer should be related to the data size, the operators in a pooling layer should also be related to the data size. The size of the output data after processing by the pooling layer can be smaller than the size of the input data of the pooling layer. Each pixel in the output data of the pooling layer represents the average or maximum value of the corresponding sub-region of the input data of the pooling layer.

[0126] Fully connected layer 230:

[0127] After processing by the convolutional / pooling layers 220, the convolutional neural network 200 is still insufficient to output the required information. As mentioned earlier, the convolutional / pooling layers 220 only extract features and reduce the parameters introduced by the input data. However, to generate the final output information (the required class information or other relevant information), the convolutional neural network 200 needs to utilize fully connected layers 230 to generate one or a set of outputs representing the required number of classes. Therefore, the fully connected layers 230 can include multiple hidden layers (such as...). Figure 4 As shown in 231, 232 to 23n), the parameters contained in these multi-layer hidden layers can be pre-trained based on relevant training data for specific task types. For example, the task type may include data recognition, data classification, data super-resolution reconstruction, etc.

[0128] After the multiple hidden layers in the fully connected layer 230, the final layer of the entire convolutional neural network 200 is the output layer 240. This output layer 240 has a loss function similar to the classification cross-entropy, specifically used to calculate the prediction error. Once the entire convolutional neural network 200 has propagated forward (e.g., ... Figure 4 Propagation from 210 to 240 degrees is considered forward propagation, while backward propagation (e.g.) is completed. Figure 4 The propagation from 240 to 210 (backpropagation) will begin to update the weight values ​​and biases of the layers mentioned above, in order to reduce the loss of the convolutional neural network 200 and the error between the output of the convolutional neural network 200 through the output layer and the ideal result.

[0129] It should be noted that, as Figure 4 The convolutional neural network 200 shown is merely an example of a convolutional neural network. In specific applications, convolutional neural networks can also exist in the form of other network models, for example, including only... Figure 4 As shown in the network structure, for example, the convolutional neural network used in the embodiments of this application may only include an input layer 210, a convolutional / pooling layer 220, and an output layer 240.

[0130] It should be noted that, as Figure 4 The convolutional neural network 100 shown is merely an example of a convolutional neural network. In specific applications, convolutional neural networks can also exist in the form of other network models, such as... Figure 5 The multiple convolutional / pooling layers shown are implemented in parallel, and the extracted features are all input into the fully connected layer 230 for processing.

[0131] The following describes a data decoding method from the decoding side of this application embodiment, referring to... Figure 6a , Figure 6a This is a flowchart illustrating a data decoding method provided in an embodiment of this application.

[0132] Reference Figure 6a , Figure 6a This is a flowchart illustrating a data decoding method in an embodiment of this application, including:

[0133] 601. Obtain the bitstream; the bitstream is obtained by encoding the CSI.

[0134] In one possible implementation, step 601 can be performed by a network device, which can receive a bitstream sent from a terminal device. Specifically, this bitstream can be obtained by encoding the CSI using the terminal device's encoder. The network device needs to reconstruct the CSI based on the bitstream.

[0135] 602. The bitstream is processed to obtain a first feature representation and a second feature representation; the first feature representation is divided into multiple first sub-features along a first dimension; the second feature representation is divided into multiple second sub-features along a second dimension; the first dimension and the second dimension are different.

[0136] Considering the characteristics of CSI, due to the limitations of the Fourier transform window, CSI may have spectral leakage after transformation. Therefore, the transformed CSI (e.g., CSI after DFT processing) has striped characteristics.

[0137] The so-called CSI stripe feature can be understood as follows: the sparse matrix corresponding to CSI can include angular and temporal dimensions. In the angular or temporal dimension, the sparse matrix can have stripe-like features, that is, a feature change with a maximum value in the angular or temporal dimension and gradual changes on both sides. For example, refer to... Figure 6b As shown.

[0138] Since the CSI after DFT processing has striping characteristics in two dimensions, one is the delay dimension and the other is the angle dimension (or the incident angle dimension), in this embodiment, in order to capture the striping characteristics related to CSI, a part of the feature representation corresponding to CSI is segmented according to the first dimension (e.g., the delay dimension) and the other part is segmented according to the second dimension (e.g., the angle dimension), and attention calculation is performed separately to capture the correlation in the CSI stripes. At the same time, the characteristics of the incident angle, delay and other physical properties of the wireless signal are mixed. In the CSI decoding process, prior information such as the striping property of CSI data is used, which improves the CSI matrix restoration effect under high compression ratio and complex scenarios.

[0139] Specifically, the bitstream can be processed to obtain a first feature representation and a second feature representation; wherein, processing the bitstream can include inputting the bitstream into a convolutional upsampling network UpSampler. For example, the convolutional upsampling network can include multiple (e.g., four) deconvolutional blocks (e.g., deconvolutional blocks with a kernel size of 3×3), and optionally, each deconvolutional module can include a CNN layer, a batch normalization layer, and a PReLU nonlinear layer.

[0140] In one possible implementation, the bitstream can be processed to obtain a target feature representation; wherein the first feature representation and the second feature representation are obtained by segmenting the target feature representation along the channel dimension. For example, refer to... Figure 6cThe target feature representation can be a tensor, and the channel dimension can also be called the depth direction of the tensor. The target feature representation can include k feature maps. The first feature representation can be a partial feature map of the k feature maps (e.g., k / 2 feature maps), and the second feature map can be another partial feature map of the k feature maps (e.g., k / 2 feature maps).

[0141] In one possible implementation, both the first feature representation and the second feature representation can include two dimensions (a first dimension and a second dimension). The first feature representation can be divided into multiple first sub-features along the first dimension; the second feature representation can be divided into multiple second sub-features along the second dimension, for example, referring to... Figure 6c As shown, the first feature can be represented by X1, the second feature can be represented by X2, one branch can be divided along the vertical direction, and the other branch can be divided along the horizontal direction.

[0142] 603. Perform attention-based operations on the multiple first sub-features to obtain multiple third sub-features.

[0143] 604. Perform attention-based operations on the multiple second sub-features to obtain multiple fourth sub-features.

[0144] In one possible implementation, attention-based operations can be performed on multiple first sub-features using an attention network (e.g., a transformer layer).

[0145] In one possible implementation, attention-based operations can be performed on multiple second sub-features using an attention network (e.g., a transformer layer).

[0146] Next, we will introduce an example of an attention network:

[0147] Reference Figure 6d , Figure 6d This is a schematic diagram of a transformer layer structure. The transformer layers of various neural networks in the embodiments of this application can be referenced from this diagram. Figure 6d The structure shown in the figure, such as Figure 6d As shown, the transformer layer consists of a multi-head attention layer, an add & normalization layer, a feed forward layer, and another add & normalization layer, which are sequentially adjacent to each other.

[0148] The multi-head attention layer obtains N input vectors X from the layer above it. l(For example, multiple first sub-features, or multiple second sub-features), which can also be represented as matrix X. Using a self-attention mechanism, the vectors are transformed (or interacted with) based on the correlation between them, resulting in N output vectors, which can also be represented as matrix Y. It can be understood that when this multi-head attention layer is directly connected to the embedding layer, for example... Figure 6d In a transformer layer directly connected to the embedding layer, the input vector it receives is the embedding vector output by the embedding layer; when this multi-head attention layer is a multi-head attention layer included in subsequent transformer layers, for example... Figure 6d The transformer layer directly connected to the previous transformer layer includes a multi-head attention layer, whose input vector is the output vector of the previous transformer layer. In the multi-head attention layer, the MHA layer includes multiple attention heads (e.g., ...). Figure 6e The following are Head 1, Head 2, ..., Head N shown in the figure.

[0149] Figure 6e This is a schematic diagram illustrating the operation of an attention head, showing how the attention head transforms an input matrix X into an output matrix Y. For example... Figure 6e As shown, the first transformation matrix Q, the second transformation matrix K, and the third transformation matrix V are applied to N input vectors respectively.<X1,X2,…,XN> The input vectors Xi are transformed to obtain the first intermediate vector (q vector), second intermediate vector (k vector), and third intermediate vector (v vector) corresponding to each input vector. Operationally, the input matrix X, composed of N input vectors, can be linearly transformed using the first transformation matrix Q, the second transformation matrix K, and the third transformation matrix V, respectively, to obtain the Q matrix, K matrix, and V matrix of the input matrix. These matrices are then split to obtain the q vector, k vector, and v vector corresponding to each input vector. For any i-th input vector Xi among the N input vectors, the correlation degree between the i-th input vector Xi and each input vector Xj is determined based on the dot product operation between the first intermediate vector (q vector, qi) corresponding to the i-th input vector and each second intermediate vector (k vector, kj) corresponding to each input vector Xj. Although the dot product result of qi and kj can be directly used to determine the correlation degree, a more classic approach is to first divide the dot product result by a constant, then perform a softmax operation, and use the result as the correlation degree between the input vector Xi and Xj (that is, the correlation degree between the Q vector and the K vector), i.e.:

[0150]

[0151] Therefore, the correlation degree α between the i-th input vector Xi and each of the input vectors Xj can be used as the basis for determining the correlation degree α between the i-th input vector Xi and each of the input vectors Xj. i,j As a weighting factor, the third intermediate vector (v vector, vj) corresponding to each input vector Xj is weighted and combined to obtain the i-th combined vector Ci corresponding to the i-th input vector Xi:

[0152]

[0153] Therefore, we can obtain a vector sequence of N combined vectors corresponding to N input vectors.<C1,C2,…,CN> Or matrix C. Based on this combined vector sequence, N output vectors can be obtained. Specifically, in one embodiment, the vector sequence of N combined vectors can be directly used as N output vectors, i.e., Yi = Ci. In this case, the output matrix Y is the combined vector matrix C, which can also be written as:

[0154]

[0155] The above describes the processing flow of an attention head. In the MHA architecture, the MHA layer maintains m sets of transformation matrices. Each set of transformation matrices includes the aforementioned first transformation matrix Q, second transformation matrix K, and third transformation matrix V, allowing the above operations to be performed in parallel to obtain m combined vector sequences (i.e., m matrices C). Each vector sequence includes N combined vectors obtained based on a set of transformation matrices. In this case, the MHA layer concatenates the m combined vector sequences to obtain a concatenated matrix; then, it transforms this concatenated matrix using the fourth transformation matrix W to obtain the final output matrix Y. This output matrix Y can be split into N output vectors.<Y1,Y2,…,YN> Through the above operations, the MHA layer performs transformation operations based on the correlation between the N input vectors to obtain N output vectors.

[0156] For example, taking the time delay dimension as an example, attention can be calculated in the following way:

[0157] [H1, H2, ..., H M ] = Split(X),

[0158]

[0159]

[0160]

[0161]

[0162]

[0163] H-Atten(X)=[H-Atten 1 (X), ..., H-Atten N (X)];

[0164] Where M is the number of the first sub-features after segmentation along the time delay dimension, and N is the number of heads.

[0165] 605. The plurality of third sub-features and the plurality of fourth sub-features are fused to obtain a fusion result; the fusion result is used to reconstruct the CSI.

[0166] Since a signal is determined by both the angle domain and the time delay domain, information from different domains is fused when calculating strip attention.

[0167] In one possible implementation, fusing the plurality of third sub-features and the plurality of fourth sub-features includes: performing an attention-based interaction between a first similarity among different third sub-features and each fourth sub-feature to obtain a third feature representation; performing an attention-based interaction between a second similarity among different fourth sub-features and each third sub-feature to obtain a fourth feature representation; and fusing the third feature representation and the fourth feature representation.

[0168] The interaction between the first similarity between different third sub-features among the multiple third sub-features and each fourth sub-feature based on attention can be expressed as: HV Atten = CrxAtten, where the strip attention calculation is performed to fuse the time delay domain into the angle domain. The attention matrix calculates the similarity between each strip in the time delay domain and other strips, and then multiplies it by the features in the angle domain to fuse the correlation of each strip in the angle domain.

[0169] The interaction between the second similarity between different fourth sub-features and each third sub-feature based on attention can be expressed as: VH Atten = CrxAtten. Here, the strip attention calculation is performed to fuse the angle domain into the time delay domain. The attention matrix calculates the similarity between each strip in the angle domain and other strips, and then multiplies it by the features in the time delay domain to fuse the correlation of each strip in the time delay domain.

[0170] In one possible implementation, the step of performing an attention-based interaction between the first similarity between different third sub-features among the plurality of third sub-features and each of the fourth sub-features to obtain a third feature representation includes: performing a linear transformation on the plurality of third sub-features to obtain a first Q matrix and a first K matrix corresponding to the plurality of third sub-features; performing a linear transformation on the plurality of fourth sub-features to obtain a first V matrix corresponding to the plurality of fourth sub-features; and obtaining a third feature representation based on the first Q matrix, the first K matrix, and the first V matrix through attention-based interaction.

[0171] In one possible implementation, the step of performing an attention-based interaction between the second similarity between different fourth sub-features among the plurality of fourth sub-features and each of the third sub-features to obtain a fourth feature representation includes: performing a linear transformation on the plurality of fourth sub-features to obtain a second Q matrix and a second K matrix corresponding to the plurality of fourth sub-features; performing a linear transformation on the plurality of third sub-features to obtain a second V matrix corresponding to the plurality of third sub-features; and obtaining a fourth feature representation through attention-based interaction based on the second Q matrix, the second K matrix, and the second V matrix.

[0172] For example, the first and second feature representations can be input into the StripFormer network to extract multi-scale information using a hierarchical structure. The StripFormer network consists of four StripFormer Layers, each containing 2, 2, 6, and 2 StripFormer Blocks respectively. The number of self-attention heads in each StripFormer Block of each StripFormer Layer is 2, 4, 8, and 16 respectively. The StripFormer Block is a Transformer structure based on the CSI-Stripe Attention mechanism. It can effectively capture the correlation in CSI stripes and can also mix signals based on the physical properties of the wireless signal, such as the incident angle and delay. Each StripFormer Block contains a LayerNorm normalization layer, a CSI-Stripe Attention layer, and is input to a residual module, followed by another LayerNorm and a fully connected layer. After passing through a residual connection module, it is output to the next Block.

[0173] Optionally, CSI-Stripe Attention is implemented in two steps:

[0174] Step 1: Strip-based attention capture:

[0175] [H1, H2, ..., HM ] = Split(X),

[0176]

[0177]

[0178]

[0179]

[0180]

[0181] H-Atten(X)=[H-Atten 1 (X), ..., H-Atten N (X)];

[0182] The second step involves dynamic fusion based on different dimensions of physical meaning:

[0183]

[0184]

[0185] HV Atten=CrxAtten(H-Atten(X),V-Atten(X)),

[0186] VH Atten=CrxAtten(V-Atten(X),H-Atten(X)),

[0187] Y=Concat[HV Atten,VH Atten]W O ;

[0188] Here, V-Attention(X) corresponds to the angular dimension.

[0189] In one possible implementation, the feature map of StripeFormer can be input into Channel Reducer (i.e., the output channel number is 2);

[0190] In one possible implementation, the fusion result is specifically used to reconstruct the CSI through an inverse Fourier transform.

[0191] For example, the reconstructed sparse CSI matrix can be converted back to the original CSI matrix. The specific steps are as follows: The matrix is ​​input into a two-dimensional inverse DFT to obtain the reconstructed spatial frequency domain CSI matrix.

[0192] This application provides a data decoding method, the method comprising: acquiring a bitstream; the bitstream being obtained by encoding a CSI; processing the bitstream to obtain a first feature representation and a second feature representation; the first feature representation being divided into multiple first sub-features along a first dimension; the second feature representation being divided into multiple second sub-features along a second dimension; the first dimension and the second dimension being different; performing attention-based operations on the multiple first sub-features to obtain multiple third sub-features; performing attention-based operations on the multiple second sub-features to obtain multiple fourth sub-features; fusing the multiple third sub-features and the multiple fourth sub-features to obtain a fusion result; the fusion result being used to reconstruct the CSI. In this embodiment, in order to capture the strip characteristics related to CSI, a portion of the feature representation corresponding to CSI is segmented according to a first dimension (e.g., the time delay dimension), and another portion is segmented according to a second dimension (e.g., the angle dimension). Attention calculations are performed separately to capture the correlation in the CSI strip. At the same time, the characteristics of the incident angle, time delay, and other physical properties of the wireless signal are mixed. Prior information such as the stripeness of CSI data is used in the CSI decoding process, which improves the CSI matrix reconstruction effect.

[0193] This application embodiment can significantly improve the CSI restoration effect in scenarios with high compression ratios (64x). Verification using a wireless channel environment generated by the COST2100 model shows that this application embodiment can restore the CSI matrix with an accuracy exceeding existing methods by 7-17 dB under complex scenarios requiring a 64x compression ratio. Furthermore, through a model optimized for wireless information, this application embodiment can also extract rich features for wireless signal-related applications, and has application potential in scenarios such as wireless sensing, smart homes, and autonomous driving.

[0194] Reference Figure 1 Table 1 shows the performance comparison of different models under different compression ratios (indoor and outdoor scenes):

[0195] Table 1

[0196]

[0197] Reference Figure 8 , Figure 8 To compare the compression performance of different models (robustness analysis), in Figure 8This paper compares the reconstruction NMSE performance of all existing compression schemes based on neural networks and deep learning (such as those based on CNN and Transformer) at different compression ratios (CR) and in both indoor and outdoor scenarios. It can be observed that, compared to existing schemes, the embodiments of this application show improvements in almost all compression ratios and in all scenarios, especially achieving a very significant improvement in complex outdoor scenarios with high compression ratios.

[0198] exist Figure 8 In this study, through research on different scenarios of the publicly available dataset COST2100, the number of multipaths is calculated using the MUSIC algorithm, and the existing CSI dataset is divided into four categories based on the number of multipaths: [0,4], [5,8], [9,12], [13,17]. It can be observed that compared with existing models (CSINet, CRNet, SRNet), the embodiments of this application are more robust to multipath complexity, the increase in the number of multipaths has a relatively small impact, and the application is more stable in real-world scenarios.

[0199] The aforementioned beneficial effects are due to the fact that this application is better suited to the characteristics of CSI data: compared to existing solutions that treat CSI as a high-dimensional matrix similar to an image and directly apply convolutional neural networks, Transformers, etc., to CSI compression and reconstruction, this application focuses on analyzing and considering the characteristics of CSI, namely its sparsity and striping in the angular delay domain, and combines it with a Transformer-based neural network. A striping and cross-attention mechanism is designed to capture these prior characteristics of CSI data, and the Encoder and Decoder network structures and loss are designed based on these priors, enabling the network to reconstruct sparse data effectively. Experimental results also show that the model results of this solution can significantly improve the CSI reconstruction effect under high compression ratios and complex scenarios. Furthermore, this application's embodiments input most of the channels into the neural network, increasing the performance ceiling of the reconstructed channels.

[0200] The following describes a data encoding method from the encoding perspective of an embodiment of this application, referring to... Figure 7 , Figure 7 This is a flowchart illustrating a data encoding method provided in an embodiment of this application.

[0201] In one possible implementation, the network device performs precoded transmission to the terminal device. Then, at the UE, channel data (e.g., CSI) is calculated and generated. The CSI is then processed to obtain sparse data (e.g., a sparse matrix), and the sparse data is compressed using a neural network to obtain a bitstream, which is finally sent to the network device. The network device then reconstructs the CSI.

[0202] This application provides a data encoding method, including:

[0203] 701. Obtain the sparse matrix corresponding to CSI;

[0204] In one possible implementation, the entity performing step 701 can be a terminal device, specifically an encoder within the terminal device.

[0205] In one possible implementation, the encoder is specifically used to obtain the sparse matrix corresponding to the CSI by performing a Fourier transform on the CSI.

[0206] Specifically, in the Massive MIMO system, the COST2100 model is used to configure two environments: indoor and outdoor, with picocellula frequencies of 5.3MHz and 300MHz respectively. For example, the number of subbands N is set... c =1024, N is the number of transmit antennas on the network device. t =32, the number of receiving antennas of the terminal device is 1.

[0207] Step 701 can be the training or inference process of the model. For example, 150,000 data samples are generated for both indoor and outdoor use, referred to as the original CSI matrix H, where 100,000 samples are used as the training set, 30,000 samples as the validation set, and 20,000 samples as the test set. H is a complex matrix with dimensions of 1024×32.

[0208] The original CSI matrix H can be transformed into a sparse CSI matrix X. The specific steps are as follows: Input H into a two-dimensional DFT to obtain a sparse matrix H′ in the angular time delay domain:

[0209]

[0210] Among them, F c and All are DFT matrices, with the superscript H indicating the conjugate transpose. H′ is a complex matrix of dimension 1024×32.

[0211] Because of the time delay in multipath arrival, H′ has values ​​only in the first 32 rows, with the rest being 0. Therefore, taking the first 32 rows yields a complex matrix of dimension 32×32. Then, taking the real and imaginary parts as separate dimensions, we obtain a sparse CSI matrix X with dimensions 32×32×2.

[0212] 702. The sparse matrix is ​​processed by a feature extraction network to obtain a feature representation; the feature extraction network includes convolutional layers of sizes NxN, Nx1, and 1xN; where N is a positive integer greater than 1.

[0213] In one possible implementation, the sparse CSI matrix X can be encoded as a bitstream s. A schematic diagram of the specific steps is as follows:

[0214] First, X is input into a fully convolutional network. (Specifically, the first convolutional layer has a 1x1 kernel and 1 output channel to mix the real and imaginary parts. After batch normalization, it is connected to a 4-layer convolutional block. Each convolutional block includes a CNN layer, a batch normalization layer, and a PReLU nonlinear layer. The kernel sizes of the CNN are 7×7, 5×5, 5×5, and 5×5, respectively. Zero padding is used to ensure that the dimensions remain unchanged after the convolution operation.) Simultaneously, during the training phase, the existing NxN convolutional kernels are... Replacing the convolutional layers with at least three layers such as NxN, Nx1, and 1xN can enhance the extraction of sparse stripe features of CSI. During the testing phase, the convolutional kernels can be fused before convolution on the input. Since fusion after convolution on the input yields the same result as fusion of convolutional kernels before convolution, zero-cost increase in computation is achieved. In other words, based on the characteristics of user terminal equipment, a lightweight asymmetric convolutional compression network is designed to compress the CSI matrix, which can model the sparsity and stripeness of CSI channel data without incurring any additional overhead.

[0215] The so-called CSI strip feature can be understood as follows: the sparse matrix corresponding to CSI can include angular dimension and time delay dimension. In the angular dimension or time delay dimension, the sparse matrix can have strip-like features, that is, there is a maximum value in the angular dimension or time delay dimension and the feature changes gradually on both sides.

[0216] 703. Encode the feature representation to obtain a bitstream;

[0217] In one possible implementation, after performing a reshape operation on the feature representation, coefficient features M can be output. M can then be input into a quantization module to obtain a bitstream. The quantization module quantizes the coefficient features M, and finally inputs the quantized features into the entropy encoder to obtain the bitstream. A bitstream can also be called a bitstream.

[0218] 704. The bitstream is transmitted to the decoder;

[0219] In one possible implementation, after obtaining the feature representation, the terminal device can pass the bitstream to the decoder of the network device, and then the decoder can decode the bitstream to reconstruct the CSI.

[0220] This application provides a data encoding method, including: obtaining a sparse matrix corresponding to CSI; processing the sparse matrix through a feature extraction network to obtain a feature representation; the feature extraction network includes convolutional layers of sizes NxN, Nx1, and 1xN, where N is a positive integer greater than 1; encoding the feature representation to obtain a bitstream; and transmitting the bitstream to the decoder. Replacing the existing NxN convolutional kernel with at least three convolutional layers of sizes NxN, Nx1, and 1xN enhances the extraction of sparse CSI strip features.

[0221] Reference Figure 9 , Figure 9 This is a schematic diagram of a network structure according to an embodiment of this application.

[0222] Reference Figure 10 , Figure 10 This is a schematic diagram of a data encoding and decoding method according to an embodiment of this application, as follows: Figure 10 As shown, the embodiments of this application mainly focus on the analysis, feature extraction, feature compression, and reconstruction of sparse data using neural networks. In detail, Figure 10 The functional description of each module is as follows:

[0223] Preprocessing module: The original CSI matrix is ​​a channel matrix in the spatial frequency domain. It is converted into a CSI matrix in the angular time delay domain by a two-dimensional DFT. This matrix is ​​a sparse matrix.

[0224] Encoding module: First, sparse features are extracted through a neural network. Then, the coefficient features are uniformly quantized. Finally, the quantized features are input into entropy encoding to obtain a bit stream.

[0225] Decoding module: First, the bitstream is fed into the inverse entropy encoder to obtain the quantized features, and then it is input into the neural network to obtain the reconstructed sparse matrix.

[0226] Post-processing module: Performs inverse DFT transformation on the sparse matrix to obtain the reconstructed original CSI matrix.

[0227] exist Figures 1 to 10 Based on the corresponding embodiments, in order to better implement the above-described solutions of this application, related equipment for implementing the above solutions is also provided below. See details. Figure 11 , Figure 11 This is a schematic diagram of a data decoding device 1100 provided in an embodiment of this application. The data decoding device 1100 may be a network device and may include:

[0228] The acquisition module 1101 is used to acquire the bitstream; the bitstream is obtained by encoding CSI.

[0229] The specific description of the acquisition module 1101 can be found in the description of step 601 in the above embodiments, and will not be repeated here.

[0230] Decoding module 1102 is used to process the bitstream to obtain a first feature representation and a second feature representation; the first feature representation is divided into multiple first sub-features along a first dimension; the second feature representation is divided into multiple second sub-features along a second dimension; the first dimension and the second dimension are different;

[0231] Multiple third sub-features are obtained by performing attention-based operations on the multiple first sub-features;

[0232] Multiple fourth sub-features are obtained by performing attention-based operations on the multiple second sub-features;

[0233] The plurality of third sub-features and the plurality of fourth sub-features are fused to obtain a fusion result; the fusion result is used to reconstruct the CSI.

[0234] The specific description of the decoding module 1102 can be found in the description of steps 602 to 605 in the above embodiments, and will not be repeated here.

[0235] In one possible implementation, the first dimension is the time delay dimension; the second dimension is the angle dimension.

[0236] In one possible implementation, the encoding module is specifically used for:

[0237] The bitstream is processed to obtain a target feature representation; wherein the first feature representation and the second feature representation are obtained by segmenting the target feature representation along the channel dimension.

[0238] In one possible implementation, the encoding module is specifically used for:

[0239] The first similarity between different third sub-features among the plurality of third sub-features is interacted with each of the fourth sub-features based on attention to obtain the third feature representation;

[0240] The second similarity between different fourth sub-features among the plurality of fourth sub-features is interacted with each of the third sub-features based on attention to obtain the fourth feature representation;

[0241] The third feature representation and the fourth feature representation are fused.

[0242] In one possible implementation, the encoding module is specifically used for:

[0243] A linear transformation is performed on the plurality of third sub-features to obtain the first Q matrix and the first K matrix corresponding to the plurality of third sub-features;

[0244] A linear transformation is performed on the plurality of fourth sub-features to obtain the first V matrix corresponding to the plurality of fourth sub-features;

[0245] Based on the first Q matrix, the first K matrix, and the first V matrix, a third feature representation is obtained through attention-based interaction.

[0246] In one possible implementation, the encoding module is specifically used for:

[0247] By performing linear transformations on the plurality of fourth sub-features, the second Q matrix and the second K matrix corresponding to the plurality of fourth sub-features are obtained;

[0248] A linear transformation is performed on the plurality of third sub-features to obtain the second V matrix corresponding to the plurality of third sub-features;

[0249] Based on the second Q matrix, the second K matrix, and the second V matrix, a fourth feature representation is obtained through attention-based interaction.

[0250] In one possible implementation, the fusion result is specifically used to reconstruct the CSI through an inverse Fourier transform.

[0251] Furthermore, this application also provides a data encoding device, the device comprising:

[0252] The acquisition module is used to obtain the sparse matrix corresponding to CSI;

[0253] An encoding module is used to process the sparse matrix through a feature extraction network to obtain a feature representation; the feature extraction network includes convolutional layers of sizes NxN, Nx1, and 1xN; where N is a positive integer greater than 1.

[0254] The feature representation is encoded to obtain a bitstream.

[0255] In one possible implementation, the acquisition module is specifically used for:

[0256] The sparse matrix corresponding to the CSI is obtained by performing a Fourier transform on the CSI.

[0257] The following describes an execution device provided in an embodiment of this application. Please refer to [link / reference]. Figure 12 , Figure 12This is a schematic diagram of an execution device provided in an embodiment of this application. The execution device 1200 can specifically be a virtual reality (VR) device, a mobile phone, tablet, laptop, smart wearable device, or a network device such as a base station; no specific limitation is made here. Specifically, the execution device 1200 includes: a receiver 1201, a transmitter 1202, a processor 1203, and a memory 1204 (wherein the execution device 1200 may have one or more processors 1203). Figure 12 (Taking a processor as an example), the processor 1203 may include an application processor 12031 and a communication processor 12032. In some embodiments of this application, the receiver 1201, transmitter 1202, processor 1203, and memory 1204 may be connected via a bus or other means.

[0258] Memory 1204 may include read-only memory and random access memory, and provides instructions and data to processor 1203. A portion of memory 1204 may also include non-volatile random access memory (NVRAM). Memory 1204 stores processor and operation instructions, executable modules, or data structures, or subsets thereof, or extended sets thereof, wherein the operation instructions may include various operation instructions for implementing various operations.

[0259] Processor 1203 controls the operation of the execution device. In specific applications, the various components of the execution device are coupled together through a bus system, which may include not only the data bus, but also power buses, control buses, and status signal buses. However, for clarity, all buses in the diagram are referred to as the bus system.

[0260] The methods disclosed in the embodiments of this application can be applied to or implemented by the processor 1203. The processor 1203 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 1203 or by instructions in software form. The processor 1203 can be a general-purpose processor, a digital signal processor (DSP), a microprocessor, or a microcontroller, and may further include an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor 1203 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 1204. Processor 1203 reads the information in memory 1204 and, in conjunction with its hardware, completes the steps of the above method.

[0261] Receiver 1201 can be used to receive input digital or character information, and to generate signal inputs related to the settings and function control of the execution device. Transmitter 1202 can be used to output digital or character information through the first interface; transmitter 1202 can also be used to send instructions to the disk group through the first interface to modify the data in the disk group; transmitter 1202 may also include a display device such as a display screen.

[0262] This application also provides a training device; please refer to [link / reference]. Figure 13 , Figure 13This is a schematic diagram of a training device provided in an embodiment of this application. Specifically, the training device 1300 is implemented by one or more servers. The training device 1300 can vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) 1313 (e.g., one or more processors) and memory 1332, and one or more storage media 1330 (e.g., one or more mass storage devices) for storing application programs 1342 or data 1344. The memory 1332 and storage media 1330 can be temporary or persistent storage. The program stored in the storage media 1330 may include one or more modules (not shown in the diagram), each module may include a series of instruction operations on the training device. Furthermore, the CPU 1313 may be configured to communicate with the storage media 1330 and execute the series of instruction operations in the storage media 1330 on the training device 1300.

[0263] The training device 1300 may also include one or more power supplies 1326, one or more wired or wireless network interfaces 1350, one or more input / output interfaces 1358; or, one or more operating systems 1341, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0264] In this embodiment, the central processing unit 1313 is used to execute the methods related to model training in the above embodiments.

[0265] This application also provides a computer program product that, when run on a computer, causes the computer to perform steps as performed by the aforementioned execution device, or causes the computer to perform steps as performed by the aforementioned training device.

[0266] This application also provides a computer-readable storage medium storing a program for signal processing, which, when run on a computer, causes the computer to perform steps as performed by the aforementioned execution device, or causes the computer to perform steps as performed by the aforementioned training device.

[0267] The execution device, training device, or terminal device provided in this application embodiment can specifically be a chip. The chip includes a processing unit and a communication unit. The processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip within the execution device to execute the model training method described in the above embodiments, or to cause the chip within the training device to execute the model training method described in the above embodiments. Optionally, the storage unit can be a storage unit within the chip, such as a register or cache. Alternatively, the storage unit can be a storage unit located outside the chip within the wireless access device, such as a read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, such as random access memory (RAM).

[0268] For details, please refer to Figure 14 , Figure 14 This is a schematic diagram of a chip structure provided in an embodiment of this application. The model training method described in the embodiment corresponding to Figure 6 above can be used... Figure 14 This is implemented in the chip shown. Specifically, the chip can be represented as a neural network processor (NPU) 1400. The NPU 1400 is mounted as a coprocessor on the host CPU, and tasks are assigned by the host CPU. The core of the NPU is the arithmetic circuit 1403, and the controller 1404 controls the arithmetic circuit 1403 to retrieve data from the memory (weight memory or input memory) and perform calculations.

[0269] Optionally, the data encoding and decoding method described in the above embodiments can be provided by... Figure 14 The main CPU and NPU in the chip shown work together to complete this task.

[0270] In some implementations, the arithmetic circuit 1403 internally includes multiple processing engines (PEs). In some implementations, the arithmetic circuit 1403 is a two-dimensional pulsating array. The arithmetic circuit 1403 can also be a one-dimensional pulsating array or other electronic circuitry capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuit 1403 is a general-purpose matrix processor.

[0271] For example, suppose we have an input matrix A, a weight matrix B, and an output matrix C. The arithmetic circuit retrieves the corresponding data of matrix B from the weight memory 1402 and caches it in each PE of the arithmetic circuit. The arithmetic circuit retrieves the data of matrix A from the input memory 1401 and performs matrix operations with matrix B. The partial result or the final result of the obtained matrix is ​​stored in the accumulator 1408.

[0272] Unified memory 1406 is used to store input and output data. Weight data is directly transferred to weight memory 1402 via Direct Memory Access Controller (DMAC) 1405. Input data is also transferred to unified memory 1406 via DMAC.

[0273] BIU stands for Bus Interface Unit, which is used for interaction between the AXI bus and the DMAC and the Instruction Fetch Buffer (IFB) 1409.

[0274] The Bus Interface Unit (BIU) 1410 is used by the instruction fetch memory 1409 to fetch instructions from external memory, and also by the memory access controller 1405 to fetch the original data of the input matrix A or the weight matrix B from external memory.

[0275] The DMAC is mainly used to move input data from external memory DDR to unified memory 1406, or to weight data to weight memory 1402, or to input data to input memory 1401.

[0276] The vector computation unit 1407 includes multiple arithmetic processing units that further process the output of the computation circuit as needed, such as vector multiplication, vector addition, exponential operations, logarithmic operations, size comparisons, etc. It is mainly used for computation in non-convolutional / fully connected layers of neural networks, such as batch normalization, pixel-level summation, and upsampling of feature planes.

[0277] In some implementations, the vector computation unit 1407 can store the processed output vector in the unified memory 1406. For example, the vector computation unit 1407 can apply a linear function, or a nonlinear function, to the output of the computation circuit 1403, such as performing linear interpolation on feature planes extracted from a convolutional layer, or, for example, accumulating a vector of values ​​to generate activation values. In some implementations, the vector computation unit 1407 generates normalized values, pixel-level summed values, or both. In some implementations, the processed output vector can be used as activation input to the computation circuit 1403, for example, for use in subsequent layers of the neural network.

[0278] The instruction fetch buffer 1409 connected to the controller 1404 is used to store the instructions used by the controller 1404;

[0279] Unified memory 1406, input memory 1401, weighted memory 1402, and instruction fetch memory 1409 are all on-chip memories. External memory is proprietary to this NPU hardware architecture.

[0280] The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of the above program.

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

[0282] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0283] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.

[0284] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).

Claims

1. A data decoding method, characterized in that, The method includes: Obtain the bitstream, which is obtained by encoding CSI; The bitstream is processed to obtain a first feature representation and a second feature representation; the first feature representation is divided into multiple first sub-features along a first dimension; the second feature representation is divided into multiple second sub-features along a second dimension; the first dimension and the second dimension are different. Multiple third sub-features are obtained by performing attention-based operations on the multiple first sub-features; Multiple fourth sub-features are obtained by performing attention-based operations on the multiple second sub-features; The plurality of third sub-features and the plurality of fourth sub-features are fused to obtain a fusion result; the fusion result is used to reconstruct the CSI.

2. The method according to claim 1, characterized in that, The first dimension is the time delay dimension; the second dimension is the angle dimension.

3. The method according to claim 1 or 2, characterized in that, The processing of the bitstream to obtain a first feature representation and a second feature representation includes: The bitstream is processed to obtain a target feature representation; wherein the first feature representation and the second feature representation are obtained by segmenting the target feature representation along the channel dimension.

4. The method according to any one of claims 1 to 3, characterized in that, The fusion of the plurality of third sub-features and the plurality of fourth sub-features includes: The first similarity between different third sub-features among the plurality of third sub-features is interacted with each of the fourth sub-features based on attention to obtain the third feature representation; The second similarity between different fourth sub-features among the plurality of fourth sub-features is interacted with each of the third sub-features based on attention to obtain the fourth feature representation; The third feature representation and the fourth feature representation are fused.

5. The method according to claim 4, characterized in that, The step of performing an attention-based interaction between the first similarity between different third sub-features among the plurality of third sub-features and each of the fourth sub-features to obtain a third feature representation includes: A linear transformation is performed on the plurality of third sub-features to obtain the first Q matrix and the first K matrix corresponding to the plurality of third sub-features; A linear transformation is performed on the plurality of fourth sub-features to obtain the first V matrix corresponding to the plurality of fourth sub-features; Based on the first Q matrix, the first K matrix, and the first V matrix, a third feature representation is obtained through attention-based interaction.

6. The method according to claim 4 or 5, characterized in that, The step of performing an attention-based interaction between the second similarity between different fourth sub-features among the plurality of fourth sub-features and each of the third sub-features to obtain a fourth feature representation includes: By performing linear transformations on the plurality of fourth sub-features, the second Q matrix and the second K matrix corresponding to the plurality of fourth sub-features are obtained; A linear transformation is performed on the plurality of third sub-features to obtain the second V matrix corresponding to the plurality of third sub-features; Based on the second Q matrix, the second K matrix, and the second V matrix, a fourth feature representation is obtained through attention-based interaction.

7. The method according to any one of claims 1 to 6, characterized in that, The fusion result is specifically used to reconstruct the CSI through inverse Fourier transform.

8. A data encoding method, characterized in that, The method includes: Obtain the sparse matrix corresponding to CSI; The sparse matrix is ​​processed by a feature extraction network to obtain a feature representation; the feature extraction network includes convolutional layers of sizes NxN, Nx1, and 1xN; where N is a positive integer greater than 1. The feature representation is encoded to obtain a bitstream, which is then processed to obtain a first feature representation and a second feature representation. The first feature representation is divided into multiple first sub-features along a first dimension; the second feature representation is divided into multiple second sub-features along a second dimension; the first dimension and the second dimension are different. The multiple first sub-features are subjected to attention-based operations to obtain multiple third sub-features; the multiple second sub-features are subjected to attention-based operations to obtain multiple fourth sub-features; the multiple third sub-features and the multiple fourth sub-features are fused to obtain a fusion result; the fusion result is used to reconstruct the CSI.

9. The method according to claim 8, characterized in that, The process of obtaining the sparse matrix corresponding to the CSI includes: The sparse matrix corresponding to the CSI is obtained by performing a Fourier transform on the CSI.

10. A communication system, characterized in that, include: Encoder and decoder; The encoder is used to encode the CSI to obtain a bitstream; The bitstream is transmitted to the decoder; The decoder is used to perform the method as described in any one of claims 1 to 7.

11. The system according to claim 10, characterized in that, When encoding CSI, the encoder is specifically used to perform methods such as those in claim 8 or 9.

12. A data decoding device, characterized in that, The device includes: An acquisition module is used to acquire a bitstream; the bitstream is obtained by encoding CSI. A decoding module is used to process the bitstream to obtain a first feature representation and a second feature representation; the first feature representation is divided into multiple first sub-features along a first dimension; the second feature representation is divided into multiple second sub-features along a second dimension; the first dimension and the second dimension are different. Multiple third sub-features are obtained by performing attention-based operations on the multiple first sub-features; Multiple fourth sub-features are obtained by performing attention-based operations on the multiple second sub-features; The plurality of third sub-features and the plurality of fourth sub-features are fused to obtain a fusion result; the fusion result is used to reconstruct the CSI.

13. The apparatus according to claim 12, characterized in that, The first dimension is the time delay dimension; the second dimension is the angle dimension.

14. The apparatus according to claim 12 or 13, characterized in that, The decoding module is specifically used for: The bitstream is processed to obtain a target feature representation; wherein the first feature representation and the second feature representation are obtained by segmenting the target feature representation along the channel dimension.

15. The apparatus according to any one of claims 12 to 14, characterized in that, The decoding module is specifically used for: The first similarity between different third sub-features among the plurality of third sub-features is interacted with each of the fourth sub-features based on attention to obtain the third feature representation; The second similarity between different fourth sub-features among the plurality of fourth sub-features is interacted with each of the third sub-features based on attention to obtain the fourth feature representation; The third feature representation and the fourth feature representation are fused.

16. The apparatus according to claim 15, characterized in that, The decoding module is specifically used for: A linear transformation is performed on the plurality of third sub-features to obtain the first Q matrix and the first K matrix corresponding to the plurality of third sub-features; A linear transformation is performed on the plurality of fourth sub-features to obtain the first V matrix corresponding to the plurality of fourth sub-features; Based on the first Q matrix, the first K matrix, and the first V matrix, a third feature representation is obtained through attention-based interaction.

17. The apparatus according to claim 15 or 16, characterized in that, The decoding module is specifically used for: By performing linear transformations on the plurality of fourth sub-features, the second Q matrix and the second K matrix corresponding to the plurality of fourth sub-features are obtained; A linear transformation is performed on the plurality of third sub-features to obtain the second V matrix corresponding to the plurality of third sub-features; Based on the second Q matrix, the second K matrix, and the second V matrix, a fourth feature representation is obtained through attention-based interaction.

18. The apparatus according to any one of claims 12 to 17, characterized in that, The fusion result is specifically used to reconstruct the CSI through inverse Fourier transform.

19. A data processing apparatus, characterized in that, The device includes a memory and a processor; the memory stores code, and the processor is configured to retrieve the code and perform the method as described in any one of claims 1 to 9.

20. A computer storage medium, characterized in that, The computer storage medium stores one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the method of any one of claims 1 to 9.

21. A computer program product, characterized in that, The computer program product includes code that, when executed, performs the steps of the method according to any one of claims 1 to 9.