Systems and methods for reducing latency through
motion estimation and compensation techniques are disclosed. The systems and methods include a
client device that uses transmitted lookup tables from a remote
server to match
user input to motion vectors, and tag and sum those motion vectors. When a remote
server transmits encoded video frames to the
client, the
client decodes those video frames and applies the summed motion vectors to the decoded frames to estimate motion in those frames. In certain embodiments, the systems and methods generate motion vectors at a
server based on predetermined criteria and transmit the generated motion vectors and one or more invalidators to a client, which caches those motion vectors and invalidators. The server instructs the client to receive input from a user, and use that input to match to cached motion vectors or invalidators. Based on that comparison, the client then applies the matched motion vectors or invalidators to effect motion compensation in a graphic interface. In other embodiments, the systems and methods cache
repetitive motion vectors at a server, which transmits a previously generated
motion vector library to a client. The client stores the
motion vector library, and monitors for
user input data. The server instructs the client to calculate a
motion estimate from the input data and instructs the client to update the stored
motion vector library based on the input data, so that the client applies the stored motion vector library to initiate motion in a graphic interface prior to receiving actual motion vector data from the server. In this manner, latency in video data streams is reduced.