Graphical application integration with MPEG objects
First Claim
1. A method of providing an image to a client device from an application execution environment having a layout engine that assembles graphical components into a graphical user interface screen for a graphical application, and a rendering library that renders graphical components into pixels, the method comprising:
- receiving, from the layout engine, one or more paint instructions having parameters that pertain to a given graphical object;
computing a hash value based on the received one or more paint instructions;
when the hash value is contained within a cache memory, retrieving, from the cache memory, encoded audiovisual data that are uniquely associated with the hash value, and transmitting the retrieved audiovisual data to the client device; and
when the hash value is not contained within the cache memory,forwarding the received one or more paint instructions to the rendering library for rendering the graphical object into pixels according to the one or more paint instructions,encoding the rendered pixels into encoded audiovisual data,storing the hash value and the encoded audiovisual data in the cache memory, wherein the hash value and the encoded audiovisual data are uniquely associated, andtransmitting the encoded audiovisual data to the client device.
2 Assignments
0 Petitions
Accused Products
Abstract
System and methods are provided to cache encoded graphical objects that may be subsequently combined with other encoded video data to form a data stream decodable by a client device according to a format specification. Paint instructions relating to a graphical object are sent from a layout engine to a rendering library. A shim intercepts these instructions and determines whether the graphical object already has been rendered and encoded. If so, a cached copy of the object is transmitted to the client device. If not, the shim transparently passes the instructions to the rendering library, and the object is rendered, encoded, and cached. Hash values are used for efficiency. Methods are disclosed to detect and cache animations, and to cut and splice cached objects into encoded video data.
-
Citations
24 Claims
-
1. A method of providing an image to a client device from an application execution environment having a layout engine that assembles graphical components into a graphical user interface screen for a graphical application, and a rendering library that renders graphical components into pixels, the method comprising:
-
receiving, from the layout engine, one or more paint instructions having parameters that pertain to a given graphical object; computing a hash value based on the received one or more paint instructions; when the hash value is contained within a cache memory, retrieving, from the cache memory, encoded audiovisual data that are uniquely associated with the hash value, and transmitting the retrieved audiovisual data to the client device; and when the hash value is not contained within the cache memory, forwarding the received one or more paint instructions to the rendering library for rendering the graphical object into pixels according to the one or more paint instructions, encoding the rendered pixels into encoded audiovisual data, storing the hash value and the encoded audiovisual data in the cache memory, wherein the hash value and the encoded audiovisual data are uniquely associated, and transmitting the encoded audiovisual data to the client device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A tangible device on which is stored non-transitory computer program code for providing an image to a client device from an application execution environment having a layout engine that assembles graphical components into a graphical user interface screen for a graphical application, and a rendering library that renders graphical components into pixels, the computer program code comprising:
-
program code for receiving, from the layout engine, one or more paint instructions having parameters that pertain to a given graphical object; program code for computing a hash value based on the received one or more paint instructions; program code for retrieving, from a cache memory, encoded audiovisual data that are uniquely associated with the hash value, and transmitting the retrieved audiovisual data to the client device when the hash value is contained within the cache memory; and program code for; forwarding the received one or more paint instructions to the rendering library for rendering the graphical object into pixels according to the one or more paint instructions, encoding the rendered pixels into encoded audiovisual data, storing the hash value and the encoded audiovisual data in the cache memory, wherein the hash value and the encoded audiovisual data are uniquely associated, and transmitting the encoded audiovisual data to the client device, when the hash value is not contained within the cache memory. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system for providing an image to a client device from an application execution environment having a layout engine that assembles graphical components into a graphical user interface screen for a graphical application, and a rendering library that renders graphical components into pixels, the system comprising:
-
a memory; a shim comprising hardware or a combination of hardware and software that is configured to; receive, from the layout engine, one or more paint instructions having parameters that pertain to a given graphical object, compute a hash value based on the received one or more paint instructions, and when the hash value is not contained within the memory, forward the received one or more paint instructions to the rendering library for rendering the graphical object into pixels according to the one or more paint instructions; and a controller comprising hardware or a combination of hardware and software that is configured to; retrieve, from the memory, encoded audiovisual data that are uniquely associated with the hash value, and transmit the retrieved audiovisual data to the client device when the hash value is contained within the memory; and transmit, to the client device, encoded audiovisual data comprising a rendering of the graphical object into pixels according to the received one or more paint instructions when the hash value is not contained within the memory. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification