IP Library Patent Application 16288736
Patent Application
App. No. 16/288,736

Efficiently Computed Distance Fields

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 None
App. No.
16/288,736
Abstract

A system includes a computing device that includes a memory configured to store instructions. The system also includes a processor to execute the instructions to perform operations that include receiving a collection of line segments representing a glyph space. For each line segment in the collection, operations include determining if each side of the line segment is located within an interior or an exterior of the glyph shape. Operations include determining one or more intersections of the line segments in the collection and an array of points of a grid. Each intersection represents a location that the respective line segment crosses a vertical or horizontal centerline of a point included in the points of the array. For each point included in the points of the array and along the centerline of the respective point, operations include determining a distance between the respective point and one of the one or more intersections. For each point in the array of points, operations assigning a distance field value based on the distance that represents a minimum distance between the respective point and a nearest line segment of the line segment collection. The distance field value also represents whether the point is located within the interior or the exterior of the glyph shape.

Claims (60)

1 . A computing device implemented method comprising:

receiving a collection of line segments representing a glyph space;

for each line segment in the collection, determining if each side of the line segment is located within an interior or an exterior of the glyph shape;

determining one or more intersections of the line segments in the collection and an array of points of a grid, wherein each intersection represents a location that the respective line segment crosses a vertical or horizontal centerline of a point included in the points of the array;

for each point included in the points of the array and along the centerline of the respective point, determining a distance between the respective point and one of the one or more intersections; and

for each point in the array of points, assigning a distance field value based on a distance that represents a minimum distance between the respective point and a nearest line segment of the line segment collection, the distance field value also represents whether the point is located within the interior or the exterior of the glyph shape.

2 . The computing device implemented method of claim 1 , further comprising: rendering the distance field values into a distance field image.

3 . The computing device implemented method of claim 1 , wherein assigning the distance field value is based on an externally specified threshold.

4 . The computing device implemented method of claim 1 , wherein the distance is along a first coordinate axis and limits the use of points along a second coordinate axis, which is orthogonal to the first coordinate axis, to reduce computations.

5 . The computing device implemented method of claim 1 , wherein the distance field values are determined by grouping points that are closer to the collection of line segments along a coordinate axis and grouping points that are closer to the collection of line segments along an orthogonal coordinate axis.

6 . The computing device implemented method of claim 5 , wherein non-crossing vectors associated with grouped points are used to reduce computations.

7 . The computing device implemented method of claim 5 , wherein the coordinate axis is a horizontal axis and the orthogonal coordinate axis is a vertical axis.

8 . The computing device implemented method of claim 1 , wherein each point in the grid represents a pixel or a subpixel component.

9 . The computing device implemented method of claim 1 , further comprising assigning a visual property to each distance field value.

10 . The computing device implemented method of claim 1 , wherein determining the collection of line segments to represent the glyph uses a recursive binary subdivision technique.

11 . The computing device implemented method of claim 1 , wherein each point of the grid represents a subpixel component of a pixel arranged horizontally.

12 . The computing device implemented method of claim 1 , wherein each point of the grid represents a subpixel component of a pixel arranged vertically.

13 . The computing device implemented method of claim 1 , wherein each point in the grid represents a subpixel component of a pixel arranged diagonally.

14 . The computing device implemented method of claim 1 , wherein each point in the grid represents a subpixel component of a pixel, wherein an array of subpixels is aligned along an axis and another array of subpixels is aligned along an orthogonal axis.

15 . A system comprising:

a computing device comprising:

memory configured to store instructions; and

a processor to execute the instructions to perform operations comprising:

receiving a collection of line segments representing a glyph space;

for each line segment in the collection, determining if each side of the line segment is located within an interior or an exterior of the glyph shape;

determining one or more intersections of the line segments in the collection and an array of points of a grid, wherein each intersection represents a location that the respective line segment crosses a vertical or horizontal centerline of a point included in the points of the array;

for each point included in the points of the array and along the centerline of the respective point, determining a distance between the respective point and one of the one or more intersections; and

for each point in the array of points, assigning a distance field value based on a distance that represents a minimum distance between the respective point and a nearest line segment of the line segment collection, the distance field value also represents whether the point is located within the interior or the exterior of the glyph shape.

16 . The system of claim 15 , further comprising: rendering the distance field values into a distance field image.

17 . The system of claim 15 , wherein assigning the distance field value is based on an externally specified threshold.

18 . The system of claim 15 , wherein the distance is along a first coordinate axis and limits the use of points along a second coordinate axis, which is orthogonal to the first coordinate axis, to reduce computations.

19 . The system of claim 15 , wherein the distance field values are determined by grouping points that are closer to the collection of line segments along a coordinate axis and grouping points that are closer to the collection of line segments along an orthogonal coordinate axis.

20 . The system of claim 19 , non-crossing vectors associated with grouped points are used to reduce computations.

21 . The system of claim 19 , wherein the coordinate axis is a horizontal axis and the orthogonal coordinate axis is a vertical axis.

22 . The system of claim 15 , wherein each point in the grid represents a pixel or a subpixel component.

23 . The system of claim 15 , further comprising assigning a visual property to each distance field value.

24 . The system of claim 15 , wherein determining the collection of line segments to represent the glyph uses a recursive binary subdivision technique.

25 . The system of claim 15 , wherein each point of the grid represents a subpixel component of a pixel arranged horizontally.

26 . The system of claim 15 , wherein each point of the grid represents a subpixel component of a pixel arranged vertically.

27 . The system of claim 15 , wherein each point in the grid represents a subpixel component of a pixel arranged diagonally.

28 . The system of claim 15 , wherein each point in the grid represents a subpixel component of a pixel, wherein an array of subpixels is aligned along an axis and another array of subpixels is aligned along an orthogonal axis.

29 . One or more computer readable media storing instructions that are executable by a processing device, and upon such execution cause the processing device to perform operations comprising:

receiving a collection of line segments representing a glyph space;

for each line segment in the collection, determining if each side of the line segment is located within an interior or an exterior of the glyph shape;

determining one or more intersections of the line segments in the collection and an array of points of a grid, wherein each intersection represents a location that the respective line segment crosses a vertical or horizontal centerline of a point included in the points of the array;

for each point included in the points of the array and along the centerline of the respective point, determining a distance between the respective point and one of the one or more intersections; and

for each point in the array of points, assigning a distance field value based on a distance that represents a minimum distance between the respective point and a nearest line segment of the line segment collection, the distance field value also represents whether the point is located within the interior or the exterior of the glyph shape.

30 . The computer readable media of claim 29 , further comprising: rendering the distance field values into a distance field image.

31 . The computer readable media of claim 29 , wherein assigning the distance field value is based on an externally specified threshold.

32 . The computer readable media of claim 29 , wherein the distance is along a first coordinate axis and limits the use of points along a second coordinate axis, which is orthogonal to the first coordinate axis, to reduce computations.

33 . The computer readable media of claim 29 , wherein the distance field values are determined by grouping points that are closer to the collection of line segments along a coordinate axis and grouping points that are closer to the collection of line segments along an orthogonal coordinate axis.

34 . The computer readable media of claim 33 , non-crossing vectors associated with grouped points are used to reduce computations.

35 . The computer readable media of claim 33 , wherein the coordinate axis is a horizontal axis and the orthogonal coordinate axis is a vertical axis.

36 . The computer readable media of claim 29 , wherein each point in the grid represents a pixel or a subpixel component.

37 . The computer readable media of claim 29 , further comprising assigning a visual property to each distance field value.

38 . The computer readable media of claim 29 , wherein determining the collection of line segments to represent the glyph uses a recursive binary subdivision technique.

39 . The computer readable media of claim 29 , wherein each point of the grid represents a subpixel component of a pixel arranged horizontally.

40 . The computer readable media of claim 29 , wherein each point of the grid represents a subpixel component of a pixel arranged vertically.

41 . The computer readable media of claim 29 , wherein each point in the grid represents a subpixel component of a pixel arranged diagonally.

42 . The computer readable media of claim 29 , wherein each point in the grid represents a subpixel component of a pixel, wherein an array of subpixels is aligned along an axis and another array of subpixels is aligned along an orthogonal axis.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2024
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: MONOTYPE IMAGING INC.; MYFONTS INC.
Reel/Frame 066651/0123 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2024
From: AUDAX PRIVATE DEBT LLC
To: MONOTYPE IMAGING INC.; MYFONTS INC.
Reel/Frame 066739/0610 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 14, 2019
From: MONOTYPE IMAGING INC.; MYFONTS INC.
To: AUDAX PRIVATE DEBT LLC, AS COLLATERAL AGENT
Reel/Frame 050716/0514 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Oct 14, 2019
From: MONOTYPE IMAGING INC.; MYFONTS INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH
Reel/Frame 050716/0539 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2019
From: BETTS, WILLIAM ELLIOTT; TAYLOR, ROBERT JOSEPH
To: MONOTYPE IMAGING INC.
Reel/Frame 048530/0285 →