Tagging repeating images for improved compression
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-modifiedWhat 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.