Remote Server Environment
First Claim
1. A method of viewing and controlling a computer display remotely on a client device comprising:
- configuring a computer with at least one processing module and at least one input device configured for receiving user input of a first type;
modifying the computer resolution to reduce the encoding effort and scaling for displaying on the client;
capturing at least one computer image stream at a first frame rate using said at least one processing module;
packaging said at least one image stream for transmission to at least one client device using said at least one processing module;
encoding a packaged image stream, on a frame-by-frame basis, using said at least one processing module;
transmitting an encoded image stream to a client device using said processing module and a computer network interface via at least one network;
receiving a transmitted image stream on said at least one client device using a client network interface;
decoding a received image stream, on a frame-by-frame basis, using a decoding module on said at least one client device;
displaying a decoded image stream at said first frame rate on a display of said at least one client device;
receiving at least one client input of a second input type on said at least one client device;
translating said at least one client input of a second input type into a translated input of a first input type, thereby forming at least one control instructiontransmitting said at least one client input of a second input type from at least one client device to said computer via said at least one network interface and via said at least one network;
receiving said at least one client input of a second input type by said computer network interface; and
controlling said computer using said at least one control instruction.
1 Assignment
0 Petitions
Accused Products
Abstract
A system in which computer content is encoded at low latency and distributed to one or more client devices and in which user gestures on the client device are translated into a digital representation of the computer'"'"'s native input format, thereby allowing the client device to control the computer. A method of capturing screen data on a desktop system, packaging the captured content, streaming the content to one or more client device, decoding the content on the client-side, displaying the decoded content on the client device, accepting user input, transmitting the user input to the desktop system, translating the input into a native format, and controlling the desktop system using the translated user input.
134 Citations
30 Claims
-
1. A method of viewing and controlling a computer display remotely on a client device comprising:
-
configuring a computer with at least one processing module and at least one input device configured for receiving user input of a first type; modifying the computer resolution to reduce the encoding effort and scaling for displaying on the client; capturing at least one computer image stream at a first frame rate using said at least one processing module; packaging said at least one image stream for transmission to at least one client device using said at least one processing module; encoding a packaged image stream, on a frame-by-frame basis, using said at least one processing module; transmitting an encoded image stream to a client device using said processing module and a computer network interface via at least one network; receiving a transmitted image stream on said at least one client device using a client network interface; decoding a received image stream, on a frame-by-frame basis, using a decoding module on said at least one client device; displaying a decoded image stream at said first frame rate on a display of said at least one client device; receiving at least one client input of a second input type on said at least one client device; translating said at least one client input of a second input type into a translated input of a first input type, thereby forming at least one control instruction transmitting said at least one client input of a second input type from at least one client device to said computer via said at least one network interface and via said at least one network; receiving said at least one client input of a second input type by said computer network interface; and controlling said computer using said at least one control instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A multi-modal method of viewing and controlling a computer display remotely on a client device comprising:
-
configuring a computer with at least one processing module;
a computer display; and
at least one input device configured for receiving user input of a first type;capturing a computer image stream at a first frame rate using said at least one processing module; packaging said image stream for transmission to at least one client device using said at least one processing module; encoding a packaged image stream, on a frame-by-frame basis, using said at least one processing module; transmitting an encoded image stream to a client device using said processing module and a computer network interface via at least one network; receiving a transmitted image stream on said at least one client device using a client network interface; decoding a received image stream, on a frame-by-frame basis, using a decoding module on said at least one client device; displaying, in a first display mode, a decoded image stream at said first frame rate on a display of said at least one client device; monitoring said at least one client device to determine if a threshold period of time lapses without a user input on said at least one client device; determining that a threshold period has lapsed, thereby triggering a second display mode comprising; selectively skipping frames of said received image stream, thereby building an image stream buffer; and displaying, in said second display mode, said decoded image stream at said first frame rate minus said skipped frames on a display of said at least one client device; receiving at least one client input of a second input type on said at least one client device, thereby triggering a reversion to said first display mode; catching up to a current frame of said received transmitted image stream, thereby discarding said buffer; displaying, in said first display mode, said decoded image stream at said first frame rate on a display of said at least one client device; transmitting said at least one client input of a second input type from at least one client device to said computer via said at least one network interface and via said at least one network; receiving said at least one client input of a second input type by said computer network interface; translating said at least one client input of a second input type into a translated input of a first input type using said at least one using said at least one processing module, thereby forming at least one control instruction; and controlling said computer using said at least one control instruction. - View Dependent Claims (19, 20, 21)
-
-
22. A system for viewing and controlling a computer display remotely on a client device comprising:
-
a computer system comprising; a processor; at least one input device configured for receiving user input of a first type; a screen capture module configured for modifying the display resolution and capturing at least one computer image stream at a first frame rate; a packaging module configured for packaging said at least one image stream for transmission to at least one client device; an encoder module configured for encoding a packaged image stream, on a frame-by-frame basis; and a network interface operatively coupled with said processor and configured for transmitting an encoded image stream to a client device; and a client device comprising; a client device processor; a receiver configured for receiving a transmitted image stream on said at least one client device; a decoder configured for decoding a received image stream, on a frame-by-frame basis; a client device display configured for displaying a decoded image stream at said first frame rate; a client input system configured for receiving user input of a second type; an input translation module configured for translating said at least one client input of a second input type into a translated input of a first input type in part or full using, thereby forming at least one control instruction; and a transmitter configured for transmitting said at least one control instruction to said computer; wherein said network interface of said computer system is further configured for receiving said at least one control instruction by said computer network interface; wherein said computer system further comprises a controller configured controlling at least one application running on said computer using said at least one control instruction. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A system for translating inputs comprising:
-
a first computer device comprising; a processor; a memory device; a display configured for displaying an image stream; and a user input system configured for receiving inputs of a first input type selected from among mouse pointer and clicks, video game controller inputs, gyroscope rotational inputs, accelerometer inputs, camera inputs, and microphone inputs; at least one additional computer device comprising; at least one additional processor; at least one additional memory device; at least one additional display configured for displaying an image stream; at least one additional user input system configured for receiving inputs of a second input type that is different from said first input type and that is selected from among mouse pointer and clicks, gyroscope rotational inputs, accelerometer inputs, camera inputs, and microphone inputs; an input translation module, operatively coupled with said first computer device and with said at least one additional computer device, and configured for translating said first input type into said second input type, in part or in full.
-
-
30. A system for viewing and controlling a computer display remotely on a client device comprising:
-
a computer system comprising; a processor; at least one input device configured for receiving user input of a first type; a screen capture module configured for modifying the display resolution and capturing at least one computer image stream at a first frame rate; a packaging module configured for packaging said at least one image stream for transmission to at least one client device; an encoder module configured for encoding a packaged image stream, on a frame-by-frame basis; and a network interface operatively coupled with said processor and configured for transmitting an encoded image stream to a client device; and a client device comprising; a client device processor; a receiver configured for receiving a transmitted image stream on said at least one client device; a decoder configured for decoding a received image stream, on a frame-by-frame basis; a client device display configured for displaying a decoded image stream at said first frame rate in a first display mode; a client input system configured for receiving user input of a second type; an input monitor configured for monitoring said at least one client device to determine if a threshold period of time lapses without a user input on said at least one client device; a multi-modal trigger module configured for determining that a threshold period has lapsed, thereby triggering a second display mode; wherein, while in said second display mode, said client device processor is further configured for selectively skipping frames of said received image stream, thereby building an image stream buffer wherein, while in said second display mode, said client device processor is further configured for displaying, said decoded image stream at said first frame rate minus said skipped frames on a display of said at least one client device; wherein said client device processor is further configured for reverting to said first display mode upon receiving a input; an input translation module configured for translating said at least one client input of a second input type into a translated input of a first input type in part or full using, thereby forming at least one control instruction; and a transmitter configured for transmitting said at least one control instruction to said computer; wherein said network interface of said computer system is further configured for receiving said at least one control instruction by said computer network interface; wherein said computer system further comprises a controller configured controlling at least one application running on said computer using said at least one control instruction.
-
Specification