US2019196681A1PendingUtilityA1

Hybrid systems and methods for low-latency user input processing and feedback

65
Assignee: TACTUAL LABS COPriority: Oct 5, 2012Filed: Mar 1, 2019Published: Jun 27, 2019
Est. expiryOct 5, 2032(~6.2 yrs left)· nominal 20-yr term from priority
G06F 3/14G06F 9/451G06F 3/03545G06F 3/0484G06T 1/20G06F 3/0488G06F 3/04847G06F 3/04817
65
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
1 . 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.