US2004008214A1PendingUtilityA1

Tagging repeating images for improved compression

Assignee: SUN MICROSYSTEMS INCPriority: Jul 11, 2002Filed: Mar 10, 2003Published: Jan 15, 2004
Est. expiryJul 11, 2022(expired)· nominal 20-yr term from priority
G06F 3/1423G06T 9/001G06F 12/121G09G 5/14G06F 12/0875G09G 2360/121
44
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Repeating image content in a graphics image may be detected by identifying certain commands, known generally as “tile commands”. If a tile command is detected, the fact that a portion of an image was created with a tile command may be stored along with the portion of the image. This allows for well-informed decision making when transmission of the image is to be performed. For example, this allows for the transmission of a single tile, and subsequent transmission of local copy commands to repeat the single tile. This can be very useful in speeding transmission of background images or other repeating images.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A method for reducing the size of a graphics image in a computer system, comprising: 
 recording a tile command executed to create a portion of the graphics image in a destination drawable;    using said tile command to update a data structure associated with said destination drawable with information; and    compressing one or more sub-images of the graphics image using a compression scheme, each of said sub-images having a location, said location and said compression scheme for each of said sub-images chosen based on said information in said data structure.    
     
     
         2 . The method of  claim 1 , wherein said data structure associated with said destination drawable identifies the portion of the destination drawable image that was created with a command in a specific class of drawing commands.  
     
     
         3 . The method of  claim 1 , further comprising: 
 transmitting one or more sub-images of the graphics image created using said tile command, for display or storage; and    transmitting a sequence of local copy commands to repeat said one or more sub-images.    
     
     
         4 . The method of  claim 1 , further comprising: 
 determining if a region compatible with one or more sub-images of the graphics image created using said tile command already exists on a display; and    utilizing said compatible region to display said one or more sub-images of the graphics image created using said tile command if a compatible region already exists on said display.    
     
     
         5 . The method of  claim 3 , further comprising: 
 adding said one or more sub-images of the graphics image created using said tile command to a cache.    
     
     
         6 . The method of  claim 5 , further comprising: 
 determining if an image compatible with one or more sub-images of the graphics image created using said tile command already exists in said cache; and    utilizing said compatible image to display said one or more sub-images of the graphics image created using said tile command if a compatible image already exists in said cache.    
     
     
         7 . The method of  claim 2 , wherein said data structure associated with said destination drawable is a list of tile regions.  
     
     
         8 . The method of  claim 7 , wherein said list of tile regions includes, for each tile region, the height and width of the tile image.  
     
     
         9 . The method of  claim 8 , wherein said list of tile regions further includes, for each tile region, the origin point of the tile image.  
     
     
         10 . The method of  claim 9 , wherein said list of tile regions further includes, for each tile region, a hash value for the tile image.  
     
     
         11 . The method of  claim 10 , wherein said hash value is an MD5 hash value.  
     
     
         12 . The method of  claim 1 , wherein said tile command is a command that creates a repeating image.  
     
     
         13 . A method for reducing the size of a graphics image in a computer system, comprising: 
 detecting a tile command executed to create a portion of the graphics image in a destination drawable;    computing a drawn-to region from said tile command; and    adding the drawn-to region to one of one or more tile regions, each of said tile regions corresponding to a repeating image.    
     
     
         14 . The method of  claim 13 , further comprising: 
 compressing said tile image;    transmitting said tile image for display or storage; and    transmitting a sequence of local copy commands to repeat said tile image.    
     
     
         15 . The method of  claim 13 , further comprising: 
 determining if a region compatible with said tile image already exists on a display; and    utilizing said compatible region to display said tile image if a compatible region already exists on said display.    
     
     
         16 . The method of  claim 14 , further comprising: 
 adding said tile image to a cache.    
     
     
         17 . The method of  claim 16 , further comprising: 
 determining if an image compatible with said tile image already exists in said cache; and    utilizing said compatible image to display said tile image if a compatible image already exists in said cache.    
     
     
         18 . The method of  claim 13 , further comprising subtracting the drawn-to region from one or more existing fill and/or tile images.  
     
     
         19 . A method for reducing the size of a graphics image in a computer system, comprising: 
 detecting a tile command executed to create a portion of the graphics image in a pixmap;    computing a drawn-to region from said tile command;    subtracting the drawn-to region from one or more existing region tags; and    adding the drawn-to region to one of one or more tile regions, said tile region corresponding to a repeating image drawn by said tile command.    
     
     
         20 . The method of  claim 19 , further comprising: 
 compressing said tile image;    transmitting said tile image for display or storage; and    transmitting a sequence of local copy commands to repeat said tile image.    
     
     
         21 . An apparatus for reducing the size of a graphics image in a computer system, comprising: 
 a tile command recorder;    a data structure updater coupled to said tile command recorder; and    an image compressor coupled to said data structure updater.    
     
     
         22 . An apparatus for reducing the size of a graphics image in a computer system, comprising: 
 a tile command detector;    a drawn-to region computer coupled to said tile command detector;    a tile region adder coupled to said drawn-to region computer; and    a memory coupled to said tile region adder, said drawn-to region computer, and said tile region adder.    
     
     
         23 . The apparatus of  claim 22 , further comprising a drawn-to region to fill and tile region remover coupled to said tile command detector and to said memory.  
     
     
         24 . The apparatus of  claim 22 , further comprising: 
 a tile image transmitter coupled to said memory; and    a local copy command transmitter coupled to said tile image transmitter.    
     
     
         25 . An apparatus for reducing the size of a graphics image in a computer system, comprising: 
 a tile command detector;    a drawn-to region computer coupled to said tile command detector;    a tile region adder coupled to said tile command detector and to said drawn-to region computer;    a drawn-to region to fill and tile region remover coupled to said tile command detector and to said drawn-to region computer;    a drawn-to region to miscellaneous region remover coupled to said tile command detector and to said drawn-to region computer; and    a memory coupled to said tile region adder, to said drawn-to region to miscellaneous region remover, and to said drawn-to region to tile region remover.    
     
     
         26 . The apparatus of  claim 25 , further comprising: 
 a tile image transmitter coupled to said memory; and    a local copy command transmitter coupled to said tile image transmitter.    
     
     
         27 . An apparatus for reducing the size of a graphics image in a computer system, comprising: 
 means for recording a tile command executed to create a portion of the graphics image in a destination drawable;    means for using said tile command to update a data structure associated with said destination drawable with information; and    means for compressing one or more sub-images of the graphics image using a compression scheme, each of said sub-images having a location, said location and said compression scheme for each of said sub-images chosen based on said information in said data structure.    
     
     
         28 . The apparatus of  claim 27 , wherein said data structure associated with said destination drawable identifies the portion of the destination drawable image that was created with a command in a specific class of drawing commands.  
     
     
         29 . The apparatus of  claim 27 , further comprising: 
 means for transmitting one or more sub-images of the graphics image created using said tile command, for display or storage; and    means for transmitting a sequence of local copy commands to repeat said one or more sub-images.    
     
     
         30 . The apparatus of  claim 27 , further comprising: 
 means for determining if a region compatible with one or more sub-images of the graphics image created using said tile command already exists on a display; and    means for utilizing said compatible region to display said one or more sub-images of the graphics image created using said tile command if a compatible region already exists on said display.    
     
     
         31 . The apparatus of  claim 29 , further comprising: 
 means for adding said one or more sub-images of the graphics image created using said tile command to a cache.    
     
     
         32 . The apparatus of  claim 31 , further comprising: 
 means for determining if an image compatible with one or more sub-images of the graphics image created using said tile command already exists in said cache; and    means for utilizing said compatible image to display said one or more sub-images of the graphics image created using said tile command if a compatible image already exists in said cache.    
     
     
         33 . The apparatus of  claim 28 , wherein said data structure associated with said destination drawable is a list of tile regions.  
     
     
         34 . The apparatus of  claim 33 , wherein said list of tile regions includes, for each tile region, the height and width of the tile image.  
     
     
         35 . The apparatus of  claim 34 , wherein said list of tile regions further includes, for each tile regions, the origin point of the tile image.  
     
     
         36 . The apparatus of  claim 35 , wherein said list of tile regions further includes, for each tile region, a hash value for the tile image.  
     
     
         37 . The apparatus of  claim 36 , wherein said hash value is an MD5 hash value.  
     
     
         38 . The apparatus of  claim 27 , wherein said tile command is a command that creates a repeating image.  
     
     
         39 . An apparatus for reducing the size of a graphics image in a computer system, comprising: 
 means for detecting a tile command executed to create a portion of the graphics image in a destination drawable;    means for computing a drawn-to region from said tile command; and    means for adding the drawn-to region to one of one or more tile regions, each of said tile regions corresponding to a repeating image.    
     
     
         40 . The apparatus of  claim 39 , further comprising: 
 means for compressing said tile image;    means for transmitting said tile image for display or storage; and    means for transmitting a sequence of local copy commands to repeat said tile image.    
     
     
         41 . The apparatus of  claim 39 , further comprising: 
 means for determining if a region compatible with said tile image already exists on a display; and    means for utilizing said compatible region to display said tile image if a compatible region already exists on said display.    
     
     
         42 . The apparatus of  claim 40 , further comprising: 
 means for adding said tile image to a cache.    
     
     
         43 . The apparatus of  claim 42 , further comprising: 
 means for determining if an image compatible with said tile image already exists in said cache; and    means for utilizing said compatible image to display said tile image if a compatible region already exists in said cache.    
     
     
         44 . The apparatus of  claim 42 , further comprising means for subtracting the drawn-to region from one or more existing fill and/or tile images.  
     
     
         45 . An apparatus for reducing the size of a graphics image in a computer system, comprising: 
 means for detecting a tile command executed to create a portion of the graphics image in a pixmap;    means for computing a drawn-to region from said tile command;    means for subtracting the drawn-to region from one or more existing region tags; and    means for adding the drawn-to region to one of a tile image, said tile corresponding to a repeating image drawn by said tile command.    
     
     
         46 . The apparatus of  claim 45 , further comprising: 
 means for compressing said tile image;    means for transmitting said tile image for display or storage; and    means for transmitting a sequence of local copy commands to repeat said tile image.    
     
     
         47 . A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for reducing the size of a graphics image in a computer system, the method comprising: 
 recording a tile command executed to create a portion of the graphics image in a destination drawable;    using said tile command to update a data structure associated with said destination drawable with information; and    compressing one or more sub-images of the graphics image using a compression scheme, each of said sub-images having a location, said location and said compression scheme for each of said sub-images chosen based on said information in said data structure.    
     
     
         48 . A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for reducing the size of a graphics image in a computer system, the method comprising: 
 detecting a tile command executed to create a portion of the graphics image in a destination drawable;    computing a drawn-to region from said tile command; and    adding the drawn-to region to one of one or more tile regions, each of said tile regions corresponding to a repeating image.    
     
     
         49 . A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for reducing the size of a graphics image in a computer system, the method comprising: 
 detecting a tile command executed to create a portion of the graphics image in a pixmap;    computing a drawn-to region from said tile command;    subtracting the drawn-to region from one or more existing region tags; and    adding the drawn-to region to one of one or more tile regions, said tile region corresponding to a repeating image drawn by said tile command.

Join the waitlist — get patent alerts

Track US2004008214A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.