System and method for on-the-fly key color generation
AssigneenComputing Inc.
InventorsAnita Chowdhry, Subir Ghosh
Life of this patent
Estimating the term…
Abstract
The video output system in a computer system reads pixel information from a frame buffer to generate a video output signal. In addition, a full-motion video may also be displayed. Reading from both the frame buffer and the full-motion video buffer when displaying the full-motion video window wastes valuable memory bandwidth. Thus, the disclosed system provides a system and methods for identifying where the video output system must read from the frame buffer and where it must read from the full-motion video buffer while minimizing the amount of area it reads from both the frame buffer and the full-motion video buffer.
Claims31
A digital video display system, said digital video display system comprising:
- a frame buffer, said frame buffer comprising a digital representation of a display screen;
- a frame buffer data structure defining a first set of slices specific to said frame buffer;
- a full-motion video window definition, said full-motion video window definition defining an area of said frame buffer wherein a full-motion video is to be displayed using a full-motion video data structure defining a second set of slices specific to a full-motion video buffer, a scale of said second set of slices being different than a scale of said first set of slices, said second set of slices representing said area of said full-motion video wherein said full-motion video is to be displayed;
- the full-motion video buffer, said full-motion video buffer comprising a representation of a full-motion video;
- an overlay window locator, said overlay window locator determining sub-areas of said full-motion video window that are obscured by at least one overlay window, said first set of slices representing a portion of said area being obscured by said at least one overlay window;
- and
- a display data reading system for a video output system, said display data reading system reading
- from said frame buffer while scanning said frame buffer at a location not within said full-motion video window definition or when said overlay window locator specifies an overlay window, wherein reading from said frame buffer is based on said frame buffer data structure,
- else from said full-motion video buffer, wherein reading from said full-motion video buffer is based on said full-motion video data structure.
A digital video display system, said digital video display system comprising:
- a frame buffer, said frame buffer comprising a digital representation of a display screen;
- a frame buffer data structure defining a first set of slices specific to said frame buffer;
- a full-motion video window definition, said full-motion video window definition defining a full-motion video window area of said frame buffer wherein a full-motion video is to be displayed using a full-motion video data structure defining a second set of slices specific to a full-motion video buffer, a scale of said second set of slices being different than a scale of said first set of slices, said second set of slices representing said area of said full-motion video wherein said full-motion video is to be displayed, said first set of slices representing a portion of said area being obscured by said at least one overlay window, said full motion video window area overlaid by one or more overlay windows;
- the full-motion video buffer, said full-motion video buffer comprising a representation of a full-motion video;
- an overlay window detector, said overlay window detector detecting,
- a first set of sub areas of said full-motion video window definition not blocked by said overlay windows,
- a second set of sub areas of said full-motion video window definition fully blocked by said overlay windows, and
- a third set of sub areas of said full-motion video window definition partially blocked by said overlay windows;
- and
- a display data reading system for a video output system, said display data reading system reading data
- from said frame buffer while scanning a location not within said full-motion video window definition, wherein reading from said frame buffer is based on said frame buffer data structure,
- from said full-motion video buffer while scanning said first set of sub areas of said full-motion video window definition not blocked by said overlay windows, wherein reading from said full-motion video buffer is based on said full-motion video data structure,
- from said frame buffer while scanning said second set of sub areas of said full-motion video window definition fully blocked by said overlay windows, and
- from said frame buffer and said full-motion video buffer while scanning said third set of sub areas of said full-motion video window definition partially blocked by said overlay windows.
A method of generating a video signal in a digital video system, said method comprising:
- receiving a location of a full-motion video window, said full-motion video window location defining an area of a frame buffer wherein a full-motion video is to be displayed within a frame buffer including defining the area using a full-motion video data structure defining a second set of slices specific to a full-motion video buffer, a scale of said second set of slices being different than a scale of a first set of slices of a frame buffer data structure defining the first set of slices specific to the frame buffer, said second set of slices representing said area of said full-motion video wherein said full-motion video is to be displayed, said first set of slices representing a portion of said area being obscured by said at least one overlay window, said frame buffer comprising a digital representation of a display screen;
- receiving locations of overlay windows overlaid on top of said full-motion video window;
- and
- during a scan of said frame buffer for display
- reading from said frame buffer when scanning outside of said full-motion video window location or crossing an overlay window, wherein reading from said frame buffer is based on said frame buffer data structure, and
- reading from a full-motion video buffer when scanning within said full-motion video window location and not crossing an overlay window, wherein reading from said full-motion video buffer is based on said full-motion video data structure.
A method of generating a video signal in a digital video system, said method comprising:
- receiving a location of a full-motion video window, said full-motion video window location defining an area of a frame buffer wherein a full-motion video is to be displayed within a frame buffer including defining the area using a full-motion video data structure defining a second set of slices specific to a full-motion video buffer, a scale of said second set of slices being different than a scale of a first set of slices of a frame buffer data structure defining the first set of slices specific to the frame buffer, said second set of slices representing said area of said full-motion video wherein said full-motion video is to be displayed, said first set of slices representing a portion of said area being obscured by said at least one overlay window, said frame buffer comprising a digital representation of a display screen, said full-motion video window location having overlay windows overlaid on top of said full-motion video window;
- detecting
- a first set of sub areas of said full-motion video window definition not blocked by said overlay windows,
- a second set of sub areas of said full-motion video window definition fully blocked by said overlay windows, and
- a second set of sub areas of said full-motion video window definition partially blocked by said overlay windows;
- and
- scanning said frame buffer for display, during said scan of said frame buffer for display, reading data
- from said frame buffer while scanning a location not within said full-motion video window definition, wherein reading from said frame buffer is based on said frame buffer data structure,
- from said full-motion video buffer while scanning said first set of sub areas of said full-motion video window definition not blocked by said overlay windows, wherein reading from said full-motion video buffer is based on said full-motion video data structure,
- from said frame buffer while scanning said second set of sub areas of said full-motion video window definition fully blocked by said overlay windows, and
- from said frame buffer and said full-motion video buffer while scanning said third set of sub areas of said full-motion video window definition partially blocked by said overlay windows.
Dependencies are inferred from the claim text.