Hybrid systems and methods for low-latency user input processing and feedback
Abstract
A system for processing user input includes an input device, an input processing unit, a high-latency subsystem, a low-latency subsystem, input processing unit software for generating signals in response to user inputs, and an output device. The low-latency subsystem processes signals corresponding to at least some events and generates corresponding programmable low-latency output, the programmable output being based, at least in part, on state information being maintained by the high-latency subsystem. The high-latency subsystem processes signals corresponding to at least some events, and generates corresponding output, the output of the high-latency subsystem being higher latency than the output of the low-latency subsystem with respect to a given event.
Claims
exact text as granted — not AI-modified1 . A method for processing user input, comprising:
maintaining state information relating to an existing state, wherein the state information is maintained with a high-latency subsystem; receiving signals via a user input; obtaining the state information relating to the existing state, wherein the state information is obtained using a low-latency subsystem; generating at least one programmable low-latency output based at least in part on the state information and at least some of the signals, the low-latency output being output with low latency relative to the high-latency subsystem; generating at least one high-latency output using at least some of the signals, wherein the high-latency output is generated by the high-latency subsystem; and wherein the low-latency subsystem processes at least some of the signals independently of the high-latency subsystem.
2 . The method of claim 1 , further comprising decimating signals received via the user input.
3 . The method of claim 2 , wherein the decimation of signals received comprises windowed averaging of the signals received.
4 . The method of claim 2 , wherein the decimation of signals received involves weighted averaging of the signals received.
5 . The method of claim 1 , wherein the low-latency subsystem comprises UI element logic.
6 . The method of claim 1 , further comprising pre-rendering using the high-latency subsystem.
7 . The method of claim 1 , further comprising reducing processing load of the high-latency subsystem by off-loading processing tasks to the low-latency subsystem.
8 . A method for processing user input, comprising:
receiving signals via a user input; exchanging state information between a low-latency subsystem and a high-latency subsystem, wherein the low-latency subsystem responds to received signals faster than the high-latency subsystem; generating at least one low-latency output based at least in part on at least some of the received signals, the low-latency output being output with low latency relative to the high-latency subsystem; generating at least one high-latency output using at least some of the received signals, wherein the high-latency output is generated by the high-latency subsystem; and wherein the low-latency subsystem processes at least some of the signals independently of the high-latency subsystem.
9 . The method of claim 8 , further comprising decimating signals received via the user input.
10 . The method of claim 9 , wherein the decimation of signals received comprises windowed averaging of the signals received.
11 . The method of claim 9 , wherein the decimation of signals received involves weighted averaging of the signals received.
12 . The method of claim 8 , wherein the low-latency subsystem comprises UI element logic.
13 . The method of claim 8 , further comprising pre-rendering using the high-latency subsystem.
14 . The method of claim 8 , further comprising reducing processing load of the high-latency subsystem by off-loading processing tasks to the low-latency subsystem.
15 . A method for processing user input, comprising:
detecting user inputs; outputting a stream of input events corresponding to detected user input; receiving at least one event from the stream of user input events corresponding to the detected user input at a high-latency subsystem, wherein the high-latency subsystem maintains state information; generating an output with the high-latency subsystem; and receiving at least a portion of the stream of user input events corresponding to the detected user input; and generating an output with a low-latency subsystem, wherein the generated output of the lower-latency subsystem is lower latency than the output of the high-latency subsystem, wherein the output of the lower-latency subsystem is based, at least in part, on the state information.
16 . The method of claim 15 , further comprising decimating the stream of input events.
17 . The method of claim 16 , wherein the decimation of the stream of input events comprises windowed averaging of the stream of input events.
18 . The method of claim 16 , wherein the decimation of the stream of input event involves weighted averaging of the stream of input events.
19 . The method of claim 15 , wherein the low-latency subsystem comprises UI element logic.
20 . The method of claim 15 , further comprising pre-rendering using the high-latency subsystem.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.