CSI compression improvements via history-dependent latent space quantization

History-dependent latent space quantization in CSI compression addresses complexity and interoperability issues by processing time-based information in quantization stages, enhancing efficiency and accuracy in wireless communications.

WO2026033319A1PCT designated stage Publication Date: 2026-02-12NOKIA TECHNOLOGIES OY
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2025/057688
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-05
Filing Date
2025-07-29
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Existing CSI compression methods in wireless communications, particularly in 5G and future generations of Massive MIMO networks, face challenges in achieving efficient compression with minimal loss while managing high computational complexity and interoperability between devices from different vendors.

Method used

Implementing history-dependent latent space quantization by performing time-based processing in the quantization/inverse quantization stage, rather than during dimensionality reduction, using windowed or recurrent quantizers/inverse quantizers to exploit the time dimension, reducing complexity and facilitating interoperability.

Benefits of technology

This approach achieves reduced computational complexity and improved CSI compression efficiency with enhanced interoperability between devices from different vendors, maintaining accurate CSI reconstruction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2025057688_12022026_PF_FP_ABST
    Figure IB2025057688_12022026_PF_FP_ABST
Patent Text Reader

Abstract

SF encoding is performed of a CSI matrix to form a latent vector quantized using a quantizer that forms a bit vector The quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value is generated by the SF encoding or by the quantizer. The bit vector is transmitted. Inverse quantization of the bit vector is performed, using an inverse quantizer that forms an estimated latent vector. The inverse quantizer during a current time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value is a delayed version of the bit vector or is generated by the inverse quantizer. SF decoding is performed of the estimated latent vector to form an estimated CSI matrix.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CSI Compression Improvements via History-Dependent Latent Space Quantization CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims priority from, and the benefit of, US Provisional Application No.63 / 679224, filed August 5, 2024, which is hereby incorporated by reference in its entirety. TECHNICAL FIELD

[0002] Examples of embodiments herein relate generally to wireless communications and, more specifically, relate to channel state information (CSI) encoding and decoding in wireless communications. BACKGROUND

[0003] As an introduction, an overview is provided of the encoding and decoding process for channel state information (CSI) in a cellular system. CSI refers to the information about the channel properties of a communication link. In cellular systems, CSI is crucial to determine beamforming weights that are used to efficient transmits information toward target users and suppress interference.

[0004] CSI may be represented through a matrix of complex values, which is encoded by a space-frequency (SF) encoder, the output of which is transmitted (e.g., possibly after additional processing) to a decoder, which is a space-frequency decoder. The SF encoder processes the CSI matrix and compresses the matrix into a lower-dimensional representation referred to as a latent vector, which is often quantized for transmission to a decoder. The SF decoder takes this (e.g., typically quantized) latent vector and reconstructs the estimated CSI matrix, attempting to closely match the original CSI matrix.

[0005] In more detail, the encoding process begins with an input CSI matrix, which is a matrix of complex numbers describing the channel gains from each transmit antenna to each receive antenna for a collection of frequency bands. The SF encoder performs feature extraction, where the encoder extracts important features from the CSI matrix, capturing the essential characteristics of the channel. The SF encoder also performs dimensionality reduction: using techniques such as neural networks, such as autoencoders, or other machine learning methods, the encoder reduces the high-dimensional CSI matrix into a lower-dimensional latent vector. This step effectively compresses the CSI information, retaining the most significant patterns and discarding less critical data. In particular, the latent vector is a compressed form of the CSI matrix that retains the essential features necessary for accurate reconstruction. That is, the latent vector represents a summary of the channel's spatial and frequency characteristics in a lower-dimensional space. The dimensionality of the latent vector is typically much smaller than that of the original CSI matrix, which helps in reducing computational complexity and communication overhead. The output of the SF encoder is the latent vector.

[0006] The decoding process starts with latent vector input, where the latent vector has been quantized, and inverse quantization of the latent vector is performed. The SF decoder performs reconstruction at least by using the latent vector to reconstruct the estimated CSI matrix. The SF decoder applies a series of operations to expand the latent vector back into a higher-dimensional matrix. The decoder aims to minimize the reconstruction error, ensuring that the estimated CSI matrix is as close as possible to the original CSI matrix. The final output of the SF decoder is the estimated CSI matrix, which is used by the cellular system for various tasks such as beamforming, power allocation, and other optimizations.

[0007] While the space-frequency encoding and decoding process leverages machine learning and signal processing techniques to efficiently handle CSI in cellular systems, and improves overall communication performance, the space-frequency encoding and decoding process can still be improved. BRIEF SUMMARY

[0008] This section is intended to include examples and is not intended to be limiting.

[0009] In an exemplary embodiment, a method is disclosed that includes in an encoding process for channel state information in a communication system, performing, by a space-frequency encoder, space-frequency encoding of a channel state information matrix to form a latent vector; quantizing the latent vector using a quantizer that forms a bit vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is generated by the space-frequency encoder or by the quantizer; and transmitting at least the bit vector on a bitstream.

[0010] An additional exemplary embodiment includes a computer program, comprising instructions for performing the method of the previous paragraph, when the computer program is run on an apparatus. The computer program according to this paragraph, wherein the computer program is a computer program product comprising a computer-readable medium bearing the instructions embodied therein for use with the apparatus. Another example is the computer program according to this paragraph, wherein the program is directly loadable into an internal memory of the apparatus.

[0011] An exemplary apparatus includes one or more processors and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in an encoding process for channel state information in a communication system, performing, by a space-frequency encoder, space-frequency encoding of a channel state information matrix to form a latent vector; quantizing the latent vector using a quantizer that forms a bit vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is generated by the space-frequency encoder or by the quantizer; and transmitting at least the bit vector on a bitstream.

[0012] An exemplary computer program product includes a computer-readable storage medium bearing instructions that, when executed by an apparatus, cause the apparatus to perform at least the following: in an encoding process for channel state information in a communication system, performing, by a space-frequency encoder, space-frequency encoding of a channel state information matrix to form a latent vector; quantizing the latent vector using a quantizer that forms a bit vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is generated by the space-frequency encoder or by the quantizer; and transmitting at least the bit vector on a bitstream.

[0013] In another exemplary embodiment, an apparatus comprises means for: in an encoding process for channel state information in a communication system, performing, by a space-frequency encoder, space- frequency encoding of a channel state information matrix to form a latent vector; quantizing the latent vector using a quantizer that forms a bit vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is generated by the space-frequency encoder or by the quantizer; and transmitting at least the bit vector on a bitstream.

[0014] In an exemplary embodiment, a method is disclosed that includes in a decoding process for channel state information in a communication system, performing inverse quantization of a bit vector, received in a bitstream, using an inverse quantizer that forms an estimated latent vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the inverse quantizer during a current time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is a delayed version of the bit vector or is generated by the inverse quantizer; and performing space-frequency decoding, by a space- frequency decoder, of the estimated latent vector to form an estimated channel state information matrix; and outputting the estimated channel state information matrix.

[0015] An additional exemplary embodiment includes a computer program, comprising instructions for performing the method of the previous paragraph, when the computer program is run on an apparatus. The computer program according to this paragraph, wherein the computer program is a computer program product comprising a computer-readable medium bearing the instructions embodied therein for use with the apparatus. Another example is the computer program according to this paragraph, wherein the program is directly loadable into an internal memory of the apparatus.

[0016] An exemplary apparatus includes one or more processors and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in a decoding process for channel state information in a communication system, performing inverse quantization of a bit vector, received in a bitstream, using an inverse quantizer that forms an estimated latent vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the inverse quantizer during a current time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is a delayed version of the bit vector or is generated by the inverse quantizer; and performing space-frequency decoding, by a space-frequency decoder, of the estimated latent vector to form an estimated channel state information matrix; and outputting the estimated channel state information matrix.

[0017] An exemplary computer program product includes a computer-readable storage medium bearing instructions that, when executed by an apparatus, cause the apparatus to perform at least the following: in a decoding process for channel state information in a communication system, performing inverse quantization of a bit vector, received in a bitstream, using an inverse quantizer that forms an estimated latent vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the inverse quantizer during a current time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is a delayed version of the bit vector or is generated by the inverse quantizer; and performing space-frequency decoding, by a space-frequency decoder, of the estimated latent vector to form an estimated channel state information matrix; and outputting the estimated channel state information matrix.

[0018] In another exemplary embodiment, an apparatus comprises means for: in a decoding process for channel state information in a communication system, performing inverse quantization of a bit vector, received in a bitstream, using an inverse quantizer that forms an estimated latent vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the inverse quantizer during a current time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is a delayed version of the bit vector or is generated by the inverse quantizer; and performing space-frequency decoding, by a space- frequency decoder, of the estimated latent vector to form an estimated channel state information matrix; and outputting the estimated channel state information matrix. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings use reference numerals, where the same reference numerals may be used to refer to like parts throughout, but parts having the same reference numeral can differ in operation and components. In the attached drawings:

[0020] FIG.1 is a block diagram of a channel state information feedback loop in a wireless communication system;

[0021] FIG.2 is a block diagram of a typical ML-based CSI compression scheme, including SF encoder, quantizer, inverse quantizer, and SF decoder;

[0022] FIG.3A is a block diagram of a feedforward scheme for SFT CSI compression schemes;

[0023] FIG.3B is a block diagram of a recurrent scheme for SFT CSI;

[0024] FIG.4A is a block diagram of a feedforward scheme for an SFT CSI compression scheme, where the output at a current time slot (e.g., t) depends on past inputs in a previous time slot (e.g., t-1) in addition to the input at the current time slot, and the quantizer is history dependent while the SF encoder is not;

[0025] FIG.4B is a block diagram of a recurrent scheme for an SFT CSI compression scheme, where the output at a current time slot (e.g., t) depends on past inputs (in a previous time slot, e.g., t-1) in addition to the input at the current time slot, and the quantizer is history dependent while the SF encoder is not;

[0026] FIG.5 is a block diagram of a modified architecture of FIG.4B, in which the recurrent quantizer includes as a submodule a copy of the recurrent inverse quantizer;

[0027] FIG.5A is a block diagram of another way of forming the modified architecture of FIGS.4B and 5;

[0028] FIGS.6A and 6B are block diagrams of simple example architectures for the corrective quantizer (FIG. 6A) and recurrent inverse quantizer (FIG.6B), respectively, and include neural network architectures for realizing the corresponding quantization submodules depicted in FIG.5;

[0029] FIG.7 illustrates a working principle behind uncertainty tracking;

[0030] FIG.8 is a graph of squared generalized cosine similarity versus overhead (in bits) tradeoff for various CSI compression schemes; and

[0031] FIG.9 is a block diagram of one possible and non-limiting exemplary system in which the exemplary embodiments may be practiced. DETAILED DESCRIPTION OF THE DRAWINGS

[0032] Abbreviations that may be found in the specification and / or the drawing figures are defined below, at the end of the detailed description section.

[0033] The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. All of the embodiments described in this Detailed Description are exemplary embodiments provided to enable persons skilled in the art to make or use the examples.

[0034] When more than one drawing reference numeral, word, or acronym is used within this description with “ / ”, and in general as used within this description, the “ / ” may be interpreted as “or”, “and”, or “both”. As used herein, “at least one of the following: ” and “at least one of ” and similar wording, where the list of two or more elements are joined by “and” or “or,” mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.

[0035] As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising”, “has”, “having”, “includes” and / or “including”, when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.

[0036] It is noted that capital and lowercase words or phrases are considered to be the same herein. For instance, the words Slice and slice are the same, as are the phrases Network Repository Function and network repository function.

[0037] Block diagrams 1, 2, 3A, 3B, 4A, 4B, 5, and 5A are considered to be logic flow diagrams, and illustrate the operation of exemplary methods, results of execution of computer program instructions embodied on a computer readable memory, and / or functions performed by logic implemented in circuitry.

[0038] Technical context is now provided for technical areas related to the understanding of the examples.5G (fifth generation) and future generations of Massive MIMO (Multiple input, multiple output) wireless networks employ a large number of service antennas at the base station to achieve precision downlink beamforming, which relies on accurate downlink channel state information. Via downlink pilots, the downlink channel state information can be estimated at the UE (user equipment e.g., a wireless, typically mobile device) and fed back to the base station for downlink beamforming. For Massive MIMO with many service antennas, the channel state information includes large matrices and frequent feedback is required to keep up with changing channel conditions in mobile applications.3GPP (third generation partnership project) standards seek to minimize the upstream communication overhead required to convey this channel state information feedback using compression techniques. The higher the compression and the less the loss, the better.

[0039] Multiple data streams can be sent to each UE. Each data stream within a UE is called a layer. Downlink transmission performs beamforming to each layer, based on the channel state information (CSI).

[0040] As depicted in FIG.1, a block diagram is shown of a channel state information feedback loop in a wireless communication system 100. A network node 70 (e.g., a BS, base station) broadcasts known pilot or sounding signals (shown as pilot transmissions 155 via an antenna array 58) over a downlink channel 160 to allow a user equipment (UE) 10, such as a cell phone or other mobile (or stationary) device, to estimate (via channel estimation 110) an array of complex channel coefficients from each network node antenna port to a given UE antenna port, on multiple frequencies. The estimated channel matrix 115 at time ^^^^, denoted ^^^^^^^^, may be then further processed (by channel processing 120) to obtain an estimated channel state information matrix 125, ^^^^^^^^. For example, the channel state may be equal to the channel matrix, or it may be constructed by singular value decomposition of ^^^^^^^^. An encoder (CSI encoding 130) maps each matrix ^^^^^^^^to a binary message 135 ^^^^^^^^(encoded CSI) suitable for transmission over the uplink channel 170 to the network node 70. The network node 70 receives the binary message ^^^^^^^^and decodes it (using CSI decoding 140) to obtain a reconstructed CSI matrix 145, ^�^^^^^^^. This reconstructed CSI 145 is then used by the network node to make scheduling decisions and compute beamforming weights (in scheduling / beamforming 150) that allow high data rate downlink communication of data to the UE.

[0041] The purpose of the CSI encoding 130 and decoding 140 is to find an efficient representation that minimizes the size of the binary message ^^^^^^^^while maximizing the accuracy of the reconstructed CSI ^�^^^^^^^. The combination of CSI encoder 130 and CSI decoder 140 can be referred to as a CSI compression scheme.

[0042] Another topic is space-frequency compression, then the topic of space-frequency-time compression is described. Consider first space-frequency (SF) CSI compression.

[0043] In this scenario, there is a matrix ^^^^^^^^at time ^^^^ that quantifies the channel state as a function of “space” (i.e., network-side antenna index) and frequency (i.e., subband in an OFDM, orthogonal frequency division multiplexing, system). An encoder in the UE takes the complex CSI matrix ^^^^^^^^and generates a vector of bits ^^^^^^^^. These bits are transmitted to the network node. A decoder in the network node takes the bit vector ^^^^^^^^as input and then generates an estimate of the CSI matrix, denoted ^�^^^^^^^.

[0044] Current 3GPP standards include several types of model-based encoder / decoder pairs that can be used. The term “model-based” means that the encoder / decoder algorithm is designed by experts based on an expert understanding of the typical properties of CSI. Some of the key methods are as follows.

[0045] 1) Type I feedback: selecting each column of ^�^^^^^^^from a pre-defined set of DFT (Discrete Fourier transform) beams.

[0046] 2) Type II feedback: forming columns of ^�^^^^^^^as linear combinations of DFT beams, or in otherwards, applying DFTs to columns to obtain sparse representations of ^^^^^^^^.

[0047] 3) Enhanced type II feedback: Applying DFTs to columns and rows to obtain a “doubly sparse” representation of ^^^^^^^^.

[0048] Efficient quantization code books are used to convert the sparse representation to and from explicit bit vectors.

[0049] As shown in FIG.2, another important category of SF compression is learning-based, i.e., using machine learning. In this approach, an autoencoder (which is both an encoder and decoder) is trained (via an SF encoder 230) to map ^^^^^^^^to a low dimensional latent vector 210, ^^^^^^^^, and then back to an estimated CSI matrix 255, ^�^^^^^^^. A quantization scheme is then added (via the quantizer 220) that can map a given latent vector 210 ^^^^^^^^to a bit vector 235, ^^^^^^^^, that is carried in a bitstream 201, and then back to an approximation ^̂^^^^^^^of the estimated latent vector 250 using the inverse quantizer 245. An SF decoder 240 decodes the ^̂^^^^^^^to form the estimated CSI matrix 255, ^�^^^^^^^. Learning-based compression schemes of this type have been extensively studied in a 3GPP study item. See section 8, Conclusions, under the sub-heading CSI compression sub use case, for 3GPP TR 38.843, Study on Artificial Intelligence (AI) / Machine Learning (ML) for NR air interface, December 2023.,

[0050] Space-frequency-time CSI compression is described now. A second category of CSI compression is Space-Frequency-Time (SFT) compression. Learning-based approaches to SFT CSI compression have been discussed recently in a 3GPP study item. See Learning (ML) for NR Air Interface, 3GPP TSG RAN Meeting #102, Edinburgh, Scotland, December 11-15, 2023. See the par concerning CSI feedback enhancement [RAN1]:

[0051] “For CSI compression (two-sided model), further study ways to:

[0052] Improve trade-off between performance and complexity / overhead e.g., considering extending the spatial / frequency compression to spatial / temporal / frequency compression, cell / site specific models, CSI compression plus prediction (compared to Rel-18 non-AI / ML based approach), etc.”

[0053] One example of a goal is to improve compression efficiency by exploiting correlation between successive CSI matrices ^^^^^^^^−1,^^^^^^^^. Intuitively, if ^^^^^^^^is very similar to ^^^^^^^^−1, then fewer bits should be required to express ^^^^^^^^once ^^^^^^^^−1is already approximately known. It is also noted that there may be methods to choose the required of bits to send dynamically based on need, instead of fixing the bit size and improving (e.g., maximizing) the reconstruction performance for the fixed size.

[0054] Two versions of an SFT CSI compression scheme that have been proposed are depicted in FIGS.3A and 3B. In a feedforward approach, depicted in FIG.3A, the input to the SF encoder 230 is augmented by a delayed version (by the delay 310) of the CSI matrix, so that the encoder receives both ^^^^^^^^and ^^^^^^^^−1as input. This can be generalized to multiple inputs at multiple delays. Likewise, the SF decoder 240 can be augmented by delayed versions ^̂^^^^^^^−1(by delay 320) of the estimated latent vector ^̂^^^^^^^. In a recurrent approach (FIG.3B) the SF encoder 230 outputs a state vector ^^^^^^^^^^^^, and a delayed version (by delay 330) ^^^^^^^^^^^−^1 of the state becomes an input. Likewise, the SF decoder 240 maintains a state vector ^^^^^^^^^^^^that is delayed delay 340 to form an input of ^^^^^^^^^^^−^1. Through the use of state information, the output of the SF compression scheme can depend on all past inputs ^^^^^^^^,^^^^^^^^−1,^^^^^^^^−2, …. In general, one could also consider mixing for example afeedforward decoder with a recurrent encoder, or vice versa.

[0055] Some examples reported in the 3GPP study item have shown that the SFT structure of FIG.3B can be used to obtain much better compression than the scheme of FIG.2. That is, the accuracy of ^�^^^^^^^can be significantly increased for given size of binary message ^^^^^^^^, or the size of the binary message ^^^^^^^^can besignificantly reduced for a given accuracy of ^�^^^^^^^.

[0056] A description of problems is provided now. Although the approach of FIG.3B can achieve better performance than that of FIG.2, by exploiting the time dimension, in the results reported so far, this performance comes at a cost of significant complexity in computation and memory. Typically, the state vector must be of considerable size to get good performance, which means that both the input dimension and the output dimension of the SF encoder and decoder are significantly bigger in FIG.3B than in FIG.2. As a result, typical ML architectures require many more computations and parameters to implement FIG.3B compared with FIG.2.

[0057] Another technical challenge related to interoperability occurs when, as is typical, the UE and network node are manufactured by different vendors. For SF compression, the 3GPP study item has considered methods to achieve interoperability without requiring explicit sharing of architectures and implementations between vendors. For example, the SF decoder may be implicitly defined by a sufficiently large data set of input output pairs {^̂^^^^^^^,^�^^^^^^^}, allowing a UE vendor to develop a learning-based encoder compatible with the specified SF decoder.

[0058] This may be possible with a recurrent SFT compression scheme as well, but it would probably require an order of magnitude larger dataset sizes, and likely longer training times. For example, because the output of the SF decoder can depend on the past, the data sets that implicitly define the decoder would have to includelong sequences of the form {^^^^0, ^^^^1, … , ^^^^^^^^;^^^^0,^^^^1, … ,^^^^^^^^}. Also, the dataset would need to include not onlydifferent examples of SF of many different time behaviors (fast changing, slow changing, or the like).

[0059] Examples herein address these and other problems. Overviews are provided now and further details are provided below. One example of a feature of the examples helps to reduce the complexity of SFT compression. An additional feature contained in some embodiments can help to simplify the interoperability between vendors compared with the recurrent example of FIG.3B.

[0060] One feature is to implement SFT compression by performing the time-based processing in the quantization / inverse quantization stage (e.g., in a quantizer) instead of during the dimensionality reduction stage (e.g., in the SF encoder 230). That is, the space-frequency encoder of FIG.2 is used for dimensionality reduction, and then the quantizer is modified to exploit the time dimension. Likewise, the space-frequency decoder of FIG.2 is used for dimensionality expansion, and the inverse quantizer is modified to exploit the time dimension.

[0061] Two exemplary approaches are depicted in FIG.4A and 4B. In FIG.4A, there is a (CSI) encoder 405- 1, implemented by a UE 10, and a (CSI) decoder 495-1, implemented by a network node 70. In FIG.4A, the windowed quantizer 450 input is augmented by one or more delayed copies ^^^^^^^^−1(by delay 410) of the latent vector ^^^^^^^^, while the windowed inverse quantizer 460 input is augmented by one or more delayed copies ^^^^^^^^−1 (by delay 420) of the binary message ^^^^^^^^. The delayed copies for the CSI 405-1 are quantization inputs saved from a previous time slot and from the latent vector, and the windowed quantizer 450 takes as inputs both quantization inputs from the latent vector in a current time slot and quantization inputs from the latent vector saved from a previous time slot. The delayed copies for the CSI decoder 490-1 are bit vector inputs saved from a previous time slot and from the bit vector 235 (carried on the bitstream 201), and the windowed inverse quantizer 460 takes as inputs both inputs from the bit vector 235 in a current time slot and inputs from the bit vector 235 saved from a previous time slot. This structure is referred to as a windowed quantizer / windowed inverse quantizer, since the current output depends on a finite window of past inputs.

[0062] In FIG.4B, the (CSI) encoder 405-2, implemented by a UE 10, and the (CSI) decoder 495-2, implemented by a network node 70, are illustrated, though different quantizers are used as compared to the quantizers in FIG.4A. In FIG.4B, the recurrent quantizer 470 outputs a state vector ^^^^^^^^^^^^along with the binary message (bit vector ^^^^^^^^, carried on the bitstream 201), and this state vector is delayed (by delay 430) to form ^^^^^^^^^^^^−1before also being provided as an input to the recurrent quantizer 470. These are referred to as delayed outputs saved from a previous time slot. The recurrent quantizer 470 takes as inputs both quantization inputs from the latent vector in a current time slot and quantization outputs saved from a previous time slot. Similarly, the recurrent inverse quantizer 480 generates and uses a state vector ^^^^^^^^^^^^, which is delayed by delay 440 to form ^^^^^^^^^^^^−1that is input to the recurrent inverse quantizer 480. This structure is referred to as a recurrent quantizer / recurrent inverse quantizer, since the output depends in principle on the entire past history of inputs. Other combinations are also possible, such as pairing a recurrent quantizer with a windowed inverse quantizer.

[0063] It is noted that the Q and I in FIG.4B stand for quantizer and inverse quantizer, respectively. Further, the state vectors are internal variables of encoder and decoder rather than the input / output of them. They are not quantized and used as feedback. In further detail, the term “state vector” as used here means a vector of “state variables”. The idea of state variables is that, in a dynamical system, the state variables capture everything about the past that affects future behavior of the system. The output of the system and the future state variables depend only on the most recent state variables and the current input. That is, the current input ^^^^^^^^and most recent state variable ^^^^^^^^^^^^−1are used to generate the output of the system and future state variable ^^^^^^^^^^^^.

[0064] For both FIGS.4A and is assumed that the SF encoder 230 and SF decoder 240 are already trained. Alternatively, the combination of SF encoder, quantizer, inverse quantizer, and SF decoder can all be trained jointly. The corresponding quantizers 450, 460, 470, and 480 would then be subsequently trained. It is also noted that one could consider mixing these structures. For instance, mixing the CSI encoder 405-1 with the CSI decoder 495-2, or the CSI encoder 405-2 with the CSI decoder 495-1, or the CSI encoder 405-1 with a CSI decoder that includes the SF decoder 240 but no quantizer. Other options are possible. These mixed structures would need to be trained accordingly, however.

[0065] With respect to complexity, one advantage of the examples herein is that the scheme can have reduced complexity, relative to the SFT compression of FIGS.3A / 3B, because the time-based processing is performed in a reduced dimensional space, using latent vectors as input rather than CSI matrices. For example, comparing FIG.3A and FIG.4A, a typical CSI matrix may have 32 antennas and 13 subbands, for a total dimension of 416, while a typical latent vector may have 64 dimensions. In FIG.3A, adding delayed input to the SF encoder 230 adds 416 dimensions to the input, while in FIG.4A, similarly adding delayed input to the windowed quantizer 450 only adds 64 dimensions to the input. These differences increase when moving to larger antenna arrays and wider frequency bands.

[0066] Anecdotally, it has been observed that the process of training an SF encoder / decoder pair for a specific latent vector dimension tends to generate latent vectors whose components are statistically homogeneous and approximately independent of each other. Thus, latent vectors have relatively simple statistical structure that can be exploited by relatively lightweight processing in FIGS.4A / 4B, compared with the processing required in FIGS.3A / 3B.

[0067] Regarding interoperability, in some embodiments herein, a recurrent quantizer 470 and recurrent inverse quantizer 480 can be implemented via a simple, explicit algorithm that does not require learning. This is advantageous for standardization and interoperability. The SF encoder 230 and SF decoder 240 can be made interoperable, using methods currently proposed in 3GPP, such as shared datasets, while the quantizer and inverse quantizer are simple enough to explicitly specify in standards.

[0068] Now that an overview has been provided, additional details are provided. One architecture is first described for a recurrent quantizer and inverse quantizer, which has been found to work well. Two embodiments of this architecture are described in more detail, one that is learning based and one that is not.

[0069] One architecture is a special case of FIG.4B, and is depicted in FIG.5. In FIG.5, the (CSI) encoder 405-3, implemented by a UE 10, and the (CSI) decoder 495-2, implemented by a network node 70, are illustrated. The recurrent quantizer 470 for the CSI encoder 405-3 has a special structure that is a special case of the structure shown in FIG.4B. The recurrent inverse quantizer 480 is the same as shown in FIG.4B, with outputs being the estimated latent vector and the state vector, and with the inputs being the binary message and the delayed state vector. The recurrent quantizer 470 has a special structure as depicted in FIG.5, consisting of two modules. The first module inside the recurrent quantizer 470 is a copy of the recurrent inverse quantizer 480. The recurrent inverse quantizer 480 is fed the same input (^^^^^^^^) as the recurrent inverse quantizer 480 at the network node 70, although this is delayed by delay 530 to form ^^^^^^^^−1, and so its output vectors ^̂^^^^^^^−1and ^^^^^^^^^^^^−1computed at the UE 10 are exactly the same as the corresponding vectors computed at the network The delay 430 creates a state vector ^^^^^^^^^^^^−2previously output by the recurrent inverse quantizer and a time slot prior to the previous time slot. The second module is the corrective quantizer 550, which takes as input the latent vector ^^^^^^^^from the SF encoder 230 as well as the locally computed values of the (delayed) estimated latent vector ^̂^^^^^^^−1. The output of the second module is the binary message to send to the network node.

[0070] Referring to FIG.5A, this figure is a block diagram of another way of forming the modified architecture of FIGS.4B and 5. This example has a modified CSI encoder 405-4, where the recurrent inverse quantizer 480 outputs the estimated latent vector ^̂^^^^^^^and the state vector ^^^^^^^^^^^^, both of which are delayed by delay 540, to form delayed versions of the estimated latent vector ^̂^^^^^^^−1and the state vector ^^^^^^^^^^^^−1, which are inputs to the corrective quantizer 550. The corrective quantizer 550 therefore has an input in the current time slot of a latent vector ^^^^^^^^and inputs from a previous time slot of the estimated latent vector ^̂^^^^^^^−1and the state vector ^^^^^^^^^^^^−1. The corrective quantizer 550 uses these inputs when forming the bit vector 235 ^^^^^^^^.

[0071] It is noted that the delays 530 and 540 may be moved various places and still produce the same mathematical result. For instance, delay 530 of FIG.5 could be moved to where delay 540 of FIG.5A is. Furthermore, while both the estimated latent vector ^̂^^^^^^^−1and the state vector ^^^^^^^^^^^^−1are shown being used by the corrective quantizer 550, either one of these vectors may be used by

[0072] One motivation for this particular structure is that the UE copy of the recurrent inverse quantizer 480 allows the recurrent quantizer 470 to understand what the network side recurrent inverse quantizer 480 already “knows” about the latent vector sequence based on past messages. The corrective quantizer 550 then expresses via the binary message ^^^^^^^^information that best improves the network side’s knowledge of ^^^^^^^^. This intuition will be made more explicit in the case of uncertainty interval tracking, explained further below.

[0073] In this architecture, it is assumed that SF encoder 230 / SF decoder 240 pair are previously trained, using, e.g., methods previously discussed in 3GPP in the context of SF-based CSI compression.

[0074] For the examples in FIGS.4A, 4B, 5, and 5A, for the encoder 405, this performs quantizing the latent vector using a quantizer that forms a bit vector and operates over at least current and previous time slots. The previous time slot is before (e.g., and immediately adjacent in time to) the current time slot. The quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is generated by the encoder (e.g., ^^^^ ) or by t^^^^^^^^−1he quantizer (e.g., ^^^^^^^^−1). For the decoder 495, this performs quantizing the bit vector using an inverse quantizer that forms an estimated latent vector and operates over at least current and previous time slots. The inverse quantizer during a current time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is a delayed version of the bit vector (e.g., ^^^^^^^^−1) or is generated by the quantizer (e.g., ^^^^^^^^^^^^−1).

[0075] A learning-based embodiment is described now. Architecture is considered first. In a learning-based example, the corrective quantizer module 550 and recurrent inverse quantizer 480 are both implemented using deep neural networks, where implementation of deep neural networks is known. For example, the networks may contain fully connected layers, convolutional layers, or transformer components. The recurrent inverse quantizer may be based on a simple recurrent structure or on more specialized recurrent models such as LSTM (long short-term memory). An example of a deep neural network architecture for the recurrent inverse quantizer and corrective quantizer modules is shown in FIGS.6A and 6B, which are block diagrams for (one version of) the corrective quantizer (FIG.6A) and recurrent inverse quantizer (FIG.6B), respectively, and include neural network architectures for realizing the corresponding quantization submodules depicted in FIG. 5. These are representations of simple example architectures, and many other architectures are possible. It is also noted that FIGS.6A / 6B are for the learning-based embodiment, not the uncertainty interval tracking embodiment. The corrective quantizer 550 in FIG.6A includes a concatenation (concat) layer that acts on the 128 real values 610 of ^^^^^^^^and ^̂^^^^^^^−1, four fully connected (FC) layers are alternated with ReLU (rectified linear activation function) activations (LReLU), followed by a hyperbolic tangent layer (TanH) and binary quantization (1-bit Q), which produces 128x1-bit values 620 of ^^^^^^^^. The real values could be, for instance, fixed or floating- point values. The recurrent inverse quantizer 480 in FIG.6B has a similar architecture, but without the hyperbolic tangent and quantization steps. The input 630 is ^^^^^^^^and ^^^^^^^^^^^^−1, and the output 640 is ^̂^^^^^^^and ^^^^^^^^^^^^. In this example, ^^^^^^^^^^^^is a copy of ^̂^^^^^^^.

[0076] Training is described now. The encoder 405 and decoder 495 may participate in training. For instance, a database of CSI matrices {^^^^^^^^} may be fed through an SF encoder 230 to generate a database of latent vectors {^^^^^^^^}. Using this database as input, the modules 450, 460, 470, 480, and 550 can be trained as an autoencoder, that is, trained by stochastic gradient descent to minimize the mean-squared error between inputs ^^^^^^^^and outputs ^̂^^^^^^^. It is noted that mean squared error is one example of a distance function that may be used, and other similar metrics such as mean absolute error may be used. During training, known methods may be used to enforce the constraint that ^^^^^^^^is a binary message, while still allowing gradient computation. For example, the last layer in the corrective quantizer 550 may apply a signum function in forward training passes (enforcing a binary ^^^^^^^^), and this layer may be ignored during backpropagation of gradients. During training, the parameters of both copies of the recurrent inverse quantizer 480 (for FIGS.5 and 5A) should be forced to remain equal. This can be done for example by replacing both sets of parameters by the average over the two copies, after each gradient update. That is, if ^^^^^^^^^^^^^^^^and ^^^^^^^^^^^^^^^^are the network weights at UE andnetwork node respectively, after gradient update, they can be by ^^^^^^^^ ← 1 / 2(^^^^^^^^^^^^ ^^^^^^^^^^^^ + ^^^^^^^^ ) followed by ^^^^^^^^^^^^^^^^ ← ^^^^^^^^ and ^^^^^^^^^^^^^^^^ ← ^^^^^^^^. Another option uses the same weights at the UE and performs the gradient

[0077] The training just involves joint training of the encoder and decoder, which is a simple way to train the SF model, but possibly not preferable in practice. Instead, sharing datasets between encoder and decoder vendors may be more practical. There are such sharing training methos as different training methods discussed in 3GPP (see 3GPP TR 38.843), and any of the training methods there may be used.

[0078] Inferencing aspects are described now. Due to the dependency on the quantization scheme on past values, it is recommended to synchronize the state vectors at the UE-side and network side when beginning touse the examples herein. At time ^^^^ = 0, the state vector and estimated latent vector can both be set to zero forexample. Then for time ^^^^ = 1,2, … the inference operation proceeds sequentially, using, e.g., the structuredepicted in FIG.5.

[0079] An algorithmic example is described now that is referred to herein as uncertainty interval tracking. This is an explicitly designed example. This example implements the architecture of FIG.5 using a simple explicit algorithm that performs well in testing.

[0080] The motivation from the scheme is depicted in FIG.7. which illustrates a working principle behinduncertainty tracking. On the left side 702, the development of the uncertainty interval [^̌^^^, ^̂^^^] from time ^^^^ − 1 totime ^^^^ when ^^^^^^^^ = 1 is sent; on the right side 701, the development of the uncertainty interval [^̌^^^, ^̂^^^] from time^^^^ − 1 to time ^^^^ when ^^^^^^^^ = 0 is sent. Suppose there is a scalar signal ^^^^^^^^ (curve 710) that is known or expectedto increase or decrease by no more than a value ^^^^ from one time step to the next. Suppose that an inversequantizer knows that the signal was between certain limits at time ^^^^ − 1, that is, that ^̌^^^^^^^−1 ≤ ^^^^^^^^−1 ≤ ^̂^^^^^^^−1.This interval, referred to as the uncertainty interval, is depicted by circles 720. Then at could expectthat the signal should satisfy the expanded limits ^̌^^^^^^^−1 − ^^^^ ≤ ^^^^^^^^−1 ≤ ^̂^^^^^^^−1 + ^^^^ (circles 730). Suppose thatthe recurrent inverse quantizer 480 can ask one yes / no question about ^^^^^^^^to the corrective quantizer 550. In an example, the corrective quantizer 550 calculates ^^^^^^^^and ^^^^^^^^to answer the question of whether ^^^^^^^^is larger or smaller than ^^^^^^^^. To minimize the worst-case uncertainty about the value of ^^^^^^^^, the best questionwould be “is ^^^^^^^^ ≥ ^^^^^^^^ ≔ 1 / 2(^̌^^^^^^^−1 + ^̂^^^^^^^−1)”? The quantizer can send one bit to answer this question, afterwhich the inverse quantizer knows that either ^^^^^^^^ ≤ ^^^^^^^^ ≤ ^̂^^^^^^^−1 + ^^^^ (if ^^^^^^^^ = 1, left side 702 of figure) or^̌^^^^^^^−1 − ^^^^ ≤ ^^^^^^^^ ≤ ^^^^^^^^, (if ^^^^^^^^ = 0, right side 701 of figure). These bounds then become the uncertainty interval^̌^^^^^^^ ≤ ^^^^^^^^ ≤ ^̂^^^^^^^ at time ^^^^. This process can then be repeated recursively for subsequent time steps.

[0081] To implement this idea in practice, rather than explicitly having the inverse quantizer “ask” the question“is ^^^^^^^^ ≥ ^^^^^^^^", instead a copy is maintained of the inverse quantizer’s state as part of the recurrent quantizer, asshown in FIG.5 (and 5A). This allows the corrective quantizer to also calculate ^^^^^^^^and answer the inverse quantizer’s “question” without any explicit downstream communication.

[0082] A few other principles are used in examples of uncertainty interval tracking, specified in more detail below. Some of these principles include the following.

[0083] 1) The best value of ^^^^ to use may vary from scenario to scenario and over time. Rather than using a fixed value of ^^^^, the quantizer selects a value ^^^^^^^^to use in each time slot, from a pre-defined set of choices. A few overhead bits are used to inform the inverse quantizer which value of ^^^^^^^^to use. This is only a small additional overhead because it is shared over a large number of latent dimensions.

[0084] 2) To make the scheme more robust in case of signals that change by more than ^^^^^^^^on some dimensions, the step sizes may be increased by a multiplicative factor ^^^^>1 when the same bit-value repeats multiple times.

[0085] 3) In the case of latent vectors, the signal to be quantized typically is known to fall within a certainrange, say[^^�^^,^�^^^].

[0086] With this background, an explicit description is presented now of the recurrent inverse quantizer and corrective quantizer for this example.

[0087] The recurrent inverse quantizer 480 is described now.

[0088] Configuration parameters may include the following.

[0089] Signal lower and upper limits ^^�^^ and ^^�^^, number of signal dimensions ^^^^, number of bits ^^^^ used todefine delta levels, set of possible delta levels ^^^^ = {^^^^0,^^^^1,^^^^2, … ,^^^^2^^^^−1}, growth factor ^^^^ ≥ 1 (e.g., ^^^^ =2), and leakage factor 0 < ^^^^ ≤ 1 (e.g. ^^^^ = 0.8).

[0090] Input / Output includes the following.

[0091] Input is sequence of binary messages ^^^^^^^^ of length ^^^^ + ^^^^, output is sequence of real vectors ^^^^^^^^ ofdimension ^^^^.

[0092] Initialization concerns the following.

[0093] Set ^^^^ = 1, set bounds ^̌^^^0[^^^^] = ^^�^^, ^̂^^^0[^^^^] = ^�^^^. Set multipliers ^̌^^^0[^^^^] = ^̂^^^0[^^^^] = 1 for ^^^^ = 1, … ,^^^^.

[0094] Operation involves the following.

[0095] 1) Receive a binary message of length ^^^^ + ^^^^, including ^^^^ bits ^^^^^^^^ and ^^^^ bits ^^^^^^^^.

[0096] 2) Interpret ^^^^^^^^ as an integer ^^^^, and set ^^^^^^^^ = ^^^^^^^^.

[0097] 3) For each dimension 1 ≤ ^^^^ ≤ ^^^^:

[0098] a) Calculate tentative bounds ^^�^^^^^^[^^^^] = max�^^^^(^̌^^^^^^^−1[^^^^] − ^̌^^^^^^^−1[^^^^]^^^^^^^^),^�^^^� and ^^�^^^^^^[^^^^] =min�^^^^(^̂^^^^^^^−1[^^^^] + ^̂^^^^^^^−1[^^^^]^^^^^^^^),^�^^^�.

[0099] b) Choose threshold ^^^^^^^^[^^^^] =�^^�^^^^^^[^^^^] + [^^^^]� / 2.

[0100] c) Read bit ^^^^^^^^[^^^^] from the binary message.

[0101] d) If ^^^^^^^^[^^^^] = 1, set ^̌^^^^^^^[^^^^] = ^^^^^^^^[^^^^], ^̂^^^^^^^[^^^^] = ^^�^^^^^^[^^^^], ^̌^^^^^^^[^^^^] = 1, and ^̂^^^^^^^[^^^^] = ^^^^^̂^^^^^^^−1[^^^^]. Otherwiseset ^̌^^^^^^^[^^^^] = ^^�^^^^^^[^^^^], ^̂^^^^^^^[^^^^]

[0102] e) Calculate output value ^^^^^^^^[^^^^] = (^̌^^^^^^^[^^^^] + ^̂^^^^^^^[^^^^]) / 2.

[0103] 4) Set ^^^^ = ^^^^ + 1 and repeat from step 1.

[0104] As shown in FIG.5, the recurrent quantizer 470 includes a corrective quantizer 550 and a local copy of the recurrent inverse quantizer 460. The operation of the corrective quantizer 550 is now described.

[0105] The corrective quantizer 550 has the following operation.

[0106] Configuration parameters are as follows.

[0107] Signal lower and upper limits ^^�^^ and ^^�^^, number of signal dimensions ^^^^, number of bits ^^^^ used todefine delta levels, set of possible delta levels ^^^^ = {^^^^0,^^^^1,^^^^2, … ,^^^^2^^^^−1}, growth factor ^^^^ ≥ 1 (e.g., ^^^^ =2), leakage factor 0 < ^^^^ ≤ 1 (e. g. ^^^^ = 0.8), and quantile value 0 < ^^^^ ≤ 1 (e.g., ^^^^ = 0.8).

[0108] Input / Output is as follows.

[0109] Input is a sequence ^^^^^^^^of latent vectors of dimension ^^^^, as well as delayed state vectors of size ^^^^,namely ^̌^^^^^^^−1 , ^̂^^^^^^^−1 , ^̌^^^^^^^−1 and ^̂^^^^^^^−1. Output is a sequence of binary messages ^^^^^^^^ of length ^^^^ + ^^^^.

[0110]

[0111] Set ^^^^ = 1, initialize local copy of recurrent inverse quantizer, as described separately. Set ^^^^0[^^^^] = 0for 1 ≤ ^^^^ ≤ ^^^^.

[0112] Operation is as follows.

[0113] 1) Receive ^^^^ dimensional latent vector ^^^^^^^^and previous state vectors of local copy of inverse quantizer, ^̌^^^^^^^−1, ^̂^^^^^^^−1, ^̌^^^^^^^−1and ^̂^^^^^^^−1.

[0114] Calculate absolute differences |^^^^^^^^[^^^^] − ^^^^^^^^−1[^^^^]| and let ^^^^^^^^ be the ^^^^-th quantile of these ^^^^ values.

[0115] 3) Choose ^^^^ = arg m^^i^^n�^^^^^^^^ − ^^^^^^^^�, set B-bit value ^^^^^^^^ to indicate the index ^^^^, and set ^^^^^^^^ = ^^^^^^^^.

[0116] 4) For each dimension 1 ≤ ^^^^ ≤ ^^^^

[0117] a) Calculate tentative bounds ^^�^^^^^^[^^^^] = max�^^^^(^̌^^^^^^^−1[^^^^] − ^̌^^^^^^^−1[^^^^]^^^^^^^^),^�^^^� and ^^�^^^^^^[^^^^] =min�^^^^ (^̂^^^^^^^−1[^^^^] + ^̂^^^^^^^−1[^^^^]^^^^^^^^),^�^^^�. [^^^^] = 0. message = apply this message as the input to the local copy of the recurrent inverse quantizer.

[0121] 6) Set ^^^^ = ^^^^ + 1 and repeat from step 1.

[0122] Variations include the following. The embodiment of uncertainty tracking, for instance, and ML-based recurrent quantization can be modified in various ways.

[0123] Bits per dimension may be modified. For simplicity, description has been made of the version in which the signal is quantized to one bit per latent dimension (plus an additional ^^^^ bit overhead). The uncertainty tracking scheme can be easily modified to send ^^^^ bits per latent dimension. In this, rather than computing asingle threshold ^^^^ that divides the interval [^^�^^ ,^^�^^ ] ^^^^^^^^ ^^^^ ^^^^ in half, one may compute 2 − 1 thresholds that dividethe interval into 2^^^^pieces, and use the ^^^^ bits to indicate which interval contains the signal. Non-integer bits per dimension can be obtained by using different number of bits on different dimensions, in a round-robinfashion. For example, 1.5 bits per dimension can be obtained by using ^^^^ = 1 bit when ^^^^ and ^^^^ have thesame (old / even) parity, and using ^^^^ = 2 bit when they have opposite parity.

[0124] In the case of ML-based recurrent quantization, the overhead can be adjusted by adjusting the number of dimensions in the binary message vector ^^^^^^^^, which does not necessarily need to be the same as the number of dimensions in the latent vector ^^^^^^^^.

[0125] Reset may also be modified. It may be desirable to reset the state machine (e.g., according to a metric), for example if a binary message from quantizer to inverse quantizer has been lost or corrupted (e.g., the metric indicates the binary message should be received and not corrupted). As far as the conditions changing significantly, if performance monitoring indicates that the CSI compression is not performing well or may not be performing well as per some metric, then actions can be taken. For instance, this this could indicate that the encoder and decoder are not synchronized, which can be fixed by resetting. For this purpose, in uncertainty interval tracking, one of the 2^^^^possible values of ^^^^^^^^could be reserved to indicate a reset, while theremaining 2^^^^ − 1 values could be used to indicate elements in the set ^^^^. The encoder can initiate a resetaction by sending a binary message ^^^^^^^^ = {^^^^^^^^, ^^^^^^^^} in which the bits ^^^^^^^^ are set to the reserved value. In thiscase, both the quantizer and inverse quantizer reset by performing the initialization steps described above, instead of the normal operation step. In the case of ML-based recurrent quantization, one or more additional control bits could be appended to the binary message to indicate a reset or other control actions. Alternatively, resets could occur periodically at a period specified in advance, in a frame-based approach. When resetting, it could be advantageous to use multiple bits per dimension to specify a highly accurate initial estimate of the signal ^^^^^^^^, and then use fewer bits per dimension in subsequent time steps. This ensures that the accuracy does not suffer from the reset, and has a negligible effect on the overall overhead, as long as resets do not occur too often. For ML based method, this may also be adapted manually. One can expect ML to learn to reset as well, but it may be easier to force the ML based method to manually reset sometimes.

[0126] Performance results are now presented, showing examples of advantages of the schemes described above in terms of improving the tradeoff between accuracy and overhead in a CSI feedback compression scenario.

[0127] Both main embodiments (ML-based and uncertainty interval tracking) have been tested for CSI compression. Channel matrices were generated using a 3GPP reference model with the following parameters:

[0128] 1) Time sampling: 50 consecutive measurements at 5ms intervals.

[0129] 2) Pathloss Model: New Radio Urban Macro.

[0130] 3) Base station antenna height: 25m.

[0131] 4) Distribution of UEs: 20% outdoor pedestrian (30 km / h), 80% indoor (3 km / h).

[0132] 5) UE antenna height: 1.5m.

[0133] 6) Carrier Frequency = 4 GHz.

[0134] 7) Number of UE ports: 4.

[0135] 8) Number of gNB ports: 32.

[0136] 9) Number of physical resource blocks: 52.

[0137] 10) Number of channel instances: 21,000.

[0138] For each 32 x 4 x 52 channel array, the channel Gramian was averaged over subbands of 4 PRBs (physical resource block) and the dominant eigenvector of each subband was computed, resulting in a CSI matrix of dimension 32 x 13 for each channel instance.

[0139] The accuracy and overhead of three different CSI compression matrices were evaluated:

[0140] 1) static scalar quantization (cf FIG.2).

[0141] 2) ML-based recurrent quantization (cf FIG.5).

[0142] 3) Recurrent quantization based on uncertainty interval tracking (cf FIG.5).

[0143] In each case, SF Encoder / Decoder pairs were used that mapped each 32x13 complex CSI matrix to a latent vector of dimension 128 or 64.

[0144] The overhead of each method was quantified as the total number of bits in the binary message after quantization, which has a fixed value in each of the methods used. The accuracy was quantified by calculating the squared generalized cosine similarity (SGCS) between the input CSI matrix ^^^^^^^^and the output ^�^^^^^^^, and then averaging over the test cases.

[0145] The results of this experiment are depicted in FIG.8. This figure shows SGCS versus overhead (in bits). The two data points 810 and 820 are obtained using SF Encoder / Decoder with static quantization andtwo bits per dimension. SF Model 1 used latent vectors of dimension ^^^^ = 64, for a total overhead of 128 bitswith static quantization, while SF Model 2 used latent vectors of dimension ^^^^ = 128, for a total overhead of256 bits with static quantization. In both cases, replacing the static quantization with recurrent quantization based on uncertainty interval tracking with only 1 bit per dimension, plus 4 additional bits to specify the delta index, reduced the overhead to 68 bits and 132 bits respectively, while maintaining the same accuracy (in terms of SGCS). Consider reference 830, which illustrates a conventional SF model 2 with a static quantizer and two bits / dimension with 128 dimensions Reference 840 illustrates the use of the same SF model using uncertainty interval tracking with only one bit per dimension instead of two bits. The SGCS is about the same, but the overhead drops about 50 percent, as illustrated by the solid arrow. Likewise, Data point 810 illustrates a conventional SF model 1 plus static quantizer at two bits per dimension but with 64 dimensions. Data point 820 illustrates the use of the same SF model using uncertainty interval tracking with only one bit per dimension instead of two bits. The SGCS is about the same as that of data point 810, but the overhead drops about 50 percent. Comparing 810 with 840, we see that the accuracy (in SGCS) is increased significantly for approximately the same overhead, as indicated by the dashed arrow. The best performance was obtained using another SF Model 3, with 128 latent dimensions, together with ML-based recurrent quantization with 1 bit per dimension, for a total overhead of 128 bits (point 850).

[0146] This example shows that the method can exploit the time correlation present in CSI feedback to significantly reduce the overhead required to achieve a given level of accuracy.

[0147] An important topic in ML-based CSI compression has been how to achieve interoperability for “two- sided” models where a ML function at UE side must interoperate with an ML function at the network side.

[0148] In 3GPP models considered previously, depicted in FIG.2 and FIG.3, there is an ML-based function on UE side and on network side. There is also a static quantizer on UE side and static inverse quantizer on network side. It has been assumed that the static quantizer and inverse quantizer are explicitly specified by 3GPP. Various methods of ensuring interoperability between the ML functions are in discussion for 3GPP; most involve a one-sided specification (explicit or explicit) with some form of sequential training.

[0149] Full specification of quantizer / inverse quantizer is described now. If using the examples herein (see FIG.5) together with uncertainty interval tracking, the quantization scheme is more complex than static quantization, but is still very straightforward to specify (see description above). Explicit specification of both sides would make the most sense for this embodiment.

[0150] A one-sided specification is also possible. Consider the following. If using the examples herein (see FIG.4 or FIG.5) together with ML-based windowed or recurrent quantization, a method to ensure interoperability between the quantizer and inverse quantizer would need to be developed. This could in principle use the same techniques developed previously for the ML-based SF Encoder / Decoder, such as one- sided specification with sequential training.

[0151] A reset mechanism is described now. If any recurrent structure is used, there should be some mechanism to address lost CSI feedback messages. In the case of uncertainty tracking, recovering from lost feedback messages is straightforward if the UE-side is made aware of the lost message. For example, if a message is lost, the network side can send a control message to the UE-side to reset the recurrence so that the UE copy and network copy of the inverse quantizer remain in sync. A similar reset mechanism may be helpful for ML based recurrent quantization as well. This type of synchronization should be specified.

[0152] Configuration parameters are described now with respect to specifying these. It may be desirable to allow either the network side or UE side to choose configuration parameters depending on the scenario. For example, in uncertainty tracking, it may be of interest to make the growth parameter ^^^^ or the delta set ^^^^ configurable. These values need to be the same in the UE’s local copy of the recurrent inverse quantizer as in the network recurrent inverse quantizer, so specification is likely needed to allow both sides to agree on these configuration parameters.

[0153] Turning to FIG.9, this figure shows a block diagram of one possible and non-limiting example of a cellular network 1 that is connected to a user equipment (UE) 10. A number of network elements are shown in the cellular network of FIG.9: a network node 70; and a core network 90.

[0154] In FIG.9, a user equipment (UE) 10 is in wireless communication via radio link 11 with the network node 70 of the cellular network 1. A UE 10 is a wireless communication device, such as a mobile device, that is configured to access a cellular network. The UE 10 is illustrated with one or more antennas 28. The ellipses 2 indicate there could be multiple UEs 10 in wireless communication via radio links with the network node 70. The UE 10 includes one or more processors 13, one or more memories 15, and other circuitry 16. The other circuitry 16 includes one or more receivers (Rx(s)) 17 and one or more transmitters (Tx(s)) 18. A program 12 is used to cause the UE 10 to perform the operations described herein. For a UE 10, the other circuitry 16 could include circuitry such as for user interface elements (not shown) like a display. The program 12 may be implemented via instructions stored in memory / memories 15 and executed by processor(s) 13, or by circuitry such being implemented as part of the processor(s) or other circuitry elements, or both.

[0155] The network node 70, as a network element of the cellular network 1, provides the UE 10 access to cellular network 1 and to the data network 91 via the core network 90 (e.g., via a user plane function (UPF) of the core network 90). As such, the network node 70 may be considered to be an access node, which provides access by UE(s) 10 to the cellular network 1. The network node 70 may be a base station (BS), of which there are a number of different exemplary types as described herein. The network node 70 is illustrated as having one or more antennas 58. In general, the network node 70 may be referred to as a RAN node, although many will make reference to this as a gNB (gNode B, a base station for NR, new radio) instead. There are, however, many other examples of RAN nodes including an eNB (evolved Node B) or TRP (Transmission-Reception Point). The network node 70 includes one or more processors 73, one or more memories 75, and other circuitry 76. The other circuitry 76 includes one or more receivers (Rx(s)) 77 and one or more transmitters (Tx(s)) 78. A program 72 is used to cause the network node 70 to perform the operations described herein. The program 72 may be implemented via instructions stored in memory / memories 75 and executed by processor(s) 73, or by circuitry such being implemented as part of the processor(s) or other circuitry elements, or both.

[0156] It is noted that the network node 70 may instead be implemented via other wireless technologies, such as Wi-Fi (a wireless networking protocol that devices use to communicate without direct cable connections). In the case of Wi-Fi, the link 11 could be characterized as a wireless link.

[0157] Two or more network nodes 70 communicate using, e.g., link(s) 79. The link(s) 79 may be wired or wireless or both and may implement, e.g., an Xn interface for 5G (fifth generation), an X2 interface for LTE (Long Term Evolution), or other suitable interface for other standards.

[0158] The cellular network 1 may include a core network 90, as a second network element or elements, that may include core network functionality, and which provide connectivity via a link or links 81 with a data network 91, such as a telephone network and / or a data communications network (e.g., the Internet). The core network 90 includes one or more processors 93, one or more memories 95, and other circuitry 96. The other circuitry 96 includes one or more receivers (Rx(s)) 97 and one or more transmitters (Tx(s)) 98. A program 92 is used to cause the core network 90 to perform the operations described herein. The program 92 may be implemented via instructions stored in memory / memories 95 and executed by processor(s) 93, or by circuitry such being implemented as part of the processor(s) or other circuitry elements, or both.

[0159] The core network 90 could be a 5GC (5G core network). The core network 90 can implement or comprise multiple network functions (NF(s)) 99, and the program 92 may comprise one or more of the NFs 99. A 5G core network may use circuitry such as memory and processors, which may implement a virtualization layer. It could be a single standalone computing system, a distributed computing system, or a cloud computing system. The NFs 99, as network elements, of the core network could be containers or virtual machines running on the circuitry of the computing system(s) making up the core network 90.

[0160] Core network functionality for 5G may include access and mobility management functionality that is provided by a network function 99 such as an access and mobility management function (AMF), session management functionality that is provided by a network function such as a session management function (SMF). Core network functionality for access and mobility management in an LTE (Long Term Evolution) network may be provided by an MME (Mobility Management Entity) and / or SGW (Serving Gateway) functionality, which routes data to the data network. Many others are possible, as illustrated by the examples in FIG.9: AMF; SMF; MME; SGW; GMLC (Gateway Mobile Location Center); LMF (Location Management Function); UDM (Unified Data Management) / UDR (Unified Data Repository); NRF (Network Repository Function); and / or E-SMLC (Evolved Serving Mobile Location Center). These are merely exemplary core network functionality that may be provided by the core network 90, and note that both 5G and LTE core network functionality might be provided by the core network 90. The network node 70 is coupled via a backhaul link 31 to the core network 90. The network node 70 and the core network 90 may include an NG (Next Generation) interface for 5G, or an S1 interface for LTE, or other suitable interface for other radio access technologies for communicating via the backhaul link 31.

[0161] In the data network 91, there is a computer-readable medium 94. The computer-readable medium 94 contains instructions that, when downloaded and installed into the memories 15, 75, or 95 of the corresponding UE 10, network node 70, and / or core network element(s) 90, and executed by processor(s) 13, 73, or 93, cause the respective device to perform corresponding actions described herein. The computer-readable medium 94 may be implemented in other forms, such as via a compact disc or memory stick.

[0162] The programs 12, 72, and 92 contain instructions (as part of a corresponding program 12, 72, and 92) stored by corresponding one or more memories 15, 75, or 95. These instructions, when executed by the corresponding one or more processors 13, 73, or 93, cause the corresponding apparatus 10, 70, or 90, to perform the operations described herein. The computer readable memories 15, 75, or 95 are circuitry and may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memory, firmware, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The processors 13, 73, and 93, are circuitry and may be of any type suitable to the local technical environment. For example, these processors may include one or more of general-purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs), processors based on a multi-core processor architecture, and may also include specialized circuits such as field-programmable gate arrays (FPGAs), application specific circuits (ASICs), signal processing devices and other devices, or combinations of these devices, as non-limiting examples. The processors 13, 73, and 93 are circuitry that can be programmed to perform functions via software, firmware or the like (including microcode), but are not solely software.

[0163] The receivers 17, 77, and 97, and the transmitters 18, 78, and 98 may implement wired or wireless interfaces. The receivers and transmitters may be grouped together as transceivers.

[0164] The cellular network 1 may implement network virtualization, which is the process of combining hardware and software network resources and network functionality into a single, software-based administrative entity, a virtual network. Network virtualization involves platform virtualization, often combined with resource virtualization. Network virtualization is categorized as either external, combining many networks, or parts of networks, into a virtual unit, or internal, providing network-like functionality to software containers on a single system. Note that the virtualized entities (such as network functions 99) that result from the network virtualization are still implemented, at some level, using hardware such as processors 73 and / or 93 and memories 75 and / or 95, and also such virtualized entities create technical effects.

[0165] In general, the various embodiments of the user equipment 10 can include, but are not limited to, cellular telephones (such as smart phones, mobile phones, cellular phones, voice over Internet Protocol (IP) (VoIP) phones, and / or wireless local loop phones), tablets, portable computers, vehicles or vehicle-mounted devices for, e.g., wireless V2X (vehicle-to-everything) communication, image capture devices such as digital cameras, gaming devices, music storage and playback appliances, Internet appliances (including Internet of Things, IoT, devices), IoT devices with sensors and / or actuators for, e.g., automation applications, as well as portable units or terminals that incorporate combinations of such functions, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), Universal Serial Bus (USB) dongles, smart devices, wireless customer- premises equipment (CPE), an Internet of Things (IoT) device, a watch or other wearable, a head-mounted display (HMD), a vehicle, a drone, a medical device and applications (e.g., remote surgery), an industrial device and applications (e.g., a robot and / or other wireless devices operating in an industrial and / or an automated processing chain contexts), a consumer electronics device, a device operating on commercial and / or industrial wireless networks, and the like. That is, the UE 10 could be any end device that may be capable of wireless communication. By way of example rather than limitation, the UE may also be referred to as a communication device, terminal device (MT), a Subscriber Station (SS), a Portable Subscriber Station, a Mobile Station (MS), or an Access Terminal (AT).

[0166] Without in any way limiting the scope, interpretation, or application of the claims appearing below, a technical effect and / or advantage of one or more of the example embodiments disclosed herein is that better throughput per number of bits used can be achieved. Another technical effect and / or advantage of one or more of the example embodiments disclosed herein is that implementation requirement is lower than full SFT models due to reduced size in the latent space. Another technical effect and / or advantage of one or more of the example embodiments disclosed herein is that this is easier to train if SF model is already available. Another technical effect and / or advantage of one or more of the example embodiments disclosed herein is that communicating CSI information from UE to network node is possible using a reduced message size, or with increased accuracy, or with reduced complexity. Obtaining the above advantages is facilitated in some embodiments because the operation of the quantizer and inverse quantizer is simple enough to facilitate interoperability between UE and network node.

[0167] The following are additional examples.

[0168] Example 1. A method, comprising: in an encoding process for channel state information in a communication system, performing, by a space-frequency encoder, space-frequency encoding of a channel state information matrix to form a latent vector; quantizing the latent vector using a quantizer that forms a bit vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is generated by the space-frequency encoder or by the quantizer; and transmitting at least the bit vector on a bitstream.

[0169] Example 2. The method according to example 1, where the quantizer takes as inputs both the latent vector in the current time slot and the latent vector saved from the previous time slot.

[0170] Example 3. The method according to example 2, wherein the quantizer is a windowed quantizer where a current output of the windowed quantizer depends on a finite window of past inputs.

[0171] Example 4. The method according to example 1, where the quantizer takes as inputs both the latent vector in the current time slot and a state vector previously generated by the quantizer and saved from the previous time slot.

[0172] Example 5. The method according to example 1, wherein the quantizer is a recurrent quantizer where an output of the recurrent quantizer depends on an entire past history of inputs.

[0173] Example 6. The method according to example 5, wherein: the recurrent quantizer comprises a corrective quantizer and a recurrent inverse quantizer; the recurrent inverse quantizer takes as an input the bit vector from the previous time slot and a state vector output by the recurrent inverse quantizer and saved from a time slot prior to the previous time slot, and the recurrent inverse quantizer outputs both a state vector that corresponds to the previous time slot and an estimated latent vector that corresponds to the previous time slot; and the corrective quantizer takes as input the latent vector for the current time slot and the estimated latent vector that corresponds to the previous time slot, and outputs the bit vector.

[0174] Example 7. The method according to example 5, wherein: the recurrent quantizer comprises a corrective quantizer and a recurrent inverse quantizer; the recurrent inverse quantizer takes as an input the bit vector from the current time slot and a state vector output by the recurrent inverse quantizer and saved from the previous time slot, and the recurrent inverse quantizer outputs both a state vector and an estimated latent vector; and the corrective quantizer takes as inputs the latent vector for the current time slot, and one or both of the following: a delayed version of the state vector output by the recurrent inverse quantizer; or a delayed version of the estimated latent vector that was output by the recurrent inverse quantizer.

[0175] Example 8. The method according to any of examples 1 to 7, wherein: the space-frequency encoder and quantizer form part of an encoder; and the method further comprises participating by the space-frequency encoder and quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of the latent vectors produced by the space-frequency encoder and outputs of estimated latent vectors produced by an inverse quantizer at a decoder.

[0176] Example 9. The method according to example 8, wherein the quantizer is performed by a neural network.

[0177] Example 10. The method according to any of examples 6 to 7, wherein: the space-frequency encoder and quantizer form part of an encoder; the method further comprises participating by the space-frequency encoder and quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of the latent vectors produced by the space-frequency encoder and outputs of estimated latent vectors produced by a recurrent inverse quantizer at a decoder; and the recurrent inverse quantizer at the encoder is a copy of the recurrent inverse quantizer at the decoder, and parameters of the recurrent inverse quantizer at the encoder and a recurrent inverse quantizer at the decoder are forced to remain equal in the training.

[0178] Example 11. The method according to example 10, wherein the recurrent inverse quantizer and the corrective quantizer are performed by at least one neural network.

[0179] Example 12. The method according to any of examples 1 to 7, wherein: the space-frequency encoder and quantizer form part of an encoder; and the method further comprises participating by the encoder in training that uses a dataset used by the space-frequency encoder for the training, where the dataset is shared between the encoder and a decoder for the training.

[0180] Example 13. The method according to any of examples 6 to 7, wherein quantizing the latent vector uses uncertainty interval tracking comprising: determining by the recurrent inverse quantizer that the latent vector was between certain limits in the previous time slot; determining by the recurrent inverse quantizer that the latent vector should satisfy expanded limits for the current time slot that are the certain limits modified by a delta; and based on a state of the recurrent inverse quantizer that is indicated by the state vector from the previous time slot, forming by the recurrent inverse quantizer an uncertainty interval for the estimated latent vector using the state of the recurrent inverse quantizer and the expanded limits.

[0181] Example 14. The method according to any of examples 6 to 7, wherein, for the recurrent inverse quantizer: performing generating the latent vector comprising generating a state vector comprising estimated upper and lower bounds on a value of a component of an estimated latent vector; the estimated latent vector generated by the recurrent inverse quantizer is a value between the estimated upper bound and estimated lower bound; the estimated upper and lower bounds are based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters based on bits in the bit vector that is input to the recurrent inverse quantizer; and the estimated upper and lower bounds are also based on bits in the bit vector indicating whether the component of the latent vector is above or below a threshold.

[0182] Example 15. The method according to any of examples 6, 7, or 14, wherein for the corrective quantizer: the bit vector generated for output by the corrective quantizer comprises bits indicating whether a component of the latent vector is above or below a threshold; the threshold is calculated based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters by the corrective quantizer; and the bit vector generated by the corrective quantizer comprises bits indicating a value of the delta parameter selected by the corrective quantizer.

[0183] Example 16. The method according to any of examples 1 to 15, wherein: the space-frequency encoder and quantizer form part of an encoder; transmitting on the bitstream comprises transmitting indication of a reset toward a decoder indicating to the decoder to reset its inverse quantizer by performing one or more initialization steps for the inverse quantizer; and the method further comprises performing, by the encoder, one or more initialization steps to reset at least a quantizer on the encoder, instead of performing an operation step using the quantizer to quantize the latent vector.

[0184] Example 17. The method according to example 16, wherein transmitting on the bitstream comprises transmitting indication of the reset by using a reserved value, as the indication of the reset, as some or all of the bit vector.

[0185] Example 18. A method, comprising: in a decoding process for channel state information in a communication system, performing inverse quantization of a bit vector, received in a bitstream, using an inverse quantizer that forms an estimated latent vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the inverse quantizer during a current time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is a delayed version of the bit vector or is generated by the inverse quantizer; and performing space-frequency decoding, by a space-frequency decoder, of the estimated latent vector to form an estimated channel state information matrix; and outputting the estimated channel state information matrix.

[0186] Example 19. The method according to example 18, where the inverse quantizer takes as inputs both a bit vector saved from the previous time slot and a bit vector from the current time slot.

[0187] Example 20. The method according to example 19, wherein the inverse quantizer is a windowed inverse quantizer where a current output of the windowed inverse quantizer depends on a finite window of past inputs.

[0188] Example 21. The method according to example 18, where the inverse quantizer takes as inputs both quantization output of a state vector previously generated by the inverse quantizer and saved from the previous time slot, and the bit vector from the current time slot.

[0189] Example 22. The method according to example 21, wherein the inverse quantizer is a recurrent inverse quantizer where an output of the recurrent inverse quantizer depends on an entire past history of inputs.

[0190] Example 23. The method according to any of examples 19 to 20, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; and the method further comprises participating by the space-frequency decoder and inverse quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of latent vectors produced by a space-frequency of an encoder and outputs of estimated latent vectors produced by the inverse quantizer at the decoder.

[0191] Example 24. The method according to example 23, wherein the inverse quantizer is performed by a neural network.

[0192] Example 25. The method according to any of examples 21 to 22, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; the method further comprises participating by the space- frequency decoder and inverse quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of latent vectors produced by a space-frequency encoder and outputs of estimated latent vectors produced by a recurrent inverse quantizer at a decoder; and the recurrent inverse quantizer at the encoder is a copy of the recurrent inverse quantizer at the decoder, and parameters of the recurrent inverse quantizer at the encoder and the inverse quantizer at the decoder are forced to remain equal in the training.

[0193] Example 26. The method according to example 25, wherein the inverse quantizer is performed by a neural network.

[0194] Example 27. The method according to any of examples 18 to 22, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; and the method further comprises participating by the decoder in training using a dataset, where the dataset is shared between an encoder and the decoder for the training.

[0195] Example 28. The method according to any of examples 21 to 22, wherein inverse quantizer comprises a recurrent inverse quantizer, and wherein using the inverse quantizer comprises estimating a latent vector using uncertainty interval tracking comprising: determining by the recurrent inverse quantizer that the latent vector was between certain limits in the previous time slot; determining by the recurrent inverse quantizer that the latent vector should satisfy expanded limits for the current time slot that are the certain limits modified by a delta; and based on a state of the recurrent inverse quantizer that is indicated by the state vector from the previous time slot, forming by the recurrent inverse quantizer an uncertainty interval for the latent vector using the state of the recurrent inverse quantizer and the expanded limits.

[0196] Example 29. The method according to any of any of examples 21 to 22, wherein the inverse quantizer comprises a recurrent inverse quantizer, and wherein, for the recurrent inverse quantizer: performing generating an estimated latent vector comprising generating a state vector comprising estimated upper and lower bounds on a value of a component of the latent vector; the estimated latent vector generated by the recurrent inverse quantizer is a value between the estimated upper bound and estimated lower bound; the estimated upper and lower bounds are based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters based on bits in the bit vector that is input to the recurrent inverse quantizer; and the estimated upper and lower bounds are also based on bits in the bit vector indicating whether the component of the latent vector is above or below a threshold.

[0197] Example 30. The method according to any of examples 18 to 29, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; the method further comprises receiving, in the bitstream, indication of a reset indicating to the decoder to reset its inverse quantizer by performing one or more initialization steps for the inverse quantizer; and the method further comprises performing, by the decoder, one or more initialization steps to reset at least the inverse quantizer on the decoder, instead of performing an operation step using the inverse quantizer to form the estimated latent vector.

[0198] Example 31. The method according to example 16, wherein receiving the indication of the reset comprises receiving indication of the reset that uses a reserved value, as the indication of the reset, as some or all of the bit vector.

[0199] Example 32. The method according to any of examples 18 to 31, further comprising using the channel state information matrix that was output for beamforming.

[0200] Example 33. An apparatus, comprising means for: in an encoding process for channel state information in a communication system, performing, by a space-frequency encoder, space-frequency encoding of a channel state information matrix to form a latent vector; quantizing the latent vector using a quantizer that forms a bit vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is generated by the space-frequency encoder or by the quantizer; and transmitting at least the bit vector on a bitstream.

[0201] Example 34. The apparatus according to example 33, where the quantizer takes as inputs both the latent vector in the current time slot and the latent vector saved from the previous time slot.

[0202] Example 35. The apparatus according to example 34, wherein the quantizer is a windowed quantizer where a current output of the windowed quantizer depends on a finite window of past inputs.

[0203] Example 36. The apparatus according to example 33, where the quantizer takes as inputs both the latent vector in the current time slot and a state vector previously generated by the quantizer and saved from the previous time slot.

[0204] Example 37. The apparatus according to example 33, wherein the quantizer is a recurrent quantizer where an output of the recurrent quantizer depends on an entire past history of inputs.

[0205] Example 38. The apparatus according to example 37, wherein: the recurrent quantizer comprises a corrective quantizer and a recurrent inverse quantizer; the recurrent inverse quantizer takes as an input the bit vector from the previous time slot and a state vector output by the recurrent inverse quantizer and saved from a time slot prior to the previous time slot, and the recurrent inverse quantizer outputs both a state vector that corresponds to the previous time slot and an estimated latent vector that corresponds to the previous time slot; and the corrective quantizer takes as input the latent vector for the current time slot and the estimated latent vector that corresponds to the previous time slot, and outputs the bit vector.

[0206] Example 39. The apparatus according to example 37, wherein: the recurrent quantizer comprises a corrective quantizer and a recurrent inverse quantizer; the recurrent inverse quantizer takes as an input the bit vector from the current time slot and a state vector output by the recurrent inverse quantizer and saved from the previous time slot, and the recurrent inverse quantizer outputs both a state vector and an estimated latent vector; and the corrective quantizer takes as inputs the latent vector for the current time slot, and one or both of the following: a delayed version of the state vector output by the recurrent inverse quantizer; or a delayed version of the estimated latent vector that was output by the recurrent inverse quantizer.

[0207] Example 40. The apparatus according to any of examples 33 to 39, wherein: the space-frequency encoder and quantizer form part of an encoder; and the means are further configured for participating by the space-frequency encoder and quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of the latent vectors produced by the space-frequency encoder and outputs of estimated latent vectors produced by an inverse quantizer at a decoder.

[0208] Example 41. The apparatus according to example 40, wherein the quantizer is performed by a neural network.

[0209] Example 42. The apparatus according to any of examples 38 to 39, wherein: the space-frequency encoder and quantizer form part of an encoder; the means are further configured for participating by the space-frequency encoder and quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of the latent vectors produced by the space-frequency encoder and outputs of estimated latent vectors produced by a recurrent inverse quantizer at a decoder; and the recurrent inverse quantizer at the encoder is a copy of the recurrent inverse quantizer at the decoder, and parameters of the recurrent inverse quantizer at the encoder and a recurrent inverse quantizer at the decoder are forced to remain equal in the training.

[0210] Example 43. The apparatus according to example 42, wherein the recurrent inverse quantizer and the corrective quantizer are performed by at least one neural network.

[0211] Example 44. The apparatus according to any of examples 33 to 39, wherein: the space-frequency encoder and quantizer form part of an encoder; and the means are further configured for participating by the encoder in training that uses a dataset used by the space-frequency encoder for the training, where the dataset is shared between the encoder and a decoder for the training.

[0212] Example 45. The apparatus according to any of examples 38 to 39, wherein quantizing the latent vector uses uncertainty interval tracking comprising: determining by the recurrent inverse quantizer that the latent vector was between certain limits in the previous time slot; determining by the recurrent inverse quantizer that the latent vector should satisfy expanded limits for the current time slot that are the certain limits modified by a delta; and based on a state of the recurrent inverse quantizer that is indicated by the state vector from the previous time slot, forming by the recurrent inverse quantizer an uncertainty interval for the estimated latent vector using the state of the recurrent inverse quantizer and the expanded limits.

[0213] Example 46. The apparatus according to any of examples 38 to 39, wherein, for the recurrent inverse quantizer: performing generating the latent vector comprising generating a state vector comprising estimated upper and lower bounds on a value of a component of an estimated latent vector; the estimated latent vector generated by the recurrent inverse quantizer is a value between the estimated upper bound and estimated lower bound; the estimated upper and lower bounds are based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters based on bits in the bit vector that is input to the recurrent inverse quantizer; and the estimated upper and lower bounds are also based on bits in the bit vector indicating whether the component of the latent vector is above or below a threshold.

[0214] Example 47. The apparatus according to any of examples 38, 39, or 46, wherein for the corrective quantizer: the bit vector generated for output by the corrective quantizer comprises bits indicating whether a component of the latent vector is above or below a threshold; the threshold is calculated based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters by the corrective quantizer; and the bit vector generated by the corrective quantizer comprises bits indicating a value of the delta parameter selected by the corrective quantizer.

[0215] Example 48. The apparatus according to any of examples 33 to 47, wherein: the space-frequency encoder and quantizer form part of an encoder; transmitting on the bitstream comprises transmitting indication of a reset toward a decoder indicating to the decoder to reset its inverse quantizer by performing one or more initialization steps for the inverse quantizer; and the means are further configured for performing, by the encoder, one or more initialization steps to reset at least a quantizer on the encoder, instead of performing an operation step using the quantizer to quantize the latent vector.

[0216] Example 49. The apparatus according to example 48, wherein transmitting on the bitstream comprises transmitting indication of the reset by using a reserved value, as the indication of the reset, as some or all of the bit vector.

[0217] Example 50. An apparatus, comprising means for: in a decoding process for channel state information in a communication system, performing inverse quantization of a bit vector, received in a bitstream, using an inverse quantizer that forms an estimated latent vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the inverse quantizer during a current time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is a delayed version of the bit vector or is generated by the inverse quantizer; and performing space-frequency decoding, by a space-frequency decoder, of the estimated latent vector to form an estimated channel state information matrix; and outputting the estimated channel state information matrix.

[0218] Example 51. The apparatus according to example 50, where the inverse quantizer takes as inputs both a bit vector saved from the previous time slot and a bit vector from the current time slot.

[0219] Example 52. The apparatus according to example 51, wherein the inverse quantizer is a windowed inverse quantizer where a current output of the windowed inverse quantizer depends on a finite window of past inputs.

[0220] Example 53. The apparatus according to example 50, where the inverse quantizer takes as inputs both quantization output of a state vector previously generated by the inverse quantizer and saved from the previous time slot, and the bit vector from the current time slot.

[0221] Example 54. The apparatus according to example 53, wherein the inverse quantizer is a recurrent inverse quantizer where an output of the recurrent inverse quantizer depends on an entire past history of inputs.

[0222] Example 55. The apparatus according to any of examples 51 to 52, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; and the means are further configured for participating by the space-frequency decoder and inverse quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of latent vectors produced by a space-frequency of an encoder and outputs of estimated latent vectors produced by the inverse quantizer at the decoder.

[0223] Example 56. The apparatus according to example 55, wherein the inverse quantizer is performed by a neural network.

[0224] Example 57. The apparatus according to any of examples 53 to 54, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; the means are further configured for participating by the space-frequency decoder and inverse quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of latent vectors produced by a space-frequency encoder and outputs of estimated latent vectors produced by a recurrent inverse quantizer at a decoder; and the recurrent inverse quantizer at the encoder is a copy of the recurrent inverse quantizer at the decoder, and parameters of the recurrent inverse quantizer at the encoder and the inverse quantizer at the decoder are forced to remain equal in the training.

[0225] Example 58. The apparatus according to example 57, wherein the inverse quantizer is performed by a neural network.

[0226] Example 59. The apparatus according to any of examples 50 to 54, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; and the means are further configured for participating by the decoder in training using a dataset, where the dataset is shared between an encoder and the decoder for the training.

[0227] Example 60. The apparatus according to any of examples 53 to 54, wherein inverse quantizer comprises a recurrent inverse quantizer, and wherein using the inverse quantizer comprises estimating a latent vector using uncertainty interval tracking comprising: determining by the recurrent inverse quantizer that the latent vector was between certain limits in the previous time slot; determining by the recurrent inverse quantizer that the latent vector should satisfy expanded limits for the current time slot that are the certain limits modified by a delta; and based on a state of the recurrent inverse quantizer that is indicated by the state vector from the previous time slot, forming by the recurrent inverse quantizer an uncertainty interval for the latent vector using the state of the recurrent inverse quantizer and the expanded limits.

[0228] Example 61. The apparatus according to any of any of examples 53 to 54, wherein the inverse quantizer comprises a recurrent inverse quantizer, and wherein, for the recurrent inverse quantizer: performing generating an estimated latent vector comprising generating a state vector comprising estimated upper and lower bounds on a value of a component of the latent vector; the estimated latent vector generated by the recurrent inverse quantizer is a value between the estimated upper bound and estimated lower bound; the estimated upper and lower bounds are based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters based on bits in the bit vector that is input to the recurrent inverse quantizer; and the estimated upper and lower bounds are also based on bits in the bit vector indicating whether the component of the latent vector is above or below a threshold.

[0229] Example 62. The apparatus according to any of examples 50 to 61, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; the means are further configured for receiving, in the bitstream, indication of a reset indicating to the decoder to reset its inverse quantizer by performing one or more initialization steps for the inverse quantizer; and the means are further configured for performing, by the decoder, one or more initialization steps to reset at least the inverse quantizer on the decoder, instead of performing an operation step using the inverse quantizer to form the estimated latent vector.

[0230] Example 63. The apparatus according to example 48, wherein receiving the indication of the reset comprises receiving indication of the reset that uses a reserved value, as the indication of the reset, as some or all of the bit vector.

[0231] Example 64. The apparatus according to any of examples 50 to 63, wherein the means are further configured for using the channel state information matrix that was output for beamforming.

[0232] Example 65. An apparatus, comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in an encoding process for channel state information in a communication system, performing, by a space-frequency encoder, space-frequency encoding of a channel state information matrix to form a latent vector; quantizing the latent vector using a quantizer that forms a bit vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is generated by the space-frequency encoder or by the quantizer; and transmitting at least the bit vector on a bitstream.

[0233] Example 66. The apparatus according to example 65, where the quantizer takes as inputs both the latent vector in the current time slot and the latent vector saved from the previous time slot.

[0234] Example 67. The apparatus according to example 66, wherein the quantizer is a windowed quantizer where a current output of the windowed quantizer depends on a finite window of past inputs.

[0235] Example 68. The apparatus according to example 65, where the quantizer takes as inputs both the latent vector in the current time slot and a state vector previously generated by the quantizer and saved from the previous time slot.

[0236] Example 69. The apparatus according to example 65, wherein the quantizer is a recurrent quantizer where an output of the recurrent quantizer depends on an entire past history of inputs.

[0237] Example 70. The apparatus according to example 69, wherein: the recurrent quantizer comprises a corrective quantizer and a recurrent inverse quantizer; the recurrent inverse quantizer takes as an input the bit vector from the previous time slot and a state vector output by the recurrent inverse quantizer and saved from a time slot prior to the previous time slot, and the recurrent inverse quantizer outputs both a state vector that corresponds to the previous time slot and an estimated latent vector that corresponds to the previous time slot; and the corrective quantizer takes as input the latent vector for the current time slot and the estimated latent vector that corresponds to the previous time slot, and outputs the bit vector.

[0238] Example 71. The apparatus according to example 69, wherein: the recurrent quantizer comprises a corrective quantizer and a recurrent inverse quantizer; the recurrent inverse quantizer takes as an input the bit vector from the current time slot and a state vector output by the recurrent inverse quantizer and saved from the previous time slot, and the recurrent inverse quantizer outputs both a state vector and an estimated latent vector; and the corrective quantizer takes as inputs the latent vector for the current time slot, and one or both of the following: a delayed version of the state vector output by the recurrent inverse quantizer; or a delayed version of the estimated latent vector that was output by the recurrent inverse quantizer.

[0239] Example 72. The apparatus according to any of examples 65 to 71, wherein: the space-frequency encoder and quantizer form part of an encoder; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the space-frequency encoder and quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of the latent vectors produced by the space-frequency encoder and outputs of estimated latent vectors produced by an inverse quantizer at a decoder.

[0240] Example 73. The apparatus according to example 72, wherein the quantizer is performed by a neural network.

[0241] Example 74. The apparatus according to any of examples 70 to 71, wherein: the space-frequency encoder and quantizer form part of an encoder; the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the space- frequency encoder and quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of the latent vectors produced by the space-frequency encoder and outputs of estimated latent vectors produced by a recurrent inverse quantizer at a decoder; and the recurrent inverse quantizer at the encoder is a copy of the recurrent inverse quantizer at the decoder, and parameters of the recurrent inverse quantizer at the encoder and a recurrent inverse quantizer at the decoder are forced to remain equal in the training.

[0242] Example 75. The apparatus according to example 74, wherein the recurrent inverse quantizer and the corrective quantizer are performed by at least one neural network.

[0243] Example 76. The apparatus according to any of examples 65 to 71, wherein: the space-frequency encoder and quantizer form part of an encoder; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the encoder in training that uses a dataset used by the space-frequency encoder for the training, where the dataset is shared between the encoder and a decoder for the training.

[0244] Example 77. The apparatus according to any of examples 70 to 71, wherein quantizing the latent vector uses uncertainty interval tracking comprising: determining by the recurrent inverse quantizer that the latent vector was between certain limits in the previous time slot; determining by the recurrent inverse quantizer that the latent vector should satisfy expanded limits for the current time slot that are the certain limits modified by a delta; and based on a state of the recurrent inverse quantizer that is indicated by the state vector from the previous time slot, forming by the recurrent inverse quantizer an uncertainty interval for the estimated latent vector using the state of the recurrent inverse quantizer and the expanded limits.

[0245] Example 78. The apparatus according to any of examples 70 to 71, wherein, for the recurrent inverse quantizer: performing generating the latent vector comprising generating a state vector comprising estimated upper and lower bounds on a value of a component of an estimated latent vector; the estimated latent vector generated by the recurrent inverse quantizer is a value between the estimated upper bound and estimated lower bound; the estimated upper and lower bounds are based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters based on bits in the bit vector that is input to the recurrent inverse quantizer; and the estimated upper and lower bounds are also based on bits in the bit vector indicating whether the component of the latent vector is above or below a threshold.

[0246] Example 79. The apparatus according to any of examples 70, 71, or 78, wherein for the corrective quantizer: the bit vector generated for output by the corrective quantizer comprises bits indicating whether a component of the latent vector is above or below a threshold; the threshold is calculated based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters by the corrective quantizer; and the bit vector generated by the corrective quantizer comprises bits indicating a value of the delta parameter selected by the corrective quantizer.

[0247] Example 80. The apparatus according to any of examples 65 to 79, wherein: the space-frequency encoder and quantizer form part of an encoder; transmitting on the bitstream comprises transmitting indication of a reset toward a decoder indicating to the decoder to reset its inverse quantizer by performing one or more initialization steps for the inverse quantizer; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform performing, by the encoder, one or more initialization steps to reset at least a quantizer on the encoder, instead of performing an operation step using the quantizer to quantize the latent vector.

[0248] Example 81. The apparatus according to example 80, wherein transmitting on the bitstream comprises transmitting indication of the reset by using a reserved value, as the indication of the reset, as some or all of the bit vector.

[0249] Example 82. An apparatus, comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in a decoding process for channel state information in a communication system, performing inverse quantization of a bit vector, received in a bitstream, using an inverse quantizer that forms an estimated latent vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the inverse quantizer during a current time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is a delayed version of the bit vector or is generated by the inverse quantizer; and performing space-frequency decoding, by a space-frequency decoder, of the estimated latent vector to form an estimated channel state information matrix; and outputting the estimated channel state information matrix.

[0250] Example 83. The apparatus according to example 82, where the inverse quantizer takes as inputs both a bit vector saved from the previous time slot and a bit vector from the current time slot.

[0251] Example 84. The apparatus according to example 83, wherein the inverse quantizer is a windowed inverse quantizer where a current output of the windowed inverse quantizer depends on a finite window of past inputs.

[0252] Example 85. The apparatus according to example 82, where the inverse quantizer takes as inputs both quantization output of a state vector previously generated by the inverse quantizer and saved from the previous time slot, and the bit vector from the current time slot.

[0253] Example 86. The apparatus according to example 85, wherein the inverse quantizer is a recurrent inverse quantizer where an output of the recurrent inverse quantizer depends on an entire past history of inputs.

[0254] Example 87. The apparatus according to any of examples 83 to 84, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the space-frequency decoder and inverse quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of latent vectors produced by a space-frequency of an encoder and outputs of estimated latent vectors produced by the inverse quantizer at the decoder.

[0255] Example 88. The apparatus according to example 87, wherein the inverse quantizer is performed by a neural network.

[0256] Example 89. The apparatus according to any of examples 85 to 86, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the space-frequency decoder and inverse quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of latent vectors produced by a space-frequency encoder and outputs of estimated latent vectors produced by a recurrent inverse quantizer at a decoder; and the recurrent inverse quantizer at the encoder is a copy of the recurrent inverse quantizer at the decoder, and parameters of the recurrent inverse quantizer at the encoder and the inverse quantizer at the decoder are forced to remain equal in the training.

[0257] Example 90. The apparatus according to example 89, wherein the inverse quantizer is performed by a neural network.

[0258] Example 91. The apparatus according to any of examples 82 to 86, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the decoder in training using a dataset, where the dataset is shared between an encoder and the decoder for the training.

[0259] Example 92. The apparatus according to any of examples 85 to 86, wherein inverse quantizer comprises a recurrent inverse quantizer, and wherein using the inverse quantizer comprises estimating a latent vector using uncertainty interval tracking comprising: determining by the recurrent inverse quantizer that the latent vector was between certain limits in the previous time slot; determining by the recurrent inverse quantizer that the latent vector should satisfy expanded limits for the current time slot that are the certain limits modified by a delta; and based on a state of the recurrent inverse quantizer that is indicated by the state vector from the previous time slot, forming by the recurrent inverse quantizer an uncertainty interval for the latent vector using the state of the recurrent inverse quantizer and the expanded limits.

[0260] Example 93. The apparatus according to any of any of examples 85 to 86, wherein the inverse quantizer comprises a recurrent inverse quantizer, and wherein, for the recurrent inverse quantizer: performing generating an estimated latent vector comprising generating a state vector comprising estimated upper and lower bounds on a value of a component of the latent vector; the estimated latent vector generated by the recurrent inverse quantizer is a value between the estimated upper bound and estimated lower bound; the estimated upper and lower bounds are based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters based on bits in the bit vector that is input to the recurrent inverse quantizer; and the estimated upper and lower bounds are also based on bits in the bit vector indicating whether the component of the latent vector is above or below a threshold.

[0261] Example 94. The apparatus according to any of examples 82 to 93, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform receiving, in the bitstream, indication of a reset indicating to the decoder to reset its inverse quantizer by performing one or more initialization steps for the inverse quantizer; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform performing, by the decoder, one or more initialization steps to reset at least the inverse quantizer on the decoder, instead of performing an operation step using the inverse quantizer to form the estimated latent vector.

[0262] Example 95. The apparatus according to example 80, wherein receiving the indication of the reset comprises receiving indication of the reset that uses a reserved value, as the indication of the reset, as some or all of the bit vector.

[0263] Example 96. The apparatus according to any of examples 82 to 95, wherein the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform using the channel state information matrix that was output for beamforming.

[0264] Example 97. A computer program, comprising instructions which, when the program is executed by an apparatus, cause the apparatus to carry out the methods of any of examples 1 to 32.

[0265] Example 98. The computer program according to example 97, wherein the computer program is a computer program product comprising a computer-readable medium bearing the instructions embodied therein for use with the apparatus.

[0266] Example 99. The computer program according to example 97, wherein the computer program is directly loadable into an internal memory of the apparatus.

[0267] As used in this application, the term “circuitry” may refer to one or more or all of the following:

[0268] (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry) and

[0269] (b) combinations of hardware circuits and software, such as (as applicable): (i) a combination of analog and / or digital hardware circuit(s) with software / firmware and (ii) any portions of hardware processor(s) (including digital signal processor(s)) with software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and

[0270] (c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.

[0271] This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.

[0272] Embodiments herein may be implemented in software (executed by one or more processors), hardware (e.g., an application specific integrated circuit), or a combination of software and hardware. In an example embodiment, the software (e.g., application logic, an instruction set) is maintained on any one of various conventional computer-readable media. In the context of this document, a “computer-readable medium” may be any media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer, with one example of a computer described and depicted, e.g., in FIG.9. A computer-readable medium may comprise a computer-readable storage medium (e.g., memories 15, 75, and 95 or other device) that may be any media or means that can contain, store, and / or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer. A computer- readable storage medium does not comprise propagating signals, and therefore may be considered to be non- transitory. The term “non-transitory”, as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM, random access memory, versus ROM, read-only memory).

[0273] If desired, the different functions discussed herein may be performed in a different order and / or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined.

[0274] Although various aspects of the invention are set out in the independent claims, other aspects of the invention comprise other combinations of features from the described embodiments and / or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims.

[0275] It is also noted herein that while the above describes example embodiments of the invention, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope of the present invention as defined in the appended claims.

[0276] The following abbreviations that may be found in the specification and / or the drawing figures are defined as follows:

[0277] 3GPP third generation partnership project

[0278] 5G fifth generation

[0279] AMF access and mobility management function

[0280] BS base station

[0281] concat concatenation

[0282] CSI channel state information

[0283] DFT Discrete Fourier transform

[0284] E-SMLC evolved serving mobile location center

[0285] eNB (or eNodeB) evolved Node B (e.g., an LTE base station)

[0286] FC fully connected

[0287] GMLC Gateway Mobile Location Center

[0288] gNB (or gNodeB) base station for 5G / NR

[0289] LTE long term evolution

[0290] MIMO Multiple input, multiple output

[0291] ML machine learning

[0292] NF network function

[0293] ng or NG next generation

[0294] NR new radio

[0295] NRF Network Repository Function

[0296] N / W or NW network

[0297] PRB physical resource block

[0298] RAN radio access network

[0299] ReLU rectified linear activation function

[0300] RQ recurrent quantization

[0301] Rx receiver

[0302] SF space-frequency

[0303] SFT space-frequency-time

[0304] TRP transmission-reception point

[0305] Tx transmitter

[0306] UDM unified data management

[0307] UDR unified data repository

[0308] UE user equipment (e.g., a wireless, typically mobile device)

[0309] UIT uncertainty interval tracking

Claims

1. What is claimed is:

1. An apparatus, comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in an encoding process for channel state information in a communication system, performing, by a space-frequency encoder, space-frequency encoding of a channel state information matrix to form a latent vector; quantizing the latent vector using a quantizer that forms a bit vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is generated by the space-frequency encoder or by the quantizer; and transmitting at least the bit vector on a bitstream.

2. The apparatus according to claim 1, where the quantizer takes as inputs both the latent vector in the current time slot and the latent vector saved from the previous time slot.

3. The apparatus according to claim 2, wherein the quantizer is a windowed quantizer where a current output of the windowed quantizer depends on a finite window of past inputs.

4. The apparatus according to claim 1, where the quantizer takes as inputs both the latent vector in the current time slot and a state vector previously generated by the quantizer and saved from the previous time slot.

5. The apparatus according to claim 1, wherein the quantizer is a recurrent quantizer where an output of the recurrent quantizer depends on an entire past history of inputs.

6. The apparatus according to claim 5, wherein: the recurrent quantizer comprises a corrective quantizer and a recurrent inverse quantizer; the recurrent inverse quantizer takes as an input the bit vector from the previous time slot and a state vector output by the recurrent inverse quantizer and saved from a time slot prior to the previous time slot, and the recurrent inverse quantizer outputs both a state vector that corresponds to the previous time slot and an estimated latent vector that corresponds to the previous time slot; and the corrective quantizer takes as input the latent vector for the current time slot and the estimated latent vector that corresponds to the previous time slot, and outputs the bit vector.

7. The apparatus according to claim 5, wherein: the recurrent quantizer comprises a corrective quantizer and a recurrent inverse quantizer; the recurrent inverse quantizer takes as an input the bit vector from the current time slot and a state vector output by the recurrent inverse quantizer and saved from the previous time slot, and the recurrent inverse quantizer outputs both a state vector and an estimated latent vector; and the corrective quantizer takes as inputs the latent vector for the current time slot, and one or both of the following: a delayed version of the state vector output by the recurrent inverse quantizer; or a delayed version of the estimated latent vector that was output by the recurrent inverse quantizer.

8. The apparatus according to any of claims 1 to 7, wherein: the space-frequency encoder and quantizer form part of an encoder; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the space-frequency encoder and quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of the latent vectors produced by the space-frequency encoder and outputs of estimated latent vectors produced by an inverse quantizer at a decoder.

9. The apparatus according to claim 8, wherein the quantizer is performed by a neural network.

10. The apparatus according to any of claims 6 to 7, wherein: the space-frequency encoder and quantizer form part of an encoder; the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the space-frequency encoder and quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of the latent vectors produced by the space-frequency encoder and outputs of estimated latent vectors produced by a recurrent inverse quantizer at a decoder; and the recurrent inverse quantizer at the encoder is a copy of the recurrent inverse quantizer at the decoder, and parameters of the recurrent inverse quantizer at the encoder and a recurrent inverse quantizer at the decoder are forced to remain equal in the training.

11. The apparatus according to claim 10, wherein the recurrent inverse quantizer and the corrective quantizer are performed by at least one neural network.

12. The apparatus according to any of claims 1 to 7, wherein: the space-frequency encoder and quantizer form part of an encoder; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the encoder in training that uses a dataset used by the space-frequency encoder for the training, where the dataset is shared between the encoder and a decoder for the training.

13. The apparatus according to any of claims 6 to 7, wherein quantizing the latent vector uses uncertainty interval tracking comprising: determining by the recurrent inverse quantizer that the latent vector was between certain limits in the previous time slot; determining by the recurrent inverse quantizer that the latent vector should satisfy expanded limits for the current time slot that are the certain limits modified by a delta; and based on a state of the recurrent inverse quantizer that is indicated by the state vector from the previous time slot, forming by the recurrent inverse quantizer an uncertainty interval for the estimated latent vector using the state of the recurrent inverse quantizer and the expanded limits.

14. The apparatus according to any of claims 6 to 7, wherein, for the recurrent inverse quantizer: performing generating the latent vector comprising generating a state vector comprising estimated upper and lower bounds on a value of a component of an estimated latent vector; the estimated latent vector generated by the recurrent inverse quantizer is a value between the estimated upper bound and estimated lower bound; the estimated upper and lower bounds are based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters based on bits in the bit vector that is input to the recurrent inverse quantizer; and the estimated upper and lower bounds are also based on bits in the bit vector indicating whether the component of the latent vector is above or below a threshold.

15. The apparatus according to any of claims 6, 7, or 14, wherein for the corrective quantizer: the bit vector generated for output by the corrective quantizer comprises bits indicating whether a component of the latent vector is above or below a threshold; the threshold is calculated based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters by the corrective quantizer; and the bit vector generated by the corrective quantizer comprises bits indicating a value of the delta parameter selected by the corrective quantizer.

16. The apparatus according to any of claims 1 to 15, wherein: the space-frequency encoder and quantizer form part of an encoder; transmitting on the bitstream comprises transmitting indication of a reset toward a decoder indicating to the decoder to reset its inverse quantizer by performing one or more initialization steps for the inverse quantizer; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform performing, by the encoder, one or more initialization steps to reset at least a quantizer on the encoder, instead of performing an operation step using the quantizer to quantize the latent vector.

17. The apparatus according to claim 16, wherein transmitting on the bitstream comprises transmitting indication of the reset by using a reserved value, as the indication of the reset, as some or all of the bit vector.

18. An apparatus, comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in a decoding process for channel state information in a communication system, performing inverse quantization of a bit vector, received in a bitstream, using an inverse quantizer that forms an estimated latent vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the inverse quantizer during a current time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is a delayed version of the bit vector or is generated by the inverse quantizer; and performing space-frequency decoding, by a space-frequency decoder, of the estimated latent vector to form an estimated channel state information matrix; and outputting the estimated channel state information matrix.

19. The apparatus according to claim 18, where the inverse quantizer takes as inputs both a bit vector saved from the previous time slot and a bit vector from the current time slot.

20. The apparatus according to claim 19, wherein the inverse quantizer is a windowed inverse quantizer where a current output of the windowed inverse quantizer depends on a finite window of past inputs.

21. The apparatus according to claim 18, where the inverse quantizer takes as inputs both quantization output of a state vector previously generated by the inverse quantizer and saved from the previous time slot, and the bit vector from the current time slot.

22. The apparatus according to claim 21, wherein the inverse quantizer is a recurrent inverse quantizer where an output of the recurrent inverse quantizer depends on an entire past history of inputs.

23. The apparatus according to any of claims 19 to 20, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the space-frequency decoder and inverse quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of latent vectors produced by a space-frequency of an encoder and outputs of estimated latent vectors produced by the inverse quantizer at the decoder.

24. The apparatus according to claim 23, wherein the inverse quantizer is performed by a neural network.

25. The apparatus according to any of claims 21 to 22, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the space-frequency decoder and inverse quantizer in training that uses a database of latent vectors for the training, and where the training uses stochastic gradient descent to minimize a distance function between inputs of latent vectors produced by a space-frequency encoder and outputs of estimated latent vectors produced by a recurrent inverse quantizer at a decoder; and the recurrent inverse quantizer at the encoder is a copy of the recurrent inverse quantizer at the decoder, and parameters of the recurrent inverse quantizer at the encoder and the inverse quantizer at the decoder are forced to remain equal in the training.

26. The apparatus according to claim 25, wherein the inverse quantizer is performed by a neural network.

27. The apparatus according to any of claims 18 to 22, wherein: the space-frequency decoder and inverse quantizer form part of a decoder; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform participating by the decoder in trainingusing a dataset, where the dataset is shared between an encoder and the decoder for the training.

28. The apparatus according to any of claims 21 to 22, wherein inverse quantizer comprises a recurrent inverse quantizer, and wherein using the inverse quantizer comprises estimating a latent vector using uncertainty interval tracking comprising: determining by the recurrent inverse quantizer that the latent vector was between certain limits in the previous time slot; determining by the recurrent inverse quantizer that the latent vector should satisfy expanded limits for the current time slot that are the certain limits modified by a delta; and based on a state of the recurrent inverse quantizer that is indicated by the state vector from the previous time slot, forming by the recurrent inverse quantizer an uncertainty interval for the latent vector using the state of the recurrent inverse quantizer and the expanded limits.

29. The apparatus according to any of any of claims 21 to 22, wherein the inverse quantizer comprises a recurrent inverse quantizer, and wherein, for the recurrent inverse quantizer: performing generating an estimated latent vector comprising generating a state vector comprising estimated upper and lower bounds on a value of a component of the latent vector; the estimated latent vector generated by the recurrent inverse quantizer is a value between the estimated upper bound and estimated lower bound; the estimated upper and lower bounds are based on an increased upper bound and decreased lower bound; the increased upper bound is based on a sum of a previous estimated upper bound and a delta parameter; the decreased lower bound is based on a difference of a previous estimated lower bound and a delta parameter; the delta parameter is selected from a set of possible delta parameters based on bits in the bit vector that is input to the recurrent inverse quantizer; and the estimated upper and lower bounds are also based on bits in the bit vector indicating whether the component of the latent vector is above or below a threshold.

30. The apparatus according to any of claims 18 to 29, wherein: the space-frequency decoder and inverse quantizer form part of a decoder;the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform receiving, in the bitstream, indication of a reset indicating to the decoder to reset its inverse quantizer by performing one or more initialization steps for the inverse quantizer; and the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform performing, by the decoder, one or more initialization steps to reset at least the inverse quantizer on the decoder, instead of performing an operation step using the inverse quantizer to form the estimated latent vector.

31. The apparatus according to claim 16, wherein receiving the indication of the reset comprises receiving indication of the reset that uses a reserved value, as the indication of the reset, as some or all of the bit vector.

32. The apparatus according to any of claims 18 to 31, wherein the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform using the channel state information matrix that was output for beamforming.

33. A method, comprising: in an encoding process for channel state information in a communication system, performing, by a space-frequency encoder, space-frequency encoding of a channel state information matrix to form a latent vector; quantizing the latent vector using a quantizer that forms a bit vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the quantizer during a current time slot operates on a latent vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is generated by the space-frequency encoder or by the quantizer; and transmitting at least the bit vector on a bitstream.

34. A method, comprising: in a decoding process for channel state information in a communication system, performing inverse quantization of a bit vector, received in a bitstream, using an inverse quantizer that forms an estimated latent vector and that operates over at least current and previous time slots, where the current time slot is after the previous time slot, where the inverse quantizer during acurrent time slot operates on a bit vector generated in the current time slot and a value generated in the previous time slot, where the value generated in the previous time slot is a delayed version of the bit vector or is generated by the inverse quantizer; and performing space-frequency decoding, by a space-frequency decoder, of the estimated latent vector to form an estimated channel state information matrix; and outputting the estimated channel state information matrix.

35. A computer program, comprising instructions which, when the program is executed by an apparatus, cause the apparatus to carry out the method of claim 33 or 34.

Citation Information

Patent Citations

  • Communication station and method for efficiently providing channel feedback for MIMO communications

    US20120045003A1