I've been working independently on a solution for this problem and now have a working proof-of-concept using real data to demonstrate it. I did a search to see if anyone else was addressing this challenge, and came up with this rather old thread.
Happy to share my link, algorithms etc if there is still any interest?