Method and system for image sequence transfer scheduling
First Claim
1. An apparatus for generating and communicating encoded images, comprising:
- one or more graphics processors for rendering, for each display of a plurality of displays, a plurality of images from a plurality of drawing command sets;
one or more hardware based encoders that generate an encoding of each image of the plurality of images, wherein each encoding comprises indications of changed and unchanged portions of a corresponding image of the plurality of images;
at least one storage device storing processor-executable instructions which, when executed by one or more processors, coupled to the one or more graphics processors and the one or more hardware based encoders, performs a method comprising;
generating each drawing command set of the plurality of drawing commands sets by executing, on the one or more processors, a separate virtual machine (VM) of a plurality of VMs in response to Human Input Device (HID) events received via an Internet Protocol (IP) network from a network location associated with a corresponding display of the plurality of displays, wherein the plurality of images represent application output of a remote desktop session; and
scheduling generation of the encoding of each image of the plurality of images based on completion of(i) a rendering of an associated image from the plurality of images and(ii) a transmitting at an available IP network bandwidth, via the IP network, of an encoding of a previously associated image from the plurality of images, wherein scheduling generation of a first encoding of the plurality of images increases a use of an image communication resource in response to an input event associated with the first encoding and scheduling generation of the first encoding comprises dropping at least one image rendered from the plurality of drawing commands sets.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for generating and communicating encoded images. In one embodiment, the apparatus comprises a graphics processor for rendering, for each display of a plurality of displays, a plurality of images from a plurality of drawing command sets, wherein each drawing command set is generated by a separate VM of a plurality of VMs in response to HID events received from a network location associated with a corresponding display; an image encoder for generating an encoding of each image of the plurality of images, each encoding comprising indications of changed and unchanged portions of a corresponding image; and a scheduler, coupled to the image encoder by a computer expansion bus, for scheduling generation of the encoding based on completion of (i) a rendering of an associated image from the plurality of images and (ii) a transmitting, via the IP network, of an encoding of a previously associated image.
-
Citations
18 Claims
-
1. An apparatus for generating and communicating encoded images, comprising:
-
one or more graphics processors for rendering, for each display of a plurality of displays, a plurality of images from a plurality of drawing command sets; one or more hardware based encoders that generate an encoding of each image of the plurality of images, wherein each encoding comprises indications of changed and unchanged portions of a corresponding image of the plurality of images; at least one storage device storing processor-executable instructions which, when executed by one or more processors, coupled to the one or more graphics processors and the one or more hardware based encoders, performs a method comprising; generating each drawing command set of the plurality of drawing commands sets by executing, on the one or more processors, a separate virtual machine (VM) of a plurality of VMs in response to Human Input Device (HID) events received via an Internet Protocol (IP) network from a network location associated with a corresponding display of the plurality of displays, wherein the plurality of images represent application output of a remote desktop session; and scheduling generation of the encoding of each image of the plurality of images based on completion of (i) a rendering of an associated image from the plurality of images and (ii) a transmitting at an available IP network bandwidth, via the IP network, of an encoding of a previously associated image from the plurality of images, wherein scheduling generation of a first encoding of the plurality of images increases a use of an image communication resource in response to an input event associated with the first encoding and scheduling generation of the first encoding comprises dropping at least one image rendered from the plurality of drawing commands sets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for generating and communicating encoded images, comprising:
-
rendering, by one or more graphics processors and for each display of a plurality of displays, a plurality of images from a plurality of drawing command sets; generating, by one or more hardware encoders, an encoding of each image of the plurality of images, wherein each encoding comprises indications of changed and unchanged portions of a corresponding image of the plurality of images; generating each drawing command set of the plurality of drawing commands sets by executing, on one or more processors, a separate virtual machine (VM) of a plurality of VMs in response to Human Input Device (HID) events received via an Internet Protocol (IP) network from a network location associated with a corresponding display of the plurality of displays, wherein the plurality of images represent application output of a remote desktop session; and scheduling, by a scheduler executing on the one or more processors, generation of the encoding of each image of the plurality of images based on completion of (i) a rendering of an associated image from the plurality of images and (ii) a transmitting, via the IP network, of a previous encoding of a previously associated image from the plurality of images, wherein scheduling generation of a first encoding of the plurality of images increases a use of an image communication resource in response to an input event associated with the first encoding, and scheduling generation of the first encoding comprises dropping at least one image rendered from the plurality of drawing commands sets in rendering the plurality of images and wherein the one or more processors are coupled to the one or more hardware encoders by a computer expansion bus. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification