IP Library Granted Patent US 9,307,249
Granted Patent B2
US 9,307,249 · App. 14/310,005 · Granted Apr 5, 2016

Processing device and method of compressing images

Inventors: Robert Cristian Krutsch (Munich, DE); Valentin-Adrian Gancev (Munich, DE); Thomas Richardson Tewell (Austin, TX)
Assignee: FREESCALE SEMICONDUCTOR, INC.
H04N19/136G06T1/20G06T9/20G06T11/00H04N19/119H04N19/14H04N19/167H04N19/436
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 9,307,249
App. No.
14/310,005
Granted
Apr 5, 2016
Kind
B2
Abstract

The present application relates an encoder. The encoder partitions an image domain into several substructures each having one of at least one size dimension, and defines at least one geometric primitive for each substructure on the basis of geometry data. The encoder also retrieves, for each substructure, a subset of image data and determines whether pixel values of the retrieved subset are the same. If the pixel values are describable by a texture mapping operation, then the encoder defines a compressed texture image and assigns texture mapping data to the geometry data. Otherwise, the encoder defines an uncompressed texture image and assigns texture mapping data to the geometry data. The compressed image includes the geometry data, the texture mapping data, and the texture image data.

Claims (89)

1. A processing device for compressing an image, said processing device comprises at least a processor operatively coupled to a memory and an encoder, wherein said memory is configured to provide data of an image and at least one size dimension to the encoder,

wherein said encoder is configured to receive said data of said image and said at least one size dimension from said memory and comprises a geometry engine, which is further configured

to partition the image domain into several substructures each having one of the at least one size dimension; and

to define at least one geometric primitive for each substructure on the basis of geometry data defining a positioning of the at least one geometric primitive within the image space, wherein said at least one geometric primitive represents geometrically the substructure,

wherein said encoder further comprises a texture engine, which is configured for each substructure

to retrieve a subset of data of the image corresponding to the substructure;

to determine whether pixels of the retrieved subset are reconstructable from one or more selected pixels as input parameters on the basis of a texture mapping operation in the pixel value space, wherein the selected pixels are representative of the subset of image data and input parameters to the texture mapping operation in pixel value space;

if the pixels of the retrieved subset are reconstructable to define data of a texture image in compressed form with the selected pixels;

otherwise to define data of a texture image in uncompressed form, which data corresponds to the retrieved subset of image data; and

to assign texture mapping data to the geometry data of the substructure for mapping the defined texture image onto the at least one geometric primitive of the substructure,

wherein a compressed form of said image comprises the geometry data, the texture mapping data and the texture image data for each substructure.

2. The processing device of claim 1 , wherein said encoder is further configured

to determine whether the pixel values of the retrieved subset are at least similar with respect to a distance in color space, and

to define the data of the texture image in compressed form, which has one selected pixel with a pixel value representative of the similar pixel values of the retrieved subset.

3. The processing device of claim 1 , wherein said encoder is further configured

to determine whether the pixel values of the retrieved subset change in accordance with a color gradient within a predefined variation range in color space, and

to define the data of the texture image in compressed form, the data of which has selected pixels with values representative of initial gradient values and final gradient values.

4. The processing device of claim 1 , wherein said encoder is further configured

to define a set of vertices for the at least one geometric primitive of each substructure,

wherein each vertex comprises an image coordinate defining a positioning within image space, wherein the image coordinates form the geometry data,

wherein each vertex has further assigned a texture coordinate, which defines a positioning within texture image space, wherein the texture coordinates form the texture mapping data.

5. The processing device of claim 1 ,

wherein the at least one geometric primitive defining the substructure comprises two triangle primitives, wherein said two triangle primitives are defined on the basis of four image coordinates, wherein a texture mapping coordinate is assigned to each of the image coordinates.

6. The processing device of claim 1 ,

wherein said substructure is rectangular, wherein said rectangular substructure is defined on the basis of two image coordinates, wherein a texture mapping coordinate is assigned to each of the image coordinates.

7. The processing device of claim 1 ,

wherein said image is a simply connected domain,

wherein each geometric primitive is a simply connected domain,

wherein the domains of the geometric primitive are subdomains of the image domain,

wherein the domains of the geometric primitives are disconnected,

wherein said totality of geometric primitives defines a simply connected domain corresponding to the image domain.

8. The processing device of claim 1 , wherein said encoder further comprises a merger, which is configured

to merge at least two substructures, which are adjacent to each other and which have assigned texture images in uncompressed form or which have assigned texture images in compressed form with the same pixel value.

9. A method of compressing an image, comprising:

providing data of an image;

providing at least one size dimension;

partitioning the image domain into several substructures each having one of the at least one size dimension; and

defining at least one geometric primitive for each substructure on the basis of geometry data defining a positioning of the at least one geometric primitive within the image space, wherein said at least one geometric primitive represents geometrically the substructure,

wherein said method further comprises for each substructure:

retrieving a subset of data of the image corresponding to the substructure;

determining whether pixels of the retrieved subset are reconstructable from one or more selected pixels on the basis of a texture mapping operation in the pixel value space, wherein the selected pixels are representative of the subset of image data and input parameters to the texture mapping operation in pixel value space;

if the pixels of the retrieved subset are reconstructable, then defining data of a texture image in compressed form with the selected pixels;

otherwise defining data of a texture image in uncompressed form, which data corresponds to the retrieved subset of image data; and

assigning texture mapping data to the geometry data of the substructure for mapping the defined texture image onto the at least one geometric primitive of the substructure,

wherein a compressed form of said image comprises the geometry data, the texture mapping data and the texture image data for each substructure.

10. The method of claim 9

determining whether the pixel values of the retrieved subset are at least similar with respect to a distance in color space, and

defining the data of the texture image in compressed form, which has one selected pixel with a pixel value representative of the similar pixel values of the retrieved subset.

11. The method of claim 9

determining whether the pixel values of the retrieved subset change in accordance with a color gradient within a predefined variation range in color space, and

defining the data of the texture image in compressed form, the data of which has selected pixel with values representative of initial gradient values and final gradient values.

12. The method of claim 9 , wherein said partitioning the image domain into several substructures further comprises:

defining a set of vertices for the at least one geometric primitive of each substructure,

wherein each vertex comprises an image coordinate defining a positioning within image space, wherein the image coordinates form the geometry data,

wherein each vertex has further assigned a texture coordinate, which defines a positioning within texture image space, wherein the texture coordinates form the texture mapping data.

13. The method of claim 9 ,

wherein the at least one geometric primitive defining the substructure comprises two triangle primitives, wherein said two triangle primitives are defined on the basis of four image coordinates, wherein a texture mapping coordinate is assigned to each of the image coordinates.

14. The method of claim 9 ,

wherein said substructure is rectangular, wherein said rectangular substructure is defined on the basis of two image coordinates, wherein a texture mapping coordinate is assigned to each of the image coordinates.

15. The method of claim 9 , further comprising:

merging at least two substructures, which are adjacent to each other and which have assigned texture images in uncompressed form or which have assigned texture images in compressed form, which are compatible with respect to the texture mapping operation.

16. The method of claim 9 ,

wherein said image is a simply connected domain,

wherein each geometric primitive is a simply connected domain,

wherein the domains of the geometric primitive are subdomains of the image domain,

wherein the domains of the geometric primitives are disconnected,

wherein said totality of geometric primitives defines a simply connected domain corresponding to the image domain.

17. A non-transitory, tangible computer-readable storage medium having stored thereon a computer program for compressing an image, the computer program comprising a set of instructions, which, when executed on a processing system, cause the processing system to perform the method comprising:

providing data of an image;

providing at least one size dimension;

partitioning the image domain into several substructures each having one of the at least one size dimension; and

defining at least one geometric primitive for each substructure on the basis of geometry data defining a positioning of the at least one geometric primitive within the image space, wherein said at least one geometric primitive represents geometrically the substructure,

wherein said method further comprises for each substructure:

retrieving a subset of data of the image corresponding to the substructure;

determining whether pixels of the retrieved subset are reconstructable from one or more selected pixels on the basis of a texture mapping operation in the pixel value space, wherein the selected pixels are representative of the subset of image data and input parameters to the texture mapping operation in pixel value space;

if the pixels of the retrieved subset are reconstructable, then defining data of a texture image in compressed form with the selected pixels;

otherwise defining data of a texture image in uncompressed form, which data corresponds to the retrieved subset of image data; and

assigning texture mapping data to the geometry data of the substructure for mapping the defined texture image onto the at least one geometric primitive of the substructure,

wherein a compressed form of said image comprises the geometry data, the texture mapping data and the texture image data for each substructure.

18. The non-transitory, tangible computer-readable storage medium of claim 17 , wherein the method further comprises:

determining whether the pixel values of the retrieved subset are at least similar with respect to a distance in color space, and

defining the data of the texture image in compressed form, which has one selected pixel with a pixel value representative of the similar pixel values of the retrieved subset.

19. The non-transitory, tangible computer-readable storage medium of claim 17 , wherein the method further comprises:

determining whether the pixel values of the retrieved subset change in accordance with a color gradient within a predefined variation range in color space, and

defining the data of the texture image in compressed form, the data of which has selected pixel with values representative of initial gradient values and final gradient values.

20. The non-transitory, tangible computer-readable storage medium of claim 17 , wherein said partitioning the image domain into several substructures further comprises:

defining a set of vertices for the at least one geometric primitive of each substructure,

wherein each vertex comprises an image coordinate defining a positioning within image space, wherein the image coordinates form the geometry data,

wherein each vertex has further assigned a texture coordinate, which defines a positioning within texture image space, wherein the texture coordinates form the texture mapping data.

Assignments (16)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 14/258,829 AND REPLACE ITWITH 14/258,629 PREVIOUSLY RECORDED ON REEL 037444 FRAME 0082. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OFSECURITY INTEREST IN PATENTS. Recorded Aug 10, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039639/0332 →
CORRECTIVE ASSIGNMENT OF INCORRECT APPLICATION 14/258,829 PREVIOUSLY RECORDED ON REEL 037444 FRAME 0109. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Aug 10, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039639/0208 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0109 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0082 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0903 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033460/0337 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033462/0293 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033462/0267 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2014
From: KRUTSCH, ROBERT CRISTIAN; GANCEV, VALENTIN-ADRIAN; TEWELL, THOMAS RICHARDSON
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 033145/0772 →
Continuity (1)
Related Publication 20150373331A1 · Dec 24, 2015