Memory management techniques for large sprite objects

Computer graphics processing and selective visual display system – Computer graphics processing – Animation

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C348S403100, C348S420100, C382S248000

Reexamination Certificate

active

06184900

ABSTRACT:

TECHNICAL FIELD
The present invention relates to reducing the storage and transformation processing requirements of digital video sequences.
BACKGROUND ART
Digital video technology is used in a growing number of applications such as cable television, direct broadcast satellite or other direct to home satellite services, terrestrial digital television services including high-definition television, and the like. Digital representations of video signals often require a very large number of bits. As such, a number of systems and methods are currently being developed to accommodate transmission and storage of still images and video sequences using various types of compression technology implemented in both hardware and software.
The availability of economically feasible and increasingly more powerful microprocessors allows integration of natural and synthetic audio and video sequences. Information in the form of audio and video sequences may be integrated to present real-time and non-real-time information in a single sequence. To provide audio and video sequences having acceptable quality at a minimum cost requires having the greatest efficiency possible in the decoding mechanism so as to require the least amount of memory and processing resources.
Decoding efficiency can be expressed as the ratio of resources used to generate a frame to total resources in use. For memory, this is the amount of storage holding data for the displayed portions of sprites in proportion to the total storage required to hold all sprite data. For CPUs, this is the number of machine cycles used to transform the data for the displayed portions of sprites in proportion to the total number of cycles used to transform all sprite data.
An audio/visual (AV) object may be used to represent a physical (real) or virtual article or scene. AV objects may be defined in terms of other AV objects which are referred to as sub-objects. An AV object which is not a composite or a compound AV object is referred to as a primitive. A sprite or basis object is an AV object created within a block of pixels that can be manipulated as a unit using geometrical transformations. Rather than re-transmitting and re-displaying the sprite object, new transformation parameters are provided to generate subsequent video frames. This results in a significant reduction in the amount of data necessary to represent such frames.
A small sprite object may represent a character in a video game whereas a large sprite object may represent an image which is larger than an individual frame and may span a number of frames. For example, a still image of a video layer of a scene, such as the background of a room, may be represented by a large sprite object (basis object). A particular video sequence in which a camera pans across the room would have a number of frames to depict motion of the camera. Rather than transmitting a still image for each frame, only the transformation parameters are required to manipulate a portion of the sprite object which is reused multiple times as the video frames are generated.
Transmission of a sprite image requires either that the entire sprite is encoded and transmitted prior to its use in the video sequence or that the sprite is transmitted piece by piece as additional portions of the image are required for display. Then the image at the decoder is transformed to its correct representation at each instance of time prior to its display. The larger the sprite image, the larger the required decoder memory and the greater the required CPU time necessary to transform the image to its correct representative view at each time instance (frame).
Prior art implementations do not specify a mechanism for signaling the decoder that portions of the sprite, which may have been necessary at some point in the video sequence, are no longer needed. The entire sprite is held in decoder memory until the entire sprite is no longer needed. This leads to much larger decoder memory and computational ability requirements than necessary for many video sequences utilizing sprite technology.
SUMMARY OF THE INVENTION
As such, one object of the present invention is to provide a system and method for reducing the amount of memory required to decode a fragmented image.
Another object of the present invention is to provide a system and method for reducing the number of CPU calculations necessary to transform a fragmented image.
In carrying out the above objects and other objects and features of the present invention, a method is provided for transmitting a video object used in generating a plurality of frames of a video sequence. The method includes separating the video object into a plurality of identifiable blocks, transmitting the plurality of blocks, then generating and displaying at least one of the plurality of frames based on the first one of the plurality of blocks. The method further provides for transmitting the identity of blocks no longer needed in the sequence so that those blocks can be purged from decoder memory and not transformed in future frame calculations.
A system is also provided in accordance with the present invention for displaying a plurality of frames defining a video sequence based on a stored representation of at least one video object. The system includes a first memory for storing video data in communication with a display for rendering a visual representation of the video data for each of the frames in the video sequence, and a second memory for storing data representing the video object. The system also includes control logic in communication with the display, the first memory, and the second memory. This control logic decodes the encoded video object, loads the second memory with data representing blocks of one or more video objects, transforms object data representing one of a plurality of frames in the sequence based on the portion of the video object, and stores the generated data in the first memory to effect display of the visual representation of the frame. The control logic also interprets and implements commands to remove blocks of video objects from the second memory.
The above objects and other objects, features, and advantages of the present invention are readily apparent from the following detailed description of the best mode for carrying out the invention when taken in connection with the accompanying drawings.


REFERENCES:
patent: 4660078 (1987-04-01), Riolfo et al.
patent: 5861920 (2000-01-01), Mead et al.
patent: 6014491 (2000-01-01), Hair

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Memory management techniques for large sprite objects does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Memory management techniques for large sprite objects, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Memory management techniques for large sprite objects will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2594621

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.