Abstract:
A method for transmitting a computer display image. In one embodiment, the method comprises determining a pixel boundary, referenced to a sub-tile boundary within a grid of tiles, for a changed portion of the image; identifying i) a uniform tile within the changed portion referenced to a first tile and ii) at least one hybrid sub-tile, associated with the sub-tile boundary, within the changed portion referenced to a second tile adjacent the first tile; engaging an SIMD vector processor to transform the uniform tile to an exit matrix, transform the at least one hybrid sub-tile to at least one DC coefficient, and transform the exit matrix to a first DC coefficient and the at least one DC coefficient to a second DC coefficient; quantizing, encoding and transmitting coefficients of the first and second tiles; and transmitting a binary mask specification for the changed portion adjusted to the sub-tile boundary.
Abstract:
A method and apparatus for motion determination comprising generating a hash value for each changed pixel in a frame of an image display sequence, the changed pixels indicated in a set of sparse display coordinates, for each changed pixel, overwriting (X, Y) information at a position in a symbol table indexed by the hash value, the (X, Y) information comprising one display coordinate associated with the each changed pixel, generating motion vectors for a frame, each motion vector specifying a pixel area determined from at least one (X, Y) delta between one of the changed pixels represented in the symbol table and a previously changed pixel represented at the position in a previous frame symbol table for a previous frame in the image display sequence, and transmitting the motion vectors from the host computer over a network to a client computer.
Abstract:
Embodiments of the present invention are directed towards a method and apparatus for managing power consumption of a client computer, comprising receiving, by a host computer from the client computer, a battery power management object (BPMO) related to a remote computing session, the host computer communicatively coupled to the client computer by the remote computing session and adjusting, by the host computer based on the battery power management object, at least one of i) at least one parameter associated with the remote computing session or ii) a source definition for the remote computing session.
Abstract:
A method and apparatus for accessing a computer resource, wherein, during a first access sequence, the computer resource receives credentials of a user from a device the user is using to access the computer resource, encrypts the credentials using at least a first credentials key stores the encrypted credentials, communicates the first credentials key to a connection broker or to the device, and purges the first credentials key. The computer resource, during a subsequent access sequence, receives the first credentials key, decrypts the encrypted credentials using the first credentials key, and purges the first credentials key. The computer resource authenticates the user using the credentials and purges the credentials after the user is authenticated and enables the device to access the computer resource following the authentication of the user.
Abstract:
The present invention describes exemplary embodiments of a method and apparatus for transmitting raster graphics. The method comprises determining a region, from 3D scene information for quality adjustment in a raster sequence of frames, wherein the raster sequence is generated by a graphics processing unit (the GPU) and consumed by an image encoder and the 3D scene information is provided by the GPU to the image encoder via shared memory and adjusting, by the image encoder, quality for the region according to the 3D scene information and a resource target for encodings of the raster sequence of frames.
Abstract:
Methods of encoding an image stream. In one embodiment, the method comprises generating, by a computer, a lossless encoding of a first portion of a frame of an image based on identifying the first portion as (i) changed since a previous frame of the image and (ii) comprising a first image type; generating an initial quality lossy encoding of a second portion of the frame based on identifying the second portion as (iii) changed since the previous frame and (iv) comprising a second image type; and generating a quality improvement encoding of a third portion of the frame based on identifying the third portion as (v) unchanged since the previous frame and (vi) encoded to less than a defined quality.
Abstract:
A method and apparatus for encoding an image is disclosed. In one embodiment, the method comprises identifying initial pixels within a spatially defined sub-section, the initial pixels at least a defined number of pixels each comprising a first color; identifying background pixels, the background pixels comprising the first color and in a first defined spatial proximity to the initial pixels; identifying text pixels, the text pixels contrasting the first color and in a second defined spatial proximity to the background pixels; identifying picture pixels as all pixels other than the background pixels and the text pixels; generating a background encoding comprising (i) spatial locations of the background pixels and (ii) a lossless encoding of the first color; generating a text encoding identifying a spatial location and a lossless color encoding of each of the text pixels; and generating a picture encoding comprising a lossy encoding of the picture pixels.
Abstract:
A system encodes an image for a remote client. A graphics processor unit (GPU) renders an image in response to graphics commands received from a central processing unit (CPU) virtual machine. Image attributes are determined by display requirements from the remote client. A display encoder is associated with the GPU, encodes the image, and operates independent of the rendering of the image. A network interface may be associated with the CPU, GPU or display encoder and may transmit the encoded image across a network to the remote client.
Abstract:
A method and apparatus for sequencing remote desktop connections. In one embodiment, the method comprises receiving, at a processor, a session exchange request from a first client in a first connection to a remote desktop; selecting, by the processor, a second client for connection to the remote desktop based on the session exchange request; configuring, by the processor, the second client; and orchestrating, by the processor, a second connection between the second client and the remote desktop.
Abstract:
Methods of encoding an image stream. In one embodiment, the method comprises analyzing, for each block in a plurality of image blocks, changes from the same block in previous image frames; classifying each block as a non-video block if it has changed from a corresponding block in an immediately previous frame; re-classifying each non-video block as a video block if it meets video block requirements; encoding each non-video block having a first image type to a lossless quality level; encoding each non-video block having a second image type to a first lossy quality level; and encoding each video block to a second lossy quality level, wherein each of the lossless quality level, the first and the second lossy quality levels define a measurable image quality level of a decoded output of a corresponding block at a client computer, wherein the image frame comprises separate video insert, text and picture portions.