Hybrid systems and methods for low-latency user input processing and feedback
First Claim
Patent Images
1. A system for processing user input, comprising:
- display comprising a visualization of a user interface;
user input device comprising at least one selected from the group consisting of touch input and pen input, the user input device configured to output signals corresponding to user input;
input processor operatively connected to the user input device, the input processor configured to receive the signals corresponding to user input and to emit signals corresponding to the received signals, the input processor being configured to emit at least some of the emitted signals to a first graphical processor and output system and to simultaneously emit the at least some of the emitted signals to a second graphical processor and output system;
the first graphical processor and output system comprising application software running in a software stack, the first graphical processing and output system configured to receive the at least some of the emitted signals and to cause an application logic response that can affect the visualization of the user interface on the display and to output the application logic response for use by the display in response to the at least some of the emitted signals;
the second graphical processor and output system implemented at least partially in hardware, the second graphical processor and output system configured to receive the at least some of the emitted signals and to cause a basic system response that is not a response from the application software that can affect the visualization of the user interface on the display and to output the generated basic system response for use by the display in response to the at least some of the emitted signals;
wherein the at least one basic system response is dependent upon the state information reflecting at least one state of the first graphical processor and output system;
wherein, with respect to the response to the at least some of the emitted signals, the second graphical processor and output system is configured to output the generated basic system response with low latency relative to the output of the application logic response by the first graphical processor and output system; and
the display being configured to display at least some of the basic system response and at least some of the application logic response on the visualization of the user interface, wherein basic system response visualization and the application logic response visualization are combined on the display by at least one of;
logically combining the basic system response and the application logic response visualizations in a display buffer, overlapping two transparent layers each capable of displaying one of the application logic response and basic system response visualizations, interlacing pixels of the display such that some are filled from the basic system response visualization and some are filled from the application logic response visualization, or interlacing the frames of the display such that some are filled from the basic system response visualization and some are filled from the application logic response visualization.
5 Assignments
0 Petitions
Accused Products
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 receives the signals and generates low-latency output and the high-latency subsystem processes the signals and generates high-latency output.
29 Citations
116 Claims
-
1. A system for processing user input, comprising:
-
display comprising a visualization of a user interface; user input device comprising at least one selected from the group consisting of touch input and pen input, the user input device configured to output signals corresponding to user input; input processor operatively connected to the user input device, the input processor configured to receive the signals corresponding to user input and to emit signals corresponding to the received signals, the input processor being configured to emit at least some of the emitted signals to a first graphical processor and output system and to simultaneously emit the at least some of the emitted signals to a second graphical processor and output system; the first graphical processor and output system comprising application software running in a software stack, the first graphical processing and output system configured to receive the at least some of the emitted signals and to cause an application logic response that can affect the visualization of the user interface on the display and to output the application logic response for use by the display in response to the at least some of the emitted signals; the second graphical processor and output system implemented at least partially in hardware, the second graphical processor and output system configured to receive the at least some of the emitted signals and to cause a basic system response that is not a response from the application software that can affect the visualization of the user interface on the display and to output the generated basic system response for use by the display in response to the at least some of the emitted signals; wherein the at least one basic system response is dependent upon the state information reflecting at least one state of the first graphical processor and output system; wherein, with respect to the response to the at least some of the emitted signals, the second graphical processor and output system is configured to output the generated basic system response with low latency relative to the output of the application logic response by the first graphical processor and output system; and the display being configured to display at least some of the basic system response and at least some of the application logic response on the visualization of the user interface, wherein basic system response visualization and the application logic response visualization are combined on the display by at least one of;
logically combining the basic system response and the application logic response visualizations in a display buffer, overlapping two transparent layers each capable of displaying one of the application logic response and basic system response visualizations, interlacing pixels of the display such that some are filled from the basic system response visualization and some are filled from the application logic response visualization, or interlacing the frames of the display such that some are filled from the basic system response visualization and some are filled from the application logic response visualization. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system for processing user input, comprising:
-
display comprising a visualization of a user interface; user input device configured to output signals corresponding to user input; input processor operatively connected to the user input device, the input processor configured to receive the signals corresponding to user input and to emit a stream of signals corresponding to at least some of the received signals, the input processor being configured to emit the stream of signals to a first graphical processor and output system and to simultaneously emit the stream of signals to a second graphical processor and output system; the first graphical processor and output system comprising application software configured to receive the stream of signals and to generate application logic data that can affect the visualization of the user interface on the display and to output the application logic data for use by the display in response to at least some of the stream of signals received by the first graphical processor and output system; the second graphical processor and output system configured to receive the stream of signals and to generate basic data that is not a response from the application software that can affect the visualization of the user interface on the display and to output the generated basic data for use by the display in response to the at least some of the stream of signals received by the second graphical processor and output system, the second graphical processor and output system being configured to output the generated basic data with low latency relative to the output of the application logic data by the first output graphical processor and output system; wherein the basic data is dependent upon the state information reflecting at least one state of the first graphical processor and output system, and; the display being configured to merge at least some of the basic data and at least some of the application logic data onto the visualization of the user interface, by at least one of;
logically combining the basic data and the at least some of the application logic data visualizations in a display buffer, overlapping two transparent layers each capable of displaying one of the basic and application logic visualizations, interlacing pixels of the display such that some are filled from the basic data visualizations and some are filled from the application logic data visualizations, or interlacing the frames of the display such that some are filled from the basic data visualizations and some are filled from the application logic visualizations. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A system for processing user input, comprising:
-
input device; input processor; high-latency subsystem processor comprising application software; low-latency subsystem processor implemented at least partially in hardware; input processor for generating signals in response to user inputs; and
,output device; wherein the low-latency subsystem processor receives the signals and generates at least one basic output that is not a response from the application software with low latency relative to the high-latency subsystem processor and the high-latency subsystem processor processes at least some of the signals and causes generation of at least one application logic output with high latency relative to the low-latency subsystem processor; wherein the basic output is dependent upon the state information reflecting at least one state of the high-latency subsystem processor; wherein the input device, the input processor, the high-latency subsystem processor, the low-latency subsystem processor, the input processor software and the output device being arranged such that; the low-latency processor subsystem operates independently of and parallel to the high-latency processing subsystem processor; and at least some of the user input signals are processed by both the low-latency subsystem processor and the high-latency subsystem processor, the low-latency subsystem processor outputting to the output device a response to a given user input signal with low-latency and the high-latency subsystem processor causing output to the output device a response to the given user input signal with high-latency; and the output device being configured to merge at least some of the basic output and at least some of the application logic output by at least one of;
logically combining the basic output and the at least some of the application logic output visualizations in a display buffer, overlapping two transparent layers each capable of displaying one of the basic output visualization and application logic output visualization, interlacing pixels of the display such that some are filled from the basic output visualization and some are filled from the application logic visualization, or interlacing the frames of the display such that some are filled from the basic output visualization and some are filled from the application logic output visualization. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
-
-
61. A system for processing user input, comprising:
-
input device; input processor; high-latency subsystem processor comprising application software running in a software stack; low-latency subsystem processor; input processor configured to generate signals in response to user inputs; and
,output device; wherein the low-latency subsystem processor processes the signals with low latency relative to the high-latency subsystem processor and the high-latency subsystem processor processes the user input events with high latency relative to the low-latency subsystem processor; wherein the low-latency subsystem processor receives the signals and generates at least one basic output that is not a response from the application software with low latency relative to the high-latency subsystem processor and the high-latency subsystem processor processes at least some of the signals and generates at least one application logic output with high latency relative to the low-latency subsystem processor; wherein the basic output is dependent upon the state information reflecting at least one state of the high-latency subsystem processor; wherein the input device, the input processor, the high-latency subsystem processor, the low-latency subsystem processor, the input processor software and the output device being arranged such that; the low-latency subsystem processor operates independently of and parallel to the high-latency subsystem processor; and at least some of the user input signals are processed by both the low-latency subsystem processor and the high-latency subsystem processor, the low-latency subsystem processor outputting to the output device a response to a given user input signal with low-latency subsystem processor and the high-latency subsystem processor outputting to the output device a response to the given user input signal with high-latency; and the output device being configured to merge at least some of the basic output and at least some of the application logic output by at least one of;
logically combining the basic output and the at least some of the application logic output visualizations in a display buffer, overlapping two transparent layers each capable of displaying one of a basic output visualization and an application logic output visualization, interlacing pixels of the display such that some are filled from the basic output visualization and some are filled from the application logic output visualization, or interlacing the frames of the display such that some are filled from the basic output visualization and some are filled from the application logic output visualization. - View Dependent Claims (62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
-
79. A system for processing user input, comprising:
-
input subsystem processor including an input device, the subsystem configured to output signals in response to a plurality of user inputs to the input device, the signals comprising information concerning the input; low-latency subsystem processor configured to receive the signals and to generate a basic response that is not a response from an application software in response to at least two of the signals, and to send at least one of the at least two signals to a high-latency subsystem processor; the high-latency subsystem processor comprising application software configured to receive the at least one of the at least two signals, and to cause an application logic response in response to one or more of the at least one of the at least two signals; output device operatively connected to the low-latency subsystem processor and the high-latency subsystem processor, the output device configured to blend the basic response and the application logic response; wherein the at least one basic response is dependent upon the state information reflecting at least one state of the high-latency subsystem processor, and; wherein the low-latency subsystem processor causes the basic response with low latency relative to the high-latency subsystem processor and the high-latency subsystem processor causes the application logic response with high latency relative to the low-latency subsystem processor; and an output device being configured to merge at least some of the basic response and at least some of the application logic response by at least one of;
logically combining the basic response and the at least some of the application logic response visualizations in a display buffer, overlapping two transparent layers each capable of displaying one of the application logic response visualization and basic response visualization, interlacing pixels of the display such that some are filled from the basic response visualization and some are filled from the application response visualization, or interlacing the frames of the display such that some are filled from the basic response visualization and some are filled from the application logic response visualization. - View Dependent Claims (80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97)
-
-
98. A system for processing user input with low latency, comprising:
-
an input device; output device; an input processor; input processor software configured to generate signals in response to user inputs; a high-latency response subsystem processor comprising application software configured to cause an application logic response to at least some of the signals; a low-latency response subsystem processor implemented at least partially in hardware, the low-latency response subsystem processor configured to cause a basic response that is not a response from the application software to at least some of the signals, the low-latency response subsystem processor comprising one or more parameters affecting the low-latency response; wherein the basic response is not of higher latency than the application logic response, and the application logic response is not of lower latency than the basic response with respect to common signals; wherein the basic response is dependent upon the state information reflecting at least one state of the high-latency response subsystem processor; an output device being configured to merge at least some of the basic response and at least some of the application logic response by at least one of;
logically combining the basic response and the at least some of the application logic response visualizations in a display buffer, overlapping two transparent layers each capable of displaying one of the basic response visualization and the application logic response visualization, interlacing pixels of the display such that some are filled from the basic response visualization and some are filled from the application logic visualization, or interlacing the frames of the display such that some are filled from the basic response visualization and some are filled from the application response visualization;wherein the input device, output device, the input processor, input processor software, the high-latency response subsystem processor and the low-latency response subsystem processor are arranged such that; the user input signals are processed in parallel by said low-latency subsystem processor and said high-latency subsystem processor; the output device outputs the basic response and the application logic response; and wherein application software can alter the one or more parameters affecting the basic response. - View Dependent Claims (99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116)
-
Specification