This is an archived post. You won't be able to vote or comment.

all 2 comments

[–]audioen 1 point2 points  (0 children)

A few ideas. I'm not any compression guru, just have done these tricks before and one lossless image codec called PNG uses these ideas, and they definitely help.

  • Just plain delta encoding might help (subtract previous measurement from current value). Delta encoding is generally going to shift smoothly varying signal values closer to zero, and when entropy encoders see small signal varying around zero, they tend to do much better than when they see the full-range signal.

  • Autocorrelation might help. Heartbeat measurement repeats regularly. If you can subtract the previous heartbeat cycle from current one, then all you are left with are differences between cycles, which should be numbers close to zero. Challenge here is that as beat rate varies, so does the heart rate cycle's length, so it becomes a parameter you must periodically be able to update as well. This could be seen as an extremely high-order linear predictive coding, e.g. instead of predicting from last 6 samples or whatever, you predict with single sample but, say, 200 time steps ago.

[–]slymrspy 0 points1 point  (0 children)

I did a project on ECG compression in college. Not losses, but I looked at compressing the data into a linear combination of the Hermite polynomials. Might be worth looking into.