USRE37476EExpiredUtility

Alpha blending palettized image data

50
Assignee: INTEL CORPPriority: Jun 3, 1996Filed: Mar 28, 2000Granted: Dec 18, 2001
Est. expiryJun 3, 2016(expired)· nominal 20-yr term from priority
Inventors:Richard Gerber
G09G 5/06G09G 2340/10
50
PatentIndex Score
2
Cited by
2
References
30
Claims

Abstract

Palettized image data for two or more images, represented by color lookup table (CLUT) indices, are mapped to an index space. Blended pixels are generated from the pixels in the index space using alpha blending. The blended pixels are mapped back to CLUT indices to generate palettized blended image data. In a preferred embodiment, in which the CLUT is generated based on a characterized structure in YUV space, the CLUT indices are mapped to Y and UV indices in a YUV index space. The Y and UV indices are then used to generate three-coordinate blended pixels. The three-coordinate blended pixels are then mapped back to CLUT indices of a palettized blended image. Table lookups are used to generate the blended pixels from the Y and UV indices and to map the blended pixels back to CLUT indices.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
       1. A method for alpha-blending palettized image data, comprising the steps of: 
       (a) providing a first set of palettized image data and a second set of palettized image data, wherein:  
       each pixel of the palettized image data is represented by an index of a color lookup table (CLUT); and  
       each pixel of the first set corresponds to a pixel of the second set;  
       (b) providing a set of alpha-channel values, wherein each alpha-channel value corresponds to a pixel of the first set;  
       (c) mapping each pixel of the first and second sets of palettized image data to an index space;  
       (d) generating a set of blended pixels, wherein each blended pixel is generated from a pixel of the first set in the index space, a corresponding pixel of the second set in the index space, and a corresponding alpha-channel value; and  
       (e) mapping the blended pixels back to CLUT indices to generate palettized blended image data.  
     
     
       2. The method of claim  1 , wherein the mapping of pixels by step (c) to the index space and the mapping of the blended pixels by step (e) to the CLUT indices are based on a characterized structure of the CLUT. 
     
     
       3. The method of claim  1 , wherein, for each pixel of the first set: 
       step (c) comprises the step of mapping the corresponding CLUT index for the pixel to two indices in the index space;  
       step (d) comprises the step of generating three coordinates of a blended pixel using the two indices in the index space as indices to one or more lookup tables; and  
       step (e) comprises the step of using at least one of the coordinates of the blended pixel as an index to a lookup table to map the blended pixel to a CLUT index of the palettized blended image data.  
     
     
       4. The method of claim  1 , wherein the palettized image data is represented by CLUT indices and for each pixel of the first set: 
       step (c) comprises the steps of:  
       (1) mapping the CLUT index for the pixel of the first set to a first UV index and a first Y index in the index space; and  
       (2) mapping the CLUT index for the corresponding pixel of the second set to a second UV index and a second Y index in the index space;  
       step (d) comprises the steps of:  
       (1) generating a U coordinate of a blended pixel using the first UV index as an index to a U lookup table and the second UV index as an index to the U lookup table;  
       (2) generating a V coordinate of the blended pixel using the first UV index as an index to a V lookup table and the second UV index as an index to the V lookup table; and  
       (3) generating a Y coordinate of the blended pixel using the first Y index and the second Y index; and  
       step (e) comprises the step of using the U and V coordinates of the blended pixel as indices to a UV lookup table to map the blended pixel to a CLUT index of the palettized blended image data.  
     
     
       5. An apparatus for alpha-blending palettized image data, comprising: 
       (a) means for providing a first set of palettized image data and a second set of palettized image data, wherein:  
       each pixel of the palettized image data is represented by an index of a color lookup table (CLUT); and  
       each pixel of the first set corresponds to a pixel of the second set;  
       (b) means for providing a set of alpha-channel values, wherein each alpha-channel value corresponds to a pixel of the first set;  
       (c) means for mapping each pixel of the first and second sets of palettized image data to an index space;  
       (d) means for generating a set of blended pixels, wherein each blended pixel is generated from a pixel of the first set in the index space, a corresponding pixel of the second set in the index space, and a corresponding alpha-channel value; and  
       (e) means for mapping the blended pixels back to CLUT indices to generate palettized blended image data.  
     
     
       6. The apparatus of claim  5 , wherein the mapping of pixels by means (c) to the index space and the mapping of the blended pixels by means (e) to the CLUT indices are based on a characterized structure of the CLUT. 
     
     
       7. The apparatus of claim  5 , wherein, for each pixel of the first set: 
       means (c) maps the corresponding CLUT index for the pixel to two indices in the index space;  
       means (d) generates three coordinates of a blended pixel using the two indices in the index space as indices to one or more lookup tables; and  
       means (e) uses at least one of the coordinates of the blended pixel as an index to a lookup table to map the blended pixel to a CLUT index of the palettized blended image data.  
     
     
       8. The apparatus of claim  5 , wherein the palettized image data is represented by CLUT indices and for each pixel of the first set: 
       means (c):  
       (1) maps the CLUT index for the pixel of the first set to a first UV index and a first Y index in the index space; and  
       (2) maps the CLUT index for the corresponding pixel of the second set to a second UV index and a second Y index in the index space;  
       means (d):  
       (1) generates a U coordinate of a blended pixel using the first UV index as an index to a U lookup table and the second UV index as an index to the U lookup table;  
       (2) generates a V coordinate of the blended pixel using the first UV index as an index to a V lookup table and the second UV index as an index to the V lookup table; and  
       (3) generates a Y coordinate of the blended pixel using the first Y index and the second Y index; and  
       means (e) uses the U and V coordinates of the blended pixel as indices to a UV lookup table to map the blended pixel to a CLUT index of the palettized blended image data.  
     
     
       9. A storage medium encoded with machine-readable computer program code for alpha-blending palettized image data, comprising: 
       (a) means for causing a computer to provide a first set of palettized image data and a second set of palettized image data, wherein:  
       each pixel of the palettized image data is represented by an index of a color lookup table (CLUT); and  
       each pixel of the first set corresponds to a pixel of the second set;  
       (b) means for causing the computer to provide a set of alpha-channel values, wherein each alpha-channel value corresponds to a pixel of the first set;  
       (c) means for causing the computer to map each pixel of the first and second sets of palettized image data to an index space;  
       (d) means for causing the computer to generate a set of blended pixels, wherein each blended pixel is generated from a pixel of the first set in the index space, a corresponding pixel of the second set in the index space, and a corresponding alpha-channel value; and  
       (e) means for causing the computer to map the blended pixels back to CLUT indices to generate palettized blended image data.  
     
     
       10. The storage medium of claim  9 , wherein the mapping of pixels by means (c) to the index space and the mapping of the blended pixels by means (e) to the CLUT indices are based on a characterized structure of the CLUT. 
     
     
       11. The storage medium of claim  9 , wherein, for each pixel of the first set: 
       means (c) causes the computer to map the corresponding CLUT index for the pixel to two indices in the index space;  
       means (d) causes the computer to generate three coordinates of a blended pixel using the two indices in the index space as indices to one or more lookup tables; and  
       means (e) causes the computer to use at least one of the coordinates of the blended pixel as an index to a lookup table to map the blended pixel to a CLUT index of the palettized blended image data.  
     
     
       12. The storage medium of claim  9 , wherein the palettized image data is represented by CLUT indices and for each pixel of the first set: 
       means (c) causes the computer to:  
       (1) map the CLUT index for the pixel of the first set to a first UV index and a first Y index in the index space; and  
       (2) map the CLUT index for the corresponding pixel of the second set to a second UV index and a second Y index in the index space;  
       means (d) causes the computer to:  
       (1) generate a U coordinate of a blended pixel using the first UV index as an index to a U lookup table and the second UV index as an index to the U lookup table;  
       (2) generate a V coordinate of the blended pixel using the first UV index as an index to a V lookup table and the second UV index as an index to the V lookup table; and  
       (3) generate a Y coordinate of the blended pixel using the first Y index and the second Y index; and  
       means (e) causes the computer to use the U and V coordinates of the blended pixel as indices to a UV lookup table to map the blended pixel to a CLUT index of the palettized blended image data.  
     
     
       13. An apparatus for alpha-blending palettized image data, comprising: 
       a first mapper;  
       a blender; and  
       a second mapper, wherein:  
       the first mapper receives a first set of palettized image data and a second set of palettized image data, wherein:  
       each pixel of the palettized image data is represented by an index of a color lookup table (CLUT); and  
       each pixel of the first set corresponds to a pixel of the second set;  
       the first mapper maps each pixel of the first and second sets of palettized image data to an index space;  
       the blender receives a set of alpha-channel values, wherein each alpha-channel value corresponds to a pixel of the first set;  
       the blender generates a set of blended pixels, wherein each blended pixel is generated from a pixel of the first set in the index space, a corresponding pixel of the second set in the index space, and a corresponding alpha-channel value; and  
       the second mapper maps the blended pixels back to CLUT indices to generate palettized blended image data.  
     
     
       14. The apparatus of claim  13 , wherein the mapping of pixels by the first mapper to the index space and the mapping of the blended pixels by the second mapper to the CLUT indices are based on a characterized structure of the CLUT. 
     
     
       15. The apparatus of claim  13 , wherein, for each pixel of the first set: 
       the first mapper maps the corresponding CLUT index for the pixel to two indices in the index space;  
       the blender generates three coordinates of a blended pixel using the two indices in the index space as indices to one or more lookup tables; and  
       the second mapper uses at least one of the coordinates of the blended pixel as an index to a lookup table to map the blended pixel to a CLUT index of the palettized blended image data.  
     
     
       16. The apparatus of claim  13 , wherein the palettized image data is represented by CLUT indices and for each pixel of the first set: 
       the first mapper:  
       (1) maps the CLUT index for the pixel of the first set to a first UV index and a first Y index in the index space; and  
       (2) maps the CLUT index for the corresponding pixel of the second set to a second UV index and a second Y index in the index space;  
       the blender:  
       (1) generates a U coordinate of a blended pixel using the first UV index as an index to a U lookup table and the second UV index as an index to the U lookup table;  
       (2) generates a V coordinate of the blended pixel using the first UV index as an index to a V lookup table and the second UV index as an index to the V lookup table; and  
       (3) generates a Y coordinate of the blended pixel using the first Y index and the second Y index; and  
       the second mapper uses the U and V coordinates of the blended pixel as indices to a UV lookup table to map the blended pixel to a CLUT index of the palettized blended image data.  
     
     
       17. A method for blending image data comprising: 
         mapping a first set and a second set of pelletized image data having corresponding pixels expressed in indices of a color lookup table  ( CLUT )  to an index space;    
         generating blended pixels by blending said corresponding pixels of said first and second sets of pelletized image data in said index space, said blending being based, at least in part, on at least one alpha - channel value; and    
       
         mapping said blended pixels to said CLUT indices. 
       
     
     
       18. The method of claim  17 , wherein mapping said sets to said index space is based, at least in part, on a characterized structure of said CLUT. 
     
     
       19. The method of claim  18 , wherein mapping said blended pixels is based, at least in part, on said characterized structure. 
     
     
       20. The method of claim  17 , wherein said index space comprises at least two indices. 
     
     
       21. The method of claim  20 , wherein blending said corresponding pixels comprises: 
       
         generating at least three coordinates in said index space; and  
       
       
         using said at least two indices as indices to at least one lookup table; and  
       
       
         indexing a specific lookup table of said at least one lookup table using at least one of said at least three coordinates to map said blended pixels to said CLUT indices. 
       
     
     
       22. The method of claim  17 , wherein said index space is a YUV index space. 
     
     
       23. The method of claim  22 , wherein blending said corresponding pixels comprises: 
       
         generating Y, U and V coordinates of a blended pixel using said sets as indices to a respective at least one YUV lookup table. 
       
     
     
       24. The method of claim  23 , wherein said U and V coordinates are indices to a UV lookup table to map said blended pixel to said CLUT indices. 
     
     
       25. An apparatus for blending image data comprising: 
         an image data source including a first and second set of palettized image data represented by indices of a color lookup table  ( CLUT ) , said sets having corresponding pixels;    
       
         at least one mapper capable of mapping said sets to an index space;  
       
         a blender capable of blending said corresponding pixels of said sets in said index space based, at least in part, on at least one alpha - channel value, said first set having pixels corresponding to a respective one of said at least one alpha - channel value to create blended pixels; and    
       
         said at least one mapper being further capable of mapping said blended pixels to said CLUT indices. 
       
     
     
       26. The apparatus of claim  25 , wherein said CLUT comprises a characterized structure, and said mapping to said index space and said mapping to said CLUT indices is based, at least in part, on said characterized structure. 
     
     
       27. The apparatus of claim  25 , wherein said index spaces comprises a YUV index space. 
     
     
       28. An article comprising: a storage medium; 
         said storage medium having stored thereon instructions to map to an index space a first set and second set of palletized image data having corresponding pixels expressed in indices of a color lookup table  ( CLUT );  
         blend said corresponding pixels of said first and second sets of palletized image data in said index space based, at least in part, on at least one alpha - channel value; and    
       
         map said blended pixels to indices of said CLUT. 
       
     
     
       29. The article of claim  28 , wherein said CLUT comprises a characterized structure; and 
       
         said mapping to said index space and said mapping to said CLUT indices are based, at least in part, on said characterized structure. 
       
     
     
       30. The article of claim  29 , wherein said index space comprises a YUV index space.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.