IP Library Granted Patent US 8,989,486
Granted Patent B2
US 8,989,486 · App. 13/783,760 · Granted Mar 24, 2015

Generation of intermediate images for texture compression

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,989,486
App. No.
13/783,760
Granted
Mar 24, 2015
Kind
B2
Abstract

A machine may be configured to process an uncompressed image to obtain a set of intermediate images, which may be alternatively known as working images or temporary images. Such a set of intermediate images may be used as input for an image compression algorithm that, when executed by the machine or other compression engine, outputs a compressed version of the uncompressed image. For example, a compression format called “PVRTC,” which may be used on certain portable devices, accepts a set of three intermediate images as input, specifically, one full resolution, low precision version of the original uncompressed image, plus two low resolution, low frequency color versions of the original uncompressed image. A set of intermediate images for such a compression format may be generated by the machine from the original uncompressed image.

Claims (81)

1. A method comprising:

accessing an uncompressed image that includes a block of pixels among multiple blocks of pixels;

generating a first set of intermediate images that includes:

a first image that represents luminance values of pixels in the uncompressed image,

a second image that represents minimum luminance values in the blocks of pixels in the uncompressed image,

a third image that represents maximum luminance values in the blocks of pixels in the uncompressed image,

a fourth image that represents colors of pixels having minimum luminance values in the blocks of pixels in the uncompressed image, and

a fifth image that represents colors of pixels having maximum luminance values in the blocks of pixels in the uncompressed image;

generating a sixth image, the sixth image being generated based on the first image, the second image, and the third image,

the generating of the sixth image being performed by a processor of a machine; and

providing the fourth image, the fifth image, and the sixth image as a second set of intermediate images usable to generate a compressed version of the uncompressed image.

2. The method of claim 1 , wherein:

the accessed uncompressed image is a texture map; and

the provided second set of intermediate images is usable to generate a compressed version of the texture map.

3. The method of claim 1 further comprising:

generating the compressed version of the uncompressed image from the second set of intermediate images that includes the fourth image, the fifth image, and the sixth image.

4. The method of claim 3 , wherein:

the generating of the compressed version of the uncompressed image generates the compressed version in PowerVR Texture Compression (PVRTC) format.

5. The method of claim 1 , wherein:

the block of pixels is a 4×4 block of pixels among multiple 4×4 blocks of pixels in the uncompressed image; and

the generating of the first set of intermediate images is based on all of the multiple 4×4 blocks of pixels in the uncompressed image.

6. The method of claim 1 , wherein:

the generating of the first set of intermediate images includes generating the first image from color space triplets of each pixel in the uncompressed image; and

the generated first image is monochromatic.

7. The method of claim 6 , wherein:

the color space triplets include red, green, and blue values; and

the generating of the first image in the first set of intermediate images includes summing the red, green, and blue values of each pixel in the uncompressed image.

8. The method of claim 1 , wherein:

the generating of the first set of intermediate images includes generating the second image; wherein

the generating of the second image in the first set of intermediate images includes calculating a minimum luminance value in the block of pixels.

9. The method of claim 1 , wherein:

the generating of the first set of intermediate images includes generating the third image; wherein

the generating of the third image in the first set of intermediate images includes calculating a maximum luminance value in the block of pixels.

10. The method of claim 1 , wherein:

the generating of the first set of intermediate images includes generating the fourth image; wherein

the generating of the fourth image in the first set of intermediate images includes determining a color of a pixel with a lowest luminance value within the block of pixels.

11. The method of claim 1 , wherein:

the generating of the first set of intermediate images includes generating the fifth image; wherein

the generating of the fifth image in the first set of intermediate images includes determining a color of a pixel with a highest luminance value within the block of pixels.

12. The method of claim 1 , wherein:

the sixth image includes a pixel; and

the generating of the sixth image includes determining a lowest luminance value of a luminance range that corresponds to the pixel based on the second image.

13. The method of claim 1 , wherein:

the sixth image includes a pixel; and

the generating of the sixth image includes determining a highest luminance value of a luminance range that corresponds to the pixel based on the third image.

14. The method of claim 1 , wherein:

the sixth image includes a pixel that corresponds to a further pixel in the first image; and

the generating of the sixth image includes obtaining a luminance value of the pixel based on a luminance value of the further pixel.

15. The method of claim 1 , wherein:

the sixth image includes a pixel; and

the generating of the sixth image includes dividing a luminance range that corresponds to the pixel into equally spaced values.

16. The method of claim 1 , wherein:

the sixth image includes a pixel that corresponds to a further pixel in the first image; and

the generating of the sixth image includes quantizing a luminance value of the further pixel to a nearest value among equally spaced values within a luminance range that corresponds to the pixel.

17. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

accessing an uncompressed image that includes a block of pixels among multiple blocks of pixels;

generating a first set of intermediate images that includes:

a first image that represents luminance values of pixels in the uncompressed image,

a second image that represents minimum luminance values in the blocks of pixels in the uncompressed image,

a third image that represents maximum luminance values in the blocks of pixels in the uncompressed image,

a fourth image that represents colors of pixels having minimum luminance values in the blocks of pixels in the uncompressed image, and

a fifth image that represents colors of pixels having maximum luminance values in the blocks of pixels in the uncompressed image;

generating a sixth image, the sixth image being generated based on the first image, the second image, and the third image,

the generating of the sixth image being performed by the one or more processors of the machine; and

providing the fourth image, the fifth image, and the sixth image as a second set of intermediate images usable to generate a compressed version of the uncompressed image.

18. The non-transitory machine-readable storage medium of claim 17 , wherein:

the sixth image includes a pixel that corresponds to a further pixel in the first image; and

the generating of the sixth image includes quantizing a luminance value of the further pixel to a nearest value among equally spaced values within a luminance range that corresponds to the pixel.

19. A system comprising:

an access module configured to access an uncompressed image that includes a block of pixels among multiple blocks of pixels;

a first-phase module configured to generate a first set of intermediate images that includes:

a first image that represents luminance values of pixels in the uncompressed image,

a second image that represents minimum luminance values in the blocks of pixels in the uncompressed image,

a third image that represents maximum luminance values in the blocks of pixels in the uncompressed image,

a fourth image that represents colors of pixels having minimum luminance values in the blocks of pixels in the uncompressed image, and

a fifth image that represents colors of pixels having maximum luminance values in the blocks of pixels in the uncompressed image;

a processor configured by a second-phase module to generate a sixth image, the sixth image being generated based on the first image, the second image, and the third image; and

an output module configured to provide the fourth image, the fifth image, and the sixth image as a second set of intermediate images usable to generate a compressed version of the uncompressed image.

20. The system of claim 19 , wherein:

the sixth image includes a pixel that corresponds to a further pixel in the first image; and

the generating of the sixth image includes quantizing a luminance value of the further pixel to a nearest value among equally spaced values within a luminance range that corresponds to the pixel.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 23, 2022
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ZYNGA INC.
Reel/Frame 060163/0437 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 14, 2020
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054719/0490 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 11, 2020
From: BANK OF AMERICA, N.A., AS LENDER
To: ZYNGA INC.
Reel/Frame 054701/0393 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 21, 2018
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS LENDER
Reel/Frame 049147/0546 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2013
From: NORBERG, NILS JONAS; PATEL, SULABH; HO, JAMES; SWISTUN, SZYMON
To: ZYNGA INC.
Reel/Frame 029914/0664 →