WO0209039A2

Method and system for displaying a composited image

Abstract

An efficient method and system for displaying integrated transparent objects and animation with a window, such as an Internet Web page is described. The present invention implements a plugin-control, such as a Netscape plugin or ActiveX control, in the host program, such as a Web browser, wherein the plugin-control provides at least one graphics buffer in addition to the buffers used by the host program. The plugin-control can function according to the host program Application Programming Interface (API) for the plugin-control under which the at least one additional buffer is used to composite a "compositing plane" containing the transparent objects and animation with the host program window and where the resulting composited scene is returned to the host program buffers as part of the regular host program draw pipe. Additionally, the host program API may be circumvented and the resulting composited scene may be written directly to the front buffer for display on the display device. In particular, in one embodiment, the plugin-control implements the at least one additional buffer it provides in the system memory in order to improve the performance of compositing images with many transparent pixels with a Web browser window. This improvement results from both the faster reading of data from the system memory than from video and the higher number of read-modify-write operations where a large number of transparent pixels exist and from current Web browser implementation of buffers solely in video memory.

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

96 claims: 7 independent, 89 dependent

  1. 1
    WHAT IS CLAIMED IS:1. A method for displaying a composited image, comprising: (a) creating, by a plugin-control, a compositing plane in a system memory;(b) receiving, by the plugin-control, from a video memory a background image;(c) storing, by the plugin-control, the received background image in the system memory;(d) compositing, by the plugin-confrol, the compositing plane and the stored background image to form the composited image;and (e) writing, by the plugin-control, the composited image to a buffer in the video memory.
  2. 28
    A method for displaying a composited image combimng a background image from a host program and a compositing plane from an external program, comprising:(a) creating, by the external program, the compositing plane in a system memory;(b) receiving, from the host program, a from a video memory the background image;(c) caching, by the external program, the background image in the system memory;(d) compositing, by the external program, the compositing plane and the background image to form the composited image;and (e) writing, by the external program, the composited image to a buffer in the video memory.
  3. 52
    A system for displaying a composited image, comprising:a system memory;a video memory;a graphics controller, wherein the graphics controller is adapted to: (i) create and manage at least two buffers in the video memory, the at least two buffers including a front buffer and a back buffer, (ii) render a background image into the back buffer, and (iii) swap between the at least two buffers in video memory to update a video display;and a plugin-control, wherein the plugin-control is adapted to: (i) create and manage at least one buffer in system memory, (ii) copy the background image from the back buffer, (iii) store the background image in the at least one buffer in system memory, (iv) composite the compositing plane and the background image to form a composited image, and (v) copy the composited image to a buffer in the video memory.
  4. 93
    A set of instructions residing in a storage medium, the set of instructions capable of being executed by a processor to implement a method for displaying a composited image, the method comprising the steps of:(a) creating, by a plugin-confrol, a compositing plane in a system memory;(b) receiving, by the plugin-control, from a video memory a background image;(c) storing, by the plugin-control, the background image in the system memory;(d) compositing, by the plugin-control, the compositing plane and the background image to form the composited image;and (e) writing, by the plugin-confrol, the composited image to a buffer in the video memory.
  5. 94
    A set of instructions residing in a storage medium, the set of instructions capable of being executed by a processor to implement a method for displaying a composited image, the method comprising the steps of:(a) creating, by a plugin-control, a compositing plane in a system memory;(b) receiving, by the plugin-confrol, from a video memory a background image;(c) storing, by the plugin-confrol, the background image in the system memory;(d) compositing, by the plugin-control, the compositing plane and the background image to form the composited image;and (e) writing, by the plugin-control, the composited image directly to a front buffer in the video memory without first writing the composited image to a back buffer.
  6. 95
    A set of instructions residing in a storage medium, the set of instructions capable of being executed by a processor to implement a method for displaying a composited image, the method comprising the steps of:(a) creating a compositing plane in a system memory;(b) receiving from a video memory a background image;(c) caching the background image in the system memory;(d) compositing the compositing plane and the background image to form the composited image;and (e) writing the composited image to a buffer in the video memory.
  7. 96
    A set of instructions residing in a storage medium, the set of instructions capable of being executed by a processor to implement a method for displaying a composited image, the method comprising the steps of:(a) creating a compositing plane in a system memory;(b) receiving from a video memory a background image;(c) caching the background image in the system memory;(d) compositing the compositing plane and the background image to form the composited image;and (e) writing the composited image directly to a front buffer in the video memory without first writing the composited image to a back buffer.