Patent application number | Description | Published |
20090080523 | REMOTE USER INTERFACE UPDATES USING DIFFERENCE AND MOTION ENCODING - Frames of user interface graphical data can be remotely rendered at a client during a remote session with a server by providing graphical data commands to the client. The commands include motion commands derived from objects that change position between a current frame and a new frame and delta commands derived from differences between the frames. The delta commands can be generated from a frame update after applying motion commands or without applying motion commands. A server identifies moving objects having a first position in the current frame and a second position in the new frame, generates motion hints for the moving objects, and reduces the motion hints based on collision detection, motion verification and other factors. Motion commands are generated for the reduced set of motion hints and applied to a copy of the current frame at the server. Differences between the modified current frame and the new frame are then encoded as delta commands. The server then sends the motion commands and delta commands to the client. The client receives and applies the commands to the current frame to render the new frame. | 03-26-2009 |
20090097751 | REMOTE USER INTERFACE RASTER SEGMENT MOTION DETECTION AND ENCODING - Raster segment commands are generated by a delta encoder and are encoded for raster segments detected to have moved in the current frame with respect to a location of the raster segment in a previous frame. Raster segment motion commands are stored in a queue and, when written, copy a raster segment into the current frame from a previous payload or cache. When written from the queue to a payload, raster segment motion commands are applied to a copy of the current frame maintained at the server using a copy of the previous payload sent. When copying a raster segment from a raster segment cache, a raster segment cache command retrieves identified raster segment data from the raster segment cache and copies the raster segment into a particular location in the current frame at the client. The raster segment commands are sent to a client via a payload to copy a raster segment from a previous payload into the current frame at the client or from a raster segment cache to the current frame. | 04-16-2009 |
20090100125 | OPTIMIZED KEY FRAME CACHING FOR REMOTE INTERFACE RENDERING - Frames of user interface (UI) graphical data can be remotely rendered more efficiently at a client during a remote session with a server by utilizing graphical data cached at the client to prevent re-sending data to the client that was sent in previous payloads. By using cache memory to remember recurring frames of similar UI data and delta encoding to correct areas that are not similar, encoded payload sizes are greatly reduced. When a cached frame is closer to a new frame than the current frame, the cached frame is selected and delta commands are derived from differences between the selected cache frame and the new frame. The differences between the cached frame and the new frame are then encoded as delta commands and the cache commands and delta commands are sent to the client which receives and applies the commands to render the new frame. | 04-16-2009 |
20090100483 | COMMON KEY FRAME CACHING FOR A REMOTE USER INTERFACE - Common key frames are provided to a client during initialization to provide more efficient remoting of user interface graphical information. By storing the common key frames at the client, the common key frames may be loaded quicker and more efficiently at the client without having to resend graphical information for each common key frame each time a common key frame is used to provide a new frame. Differences between a selected common key frame and the new frame are encoded as delta commands. A payload containing a common key frame command, which identifies a common key frame at the client, and delta commands which encode differences between the selected common key frame and new frame is sent to the client. The client receives the payload, sets a cached common key frame as the current frame, applies the delta commands to the selected common key frame, and renders the new frame. | 04-16-2009 |
20120092445 | AUTOMATICALLY TRACKING USER MOVEMENT IN A VIDEO CHAT APPLICATION - A system for automatically tracking movement of a user participating in a video chat application executing in a computing device is disclosed. A capture device connected to the computing device captures a user in a field of view of the capture device and identifies a sub-frame of pixels identifying a position of the head, neck and shoulders of the user in a capture frame of a capture area. The sub-frame of pixels is displayed to a remote user at a remote computing system who is participating in the video chat application with the user. The capture device automatically tracks the position of the head, neck and shoulders of the user as the user moves to a next location within the capture area. A next sub-frame of pixels identifying a position of the head, neck and shoulders of the user in the next location is identified and displayed to the remote user at the remote computing device. | 04-19-2012 |
20120093481 | INTELLIGENT DETERMINATION OF REPLAYS BASED ON EVENT IDENTIFICATION - A system for intelligently determining replay locations in a multimedia content stream based on identifying events in the multimedia content stream is provided. In one embodiment, events in the multimedia content stream are identified by analyzing information in the multimedia content stream, in real time. In another embodiment, events in the multimedia content stream are identified by analyzing the viewing behavior and an emotional response from users viewing the multimedia content, in real time. One or more replay locations in the multimedia content stream are determined based on the events identified in the multimedia content stream. The multimedia content stream with the replay locations are displayed to a user via a user interface in the user's processing device. | 04-19-2012 |
20120096368 | CLOUD-BASED VIRTUAL CLIPBOARD - A system and method are disclosed for quickly and easily making data from one device available to other devices in a user's collection of computing devices. In one example, each of a user's computing devices includes a client-side clipboard application. A cloud clipboard service may be resident on a server to which each of the user's computing devices are operatively connected. Data from a local clipboard buffer on a user's computing device is automatically uploaded by the associated client-side clipboard application to the cloud clipboard service. Thereafter, the uploaded data it is automatically propagated to a user's other networked devices for use on those devices. Data from one user uploaded to the cloud clipboard service may also be propagated to the devices of one or more other users. | 04-19-2012 |
20120105463 | REMOTE USER INTERFACE RASTER SEGMENT MOTION DETECTION AND ENCODING - Raster segment commands are generated by a delta encoder and are encoded for raster segments detected to have moved in the current frame with respect to a location of the raster segment in a previous frame. Raster segment motion commands are stored in a queue and, when written, copy a raster segment into the current frame from a previous payload or cache. When written from the queue to a payload, raster segment motion commands are applied to a copy of the current frame maintained at the server using a copy of the previous payload sent. When copying a raster segment from a raster segment cache, a raster segment cache command retrieves identified raster segment data from the raster segment cache and copies the raster segment into a particular location in the current frame at the client. The raster segment commands are sent to a client via a payload to copy a raster segment from a previous payload into the current frame at the client or from a raster segment cache to the current frame. | 05-03-2012 |
20120133675 | REMOTE USER INTERFACE UPDATES USING DIFFERENCE AND MOTION ENCODING - Frames of user interface graphical data can be remotely rendered at a client during a remote session with a server by providing graphical data commands to the client. A server identifies moving objects having a first position in the current frame and a second position in the new frame, generates motion hints for the moving objects, and reduces the motion hints based on collision detection, motion verification and other factors. Motion commands are generated for the reduced set of motion hints and applied to a copy of the current frame at the server. Differences between the modified current frame and the new frame are then encoded as delta commands. The server then sends the motion commands and delta commands to the client. The client receives and applies the commands to the current frame to render the new frame. | 05-31-2012 |
20130208014 | DISPLAY WITH BLOCKING IMAGE GENERATION - A blocking image generating system including a head-mounted display device having an opacity layer and related methods are disclosed. A method may include receiving a virtual image to be presented by display optics in the head-mounted display device. Lighting information and an eye-position parameter may be received from an optical sensor system in the head-mounted display device. A blocking image may be generated in the opacity layer of the head-mounted display device based on the lighting information and the virtual image. The location of the blocking image in the opacity layer may be adjusted based on the eye-position parameter. | 08-15-2013 |
20140040357 | OPTIMIZED KEY FRAME CACHING FOR REMOTE INTERFACE RENDERING - Frames of user interface (UI) graphical data can be remotely rendered more efficiently at a client during a remote session with a server by utilizing graphical data cached at the client to prevent re-sending data to the client that was sent in previous payloads. By using cache memory to remember recurring frames of similar UI data and delta encoding to correct areas that are not similar, encoded payload sizes are greatly reduced. When a cached frame is closer to a new frame than the current frame, the cached frame is selected and delta commands are derived from differences between the selected cache frame and the new frame. The differences between the cached frame and the new frame are then encoded as delta commands and the cache commands and delta commands are sent to the client which receives and applies the commands to render the new frame. | 02-06-2014 |