Monday, January 14, 2019

Making the fixed bandwidth mouse tracker

We are talking low bandwidth, the user can isolate a Y position to four pixels in about a half second. That is not much. is target is about the size of a small button, 20-30 pixels?  This comes to a resolution of 1/8, the human  mouse movement is only a three bit generator, a tracking history of the most significant eight responses in the recent history.  I get this number using  using a Fitts rule approximation, I can divide the button onto eight equal parts with the resolution and stay within bounded error.

So my back of the envelope tells me already that a Huffman  tree, adaptive, will be a sorted tee of rank four at the most, to cover computing error. I need a rank four model that generates the typical 16 measurment sequence, but I will only match tracking o three bit precision.

So it is, take a new measurement, sort it onto the tree, then respond with the typical value for that 'quant' not the actual value.    The users natural 'acceleration' curves will become embedded in the compression tree.  The user and filter agreeing on the ebst set of quants for the current situation, just like a good search engine does. The user thus triggers the expected response with  typical gesture, though is may have error.  This works, it is TOE, after all.

It is a better form of neural net

We maintain the tree in the precision of incoming data, a normal Huffman tree finding the best encoding for an infinite sequence.  When the tree grows beyond rank four, we prune it by scaling and rounding the node value until the tree drops back to rank four.  Then, as each need dt point comes  in, the filter responds with the same path (down he tree), stopped at rank three, t he typical value within in the human precision.  Human really set the rank of their generator at set up.  They can also set the sampling rate, but a sampling rate of 10 times a second is more than enough.

The vector of response is just the trend deltas vector filtered,  it is still straight line to destination. Vector direction is much more accurate than velocity quantity. and x y assumed independent. So we record absolute movement history, absolute quants used by the user in the channel regardless of direction. Direct is an a short term filtering, least a squares, of the recent deltas.

No comments: