IP Library Granted Patent US 7,006,110
Granted Patent B2
US 7,006,110 · App. 10/414,462 · Granted Feb 28, 2006

Determining a coverage mask for a pixel

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 7,006,110
App. No.
10/414,462
Granted
Feb 28, 2006
Kind
B2
Abstract

The invention relates to a method, a device, a system and a software program product for determining for a pixel a coverage mask reflecting an orientation and possibly a distance from the pixel center of an original edge vector. The pixel is to be employed for displaying at least a part of a geometric primitive on a display, and the original edge vector represents an oriented edge of the geometric primitive. The method comprises as a first step determining one of four quadrants of a Cartesian coordinate system to which the original edge vector belongs due to its orientation. The original edge vector is then transposed into a predetermined one of the four quadrants. Next, a stored coverage mask is fetched, which is associated at least indirectly to the transposed edge vector. Finally, the fetched coverage mask is transformed to the quadrant to which the original edge vector belongs.

Claims (69)

1. A method for determining for a pixel a coverage mask reflecting an orientation of an original edge vector, which pixel is to be employed for displaying at least a part of a geometric primitive on a display, wherein said original edge vector represents an oriented edge of said geometric primitive, said method comprising:

a) determining one of four quadrants of a Cartesian coordinate system to which said original edge vector belongs due to its orientation;

b) transposing said original edge vector into a predetermined one of said four quadrants;

c) fetching a stored coverage mask which is associated at least indirectly to said transposed edge vector;

d) transforming said fetched coverage mask to said quadrant to which said original edge vector belongs; and

defining representative edge vectors having different, predetermined orientations, said representative edge vectors being distributed by said predetermined orientations in a rotationally symmetric manner to said four quadrants of said Cartesian coordinate system, such that if the set of representative edge vectors defined for one quadrant is rotated in steps of 90°, the resulting edge vectors correspond exactly to the set of representative edge vectors defined for another quadrant, said method further comprising after step b) selecting one of said representative edge vectors in said predetermined quadrant, which representative edge vector has a similar orientation as said transposed edge vector, wherein step c) comprises fetching a stored coverage mask which is associated to said selected representative edge vector and thereby indirectly to said transposed edge vector; and

wherein a first representative edge vector of said predetermined quadrant lies on a first border to a first neighboring quadrant of said predetermined quadrant, wherein a representative edge vector lying on a second border to a second neighboring quadrant of said predetermined quadrant constitutes a first representative edge vector of said second neighboring quadrant, wherein in case said transposed edge vector has a similar orientation as said first representative edge vector of said second neighboring quadrant, said method comprises as an exceptional additional step after step b) selecting said first representative edge vectors of said predetermined quadrant as representative edge vector, wherein step c) comprises fetching a stored coverage mask which is associated to said selected representative edge vector, and as an exceptional additional step after step c) correcting said fetched coverage mask.

2. A method according to claim 1 , further comprising determining a distance between said original edge vector and a center of said pixel, wherein each stored coverage mask is associated to a combination of an edge vector of a specific orientation and of a specific distance to the center of a respective pixel, and wherein in step c) a stored coverage mask is fetched which is associated at least indirectly to said transposed edge vector and to said distance determined for said original edge vector.

3. A method according to claim 2 , wherein an original edge vector is defined by parameters characterizing said original edge vector, a first parameter d L1 (M) identifying the distance of said edge vector from a center M of said pixel, a second parameter de x (α) representing the distance in x-direction between a source point of said edge vector and a sink point of said edge vector, and a third parameter de y (α) representing the distance in y-direction between said source point of said edge vector and said sink point of said edge vector, wherein said quadrant to which said original edge vector belongs is determined based on the signs of said second and said third parameter and wherein said original edge vector is transposed to said predetermined quadrant by adapting the values of said first parameter and of one of said second and said third parameter.

4. A method according to claim 3 , wherein said predetermined quadrant is the first quadrant of said Cartesian coordinate system, and wherein transposing an original edge vector into said first quadrant is performed,

in case an original edge vector belongs to said first quadrant, by keeping the original values of said first parameter d L1 (M) and of said second parameter de x (α);

in case an original edge vector belongs to said second quadrant, by assigning to said second parameter de x (α) the inverted original value of said third parameter de y (α) and by keeping the original value of said first parameter d L1 (M);

in case an original edge vector belongs to said third quadrant, by assigning to said first parameter de x (α) the inverted original value of said first parameter de x (α) and by assigning to said first parameter d L1 (M) the inverted original value of said first parameter d L1 (M);

in case an original edge vector belongs to said fourth quadrant, by assigning to said first parameter de x (α) the original value of said second parameter de x (α) and by assigning to said first parameter d L1 (M) the inverted original value of said first parameter d L1 (M).

5. A method according to claim 1 , wherein said predetermined quadrant is the first quadrant of said Cartesian coordinate system, wherein each stored coverage mask comprises a sequence of bits representing values for subpixels of a grid of subpixels covering an area which is represented by said pixel on a display, and wherein transforming said fetched coverage mask to said quadrant to which said original edge vector belongs is performed,

in case an original edge vector belongs to said first quadrant, by keeping said fetched coverage mask;

in case an original edge vector belongs to said second quadrant, by rotating said fetched coverage mask counterclockwise by 90°;

in case an original edge vector belongs to said third quadrant, by negating bitwise each bit of said fetched coverage mask;

in case an original edge vector belongs to said fourth quadrant, by rotating said fetched coverage mask counterclockwise by 90° and by negating bitwise each bit of said rotated coverage mask.

6. A method according to claim 1 , further comprising determining a coverage mask for each edge of said geometric primitive and combining said transformed coverage masks to a single coverage mask for said pixel, said combined coverage mask representing the extend of coverage of said pixel by said geometric primitive.

7. The method according to claim 1

wherein said predetermined orientations for said representative edge vectors are selected such that said representative edge vectors are distributed uniformly over an angle-related space to said four quadrants.

8. A method according to claim 1 , wherein the orientation of the edges of said geometric primitive is selected to be one of clockwise and counter-clockwise, wherein dedicated coverage masks are stored only for one of said clockwise and said counter-clockwise orientation, and wherein a fetched coverage mask is corrected in case a geometric primitive has an orientation for which no dedicated coverage masks are stored.

9. A device determining for a pixel a coverage mask reflecting an orientation of an original edge vector, which pixel is to be employed for displaying at least a part of a geometric primitive on a display, wherein said original edge vector represents an oriented edge of said geometric primitive, said device comprising:

a computing portion for determining one of four quadrants of a Cartesian coordinate system to which an original edge vector belongs due to its orientation;

a quadrant disambiguation portion for transposing an original edge vector into a predetermined one of said four quadrants;

a coverage mask look-up portion for fetching a stored coverage mask, which coverage mask is associated at least indirectly to a transposed edge vector provided by said transposing portion;

a transformation portion for transforming a coverage mask provided by said coverage mask look-up portion to a quadrant determined by said computing portion;

means for defining representative edge vectors having different, predetermined orientations, said representative edge vectors being distributed by said predetermined orientations in a rotationally symmetric manner to said four quadrants of said Cartesian coordinate system, such that if the set of representative edge vectors defined for one quadrant is rotated in steps of 90°, the resulting edge vectors correspond exactly to the set of representative edge vectors defined for another quadrant; and

means for selecting one of said representative edge vectors in said predetermined quadrant, which representative edge vector has a similar orientation as said transposed edge vector;

wherein the coverage mask look-up portion for fetching a stored coverage mask fetches a stored coverage mask which is associated to said selected representative edge vector and thereby indirectly to said transposed edge vector;

wherein a first representative edge vector of said predetermined quadrant lies on a first border to a first neighboring quadrant of said predetermined quadrant;

wherein a representative edge vector lying on a second border to a second neighboring quadrant of said predetermined quadrant constitutes a first representative edge vector of said second neighboring quadrant;

wherein in case said transposed edge vector has a similar orientation as said first representative edge vector of said second neighboring quadrant, said device further comprises means for selecting said first representative edge vectors of said predetermined quadrant as representative edge vector;

wherein the coverage mask look-up portion for fetching a stored coverage mask, fetches a stored coverage mask which is associated to said selected representative edge vector; and

wherein said device further comprises means for correcting said fetched coverage mask.

10. A device according to claim 9 , further comprising a storage unit for storing a plurality of coverage masks, said coverage mask look-up portion having access to said storage unit for fetching a coverage mask, which coverage mask is associated at least indirectly to a transposed edge vector provided by said transposing portion.

11. A device according to claim 9 , further comprising a combining portion for combining a plurality of transformed coverage masks provided by said transformation portion for a specific pixel and for modifying a color of said pixel for display based on said combined coverage mask.

12. A device according to claim 11 , further comprising a display for displaying pixels of which a color was modified by said combining unit.

13. A device according to claim 9 , wherein said device is a mobile terminal.

14. A device according to claim 9 , wherein said device is a computer.

15. A device according to claim 9 , wherein said device is a chip.

16. A graphic presentation system determining for a pixel a coverage mask reflecting an orientation of an original edge vector, which pixel is to be employed for displaying at least a part of a geometric primitive on a display, wherein said original edge vector represents an oriented edge of said geometric primitive, said graphic presentation system comprising said display device and a processing device, said processing device including:

a computing portion for determining one of four quadrants of a Cartesian coordinate system to which an original edge vector belongs due to its orientation;

a quadrant disambiguation portion for transposing an original edge vector into a predetermined one of said four quadrants;

a coverage mask look-up portion for fetching a stored coverage mask, which coverage mask is associated at least indirectly to a transposed edge vector provided by said transposing portion;

a transformation portion for transforming a coverage mask provided by said coverage mask look-up portion to a quadrant determined by said computing portion;

a combining portion for combining transformed coverage masks provided by said transformation portion for a specific pixel and for modifying the color of said pixel for display by said display device based on combined coverage mask;

means for defining representative edge vectors having different, predetermined orientations, said representative edge vectors being distributed by said predetermined orientations in a rotationally symmetric manner to said four quadrants of said Cartesian coordinate system, such that if the set of representative edge vectors defined for one quadrant is rotated in steps of 90°, the resulting edge vectors correspond exactly to the set of representative edge vectors defined for another quadrant; and

means for selecting one of said representative edge vectors in said predetermined quadrant, which representative edge vector has a similar orientation as said transposed edge vector;

wherein the coverage mask look-up portion for fetching a stored coverage mask fetches a stored coverage mask which is associated to said selected representative edge vector and thereby indirectly to said transposed edge vector;

wherein a first representative edge vector of said predetermined quadrant lies on a first border to a first neighboring quadrant of said predetermined quadrant;

wherein a representative edge vector lying on a second border to a second neighboring quadrant of said predetermined quadrant constitutes a first representative edge vector of said second neighboring quadrant;

wherein in case said transposed edge vector has a similar orientation as said first representative edge vector of said second neighboring quadrant, said device further comprises means for selecting said first representative edge vectors of said predetermined quadrant as representative edge vector;

wherein the coverage mask look-up portion for fetching a stored coverage mask, fetches a stored coverage mask which is associated to said selected representative edge vector; and

wherein said device further comprises means for correcting said fetched coverage mask.

17. A software program product with a program code for determining for a pixel a coverage mask reflecting an orientation of an original edge vector, which pixel is to be employed for displaying at least a part of a geometric primitive on a display, wherein said original edge vector represents an oriented edge of said geometric primitive, which program code is stored on a machine readable carrier, for

determining one of four quadrants of a Cartesian coordinate system to which an original edge vector belongs due to its orientation;

transposing an original edge vector into a predetermined one of said four quadrants;

fetching a stored coverage mask which is associated at least indirectly to a transposed edge vector; and

transforming said fetched coverage mask to said quadrant to which an original edge vector belongs due to its orientation;

wherein said program code is for execution by a signal processing component;

means for defining representative edge vectors having different, predetermined orientations, said representative edge vectors being distributed by said predetermined orientations in a rotationally symmetric manner to said four quadrants of said Cartesian coordinate system, such that if the set of representative edge vectors defined for one quadrant is rotated in steps of 90°, the resulting edge vectors correspond exactly to the set of representative edge vectors defined for another quadrant; and

means for selecting one of said representative edge vectors in said predetermined quadrant, which representative edge vector has a similar orientation as said transposed edge vector;

wherein the coverage mask look-up portion for fetching a stored coverage mask fetches a stored coverage mask which is associated to said selected representative edge vector and thereby indirectly to said transposed edge vector;

wherein a first representative edge vector of said predetermined quadrant lies on a first border to a first neighboring quadrant of said predetermined quadrant;

wherein a representative edge vector lying on a second border to a second neighboring quadrant of said predetermined quadrant constitutes a first representative edge vector of said second neighboring quadrant, wherein in case said transposed edge vector has a similar orientation as said first representative edge vector of said second neighboring quadrant, said device further comprises means for selecting said first representative edge vectors of said predetermined quadrant as representative edge vector;

wherein the coverage mask look-up portion for fetching a stored coverage mask, fetches a stored coverage mask which is associated to said selected representative edge vector; and

wherein said device further comprises means for correcting said fetched coverage mask.

Assignments (10)
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035495/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2003
From: CRISU, DAN; COTOFANA, SORIN; VASSILIADIS, STAMATIS; LIUHA, PETRI
To: NOKIA CORPORATION
Reel/Frame 014476/0578 →