# Adaptive Predictive Coding: Transmit signal AND prediction coefficients

I'm not well versed in the literature so please forgive/inform me if my terminology is wrong:

I have a bounded real-valued, discrete-time signal $$x_n \in \mathbb [0, 1]$$, and I want to (lossily) transmit this signal via a bitstream $$q_n \in \{0, 1\}$$, so that it can be reconstructed into $$\hat x_n$$, and the average reconstruction error $$\frac1N \sum_{n=1}^N (x_n - \hat x_n)^2$$ is minimised.

$$x_n$$ will in general be temporally redundant, and I'd like to exploit this redundancy to make the most efficient use of my bits. In my case, I expect $$x_n$$ to settle towards a fixed point for a long time and then suddenly jump towards a new fixed point (as you may expect from the trace of a single pixel in video).

Example Signal: It goes though "settling" phases where it remains fairly static, and "dynamic" phases where it transitions quickly towards a new settling point.

From what I gather, Predictive Coding is the standard approach here - subtract the predictable component of the signal, encode the rest, and reconstruct the predictable component on the other end. The trouble is that the optimal predictive coding parameters (at least for a Linear Predictive Coder) will change depending on the state of the signal: When $$x$$ is dynamic, I expect to encode it at a coarse resolution. When $$x$$ is static, I expect to use my bits to communicate fine increments to the value of $$x$$. So I need to communicate my predictive coding coefficients along the same bitstream $$q_n$$.

Is there a standard approach for this kind of problem?

• Would it be possible to mention where the signal is coming from and possibly provide an example trace? – A_A Dec 6 '18 at 12:52
• Hi. i added an example there. In my application, the signal is the activation of a neuron in a neural network that settles towards a fixed point. When the input to the network changes, the network is disturbed and must settle to a new fixed point. – Peter Dec 6 '18 at 14:25
• Thank you, that is great. Do you have any indication as to how many bits you have and what would be the sort of acceptable error? There are a couple of options available but maybe your margins are too tight (?). – A_A Dec 6 '18 at 14:56
• Well I guess for any given signal I'm just looking to minimize the error. As a starting point, what are the names of the available options? – Peter Dec 6 '18 at 15:32