Raster graphics image transcoding for file size reduction
AssigneeMicrosoft Corporation
InventorsYisheng Yao, Ke-Cheng Huang, Emmanuel Papirakis
Life of this patent
Estimating the term…
Abstract
Described is a technology by which a raster graphics image file (e.g., a PNG) containing pixels having color component data and alpha channel data (e.g., RGBA data) is transcoded into a smaller Palette Indexed format with non-noticeable and/or virtually no loss. Hextrees are used to represent the pixels of the image, such as one hextree for each subset (segment) of the image's pixels, where alpha channel data distribution may be used to determine each segment. A palette containing sets of alpha and color values is generated from the hextrees, with the transcoded image data provided by representing the pixel data as indexes to the palette.
Claims20
In a computing environment, a method performed at least in part on at least one processor comprising, transcoding an image containing pixels having color component data and alpha channel data, including representing the pixels of the image within one or more hextrees, performing node reduction on the one or more hextrees to obtain a specified number of remaining nodes for each hextree, generating a palette from the remaining nodes of the one or more hextrees, and providing transcoded image data, including representing at least some of the pixel data as indexes to the palette.
A system comprising, a transcoder configured to transcode an input image containing pixels having color component data and alpha channel data into a transcoded image file, the transcoder configured to segment the image into a plurality of segments, represent the color component data and the alpha channel data of the pixels of each segment within a hextree for that segment, process each hextree into a sub-palette, and represent the pixels of the image as an index into one of the sub-palettes.
One or more computer storage media having computer-executable instructions, which when executed perform steps, comprising:
- segmenting subsets of an input image's red, green, blue, alpha (RGBA) pixels into segments;
- representing each of the segments as a hextree;
- processing each hextree into a sub-palette;
- and
- encoding the input image into a transcoded image file comprising the sub-palettes and an index reference for each pixel to an entry in one of the sub-palettes.
Dependencies are inferred from the claim text.