# US 10,319,140 B2 · Tri-cubic and hybrid interpolation in a 3D texture shader

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,319,140 B2
- Document ID: US10319140B2
- Status: Granted
- Kind: B2
- Application number: 15/108,704
- Filed: 2015-07-07
- Published: 2017-05-25
- Granted: 2019-06-11
- Earliest claimed: 2015-07-07
- Assignees: Landmark Graphics Corporation
- Applicants: Landmark Graphics Corporation
- Inventors: Zitao Xu; Genbao Shi; Andres Cesar Callegari; ChiKang David Chien; Jeffrey Marc Yarus
- Web page: https://patentgrep.com/patent/US10319140B2

## CPC

- G06T 15/80: Shading
- G06T 15/005: {General purpose rendering architectures}
- G06T 15/04: Texture mapping
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A consecutive set of data points, P1, P2, P3, and P4, is selected. A first line is created through P1 and P3. A first tangent vector originating at P2, parallel to the first line, is created. A second line through P2 and P4 is created. A second tangent vector through P3 is created. The second tangent vector is parallel to the second line. A baseline through P2 and P3 is created. A Bezier curve between P2 and P3 is created, wherein the Bezier curve has a degree. The degree of the Bezier curve is determined based on a comparison of the first tangent vector, the second tangent vector, and the baseline.

## Claims

### Claim 1

A method for reduction of processing artifacts during three-dimensional image rendering, the method comprising:
collecting signals after they pass through a physical object;
generating raw volumetric data (RVD) from the collected signals, wherein the RVD is representative of the physical object;
wherein the RVD includes a plurality of data points whose coordinates are established in a coordinate system comprising:
an x-axis along a first dimension;
a y-axis along a second dimension orthogonal to the first dimension;
a z-axis along a third dimension orthogonal to the first dimension and the second dimension;
selecting a consecutive set of data points comprising P1, P2, P3, and P4 wherein:
an x-axis coordinate of P1<an x-axis coordinate of P2,
the x-axis coordinate of P2<an x-axis coordinate of P3, and
the x-axis coordinate of P3<an x-axis coordinate of P4;
creating a first line through P1 and P3;
creating a first tangent vector originating at P2, parallel to the first line, and having a direction such that the projection of the first tangent vector onto the x-axis is in the direction of a projection of P3 onto the x-axis;
creating a second line through P2 and P4;
creating a second tangent vector through P3, wherein the second tangent vector is parallel to the second line, originates at P3, and has a direction such that the projection of the second tangent vector onto the x-axis is in the direction of a projection of P2 onto the x-axis;
creating a baseline through P2 and P3;
creating a Bezier curve between P2 and P3, wherein the Bezier curve has a degree; and
determining the degree of the Bezier curve based on a comparison of the first tangent vector, the second tangent vector, and the baseline; and
rendering a reduced artifact three-dimensional representation of the physical object using the Bezier curve.

### Claim 2 (depends on 1)

The method of claim 1 wherein determining the degree of the Bezier curve comprises:
defining an extended first tangent vector to be the first tangent vector with an infinite magnitude;
defining an extended second tangent vector to be the second tangent vector with an infinite magnitude;
determining that the extended first tangent vector is not substantially parallel to the extended second tangent vector;
defining a plane that contains the first tangent vector and the second tangent vector; wherein the baseline divides the plane into a first half plane and a second half plane;
determining that the extended first tangent vector and extended second tangent vector are on the same side of the baseline;
finding the intersection (Q) between the extended first tangent vector and the extended second tangent vector;
projecting Q onto the baseline as point Q′;
defining the distance between P2 and P3 as len;
defining the distance between P2 and Q′ as d;
determining that (t1*len<=d<=t2*len), and, in response, setting the degree of the Bezier curve to quadratic.

### Claim 3 (depends on 2)

The method of claim 2 wherein t1=1-t2=0.1.

### Claim 4 (depends on 1)

The method of claim 1 wherein determining the degree of the Bezier curve comprises:
defining an extended first tangent vector to be the first tangent vector with an infinite magnitude;
defining an extended second tangent vector to be the second tangent vector with an infinite magnitude;
determining that the extended first tangent vector is not substantially parallel to the extended second tangent vector;
defining a plane that contains the first tangent vector and the second tangent vector; wherein the baseline divides the plane into a first half plane and a second half plane;
determining that the extended first tangent vector and extended second tangent vector are on the same side of the baseline;
finding the intersection (Q) between the extended first tangent vector and the extended second tangent vector;
projecting Q onto the baseline as point Q′;
defining the distance between P2 and P3 as len;
defining the distance between P2 and Q′ as d;
determining that (d<tl*len OR d>t2*len), and, in response, setting the degree of the Bezier curve to cubic.

### Claim 5 (depends on 4)

The method of claim 4 wherein t1=1-t2=0.1.

### Claim 6 (depends on 1)

The method of claim 1 wherein determining the degree of the Bezier curve comprises:
defining an extended first tangent vector to be the first tangent vector with an infinite magnitude;
defining an extended second tangent vector to be the second tangent vector with an infinite magnitude;
defining a plane that contains the first tangent vector and the second tangent vector; wherein the baseline divides the plane into a first half plane and a second half plane;
determining that the extended first tangent vector and extended tangent vector are in different half planes, and, in response, setting the degree of the Bezier curve to cubic.

### Claim 7 (depends on 1)

The method of claim 1 wherein determining the degree of the Bezier curve comprises:
defining an extended first tangent vector to be the first tangent vector with an infinite magnitude;
defining an extended second tangent vector to be the second tangent vector with an infinite magnitude;
defining a plane that contains the first tangent vector and the second tangent vector; wherein the baseline divides the plane into a first half plane and a second half plane;
determining that both extended first tangent vector and extended second tangent vector are substantially parallel to the baseline, and, in response, setting the degree of the Bezier curve to linear.

### Claim 8 (depends on 1)

The method of claim 1 further comprises selecting a consecutive set of non-uniformly distributed data points.

### Claim 9 (depends on 1)

The method of claim 1 further comprises selecting a consecutive set of uniformly distributed data points.

### Claim 10

A non-transitory computer-readable medium, on which is recorded a computer program that, when executed, performs a method for reduction of processing artifacts during three-dimensional image rendering, the method comprising:
collecting signals after they pass through a physical object;
generating raw volumetric data (RVD) from the collected signals, wherein the RVD is representative of the physical object;
wherein the RVD includes a plurality of data points whose coordinates are established in a coordinate system comprising:
an x-axis along a first dimension;
a y-axis along a second dimension orthogonal to the first dimension;
a z-axis along a third dimension orthogonal to the first dimension and the second dimension;
selecting a consecutive set of data points comprising a P1, a P2, a P3, and a P4 point wherein:
an x-axis coordinate of P1<an x-axis coordinate of P2,
the x-axis coordinate of P2<an x-axis coordinate of P3, and
the x-axis coordinate of P3<an x-axis coordinate of P4;
creating a first line through P1 and P3;
creating a first tangent vector originating at P2, parallel to the first line, and having a direction such that the projection of the first tangent vector onto the x-axis is in the direction of a projection of P3 on the x-axis;
creating a second line through P2 and P4;
creating a second tangent vector through P3 parallel to the second line originating at P3, and having a direction such that the projection of the second tangent vector onto the x-axis is in the direction of a projection of P2 on the x-axis;
creating a baseline through P2 and P3;
creating a Bezier curve between P2 and P3, wherein the Bezier curve has a degree; and
determining the degree of the Bezier curve based on a comparison of the first tangent vector, the second tangent vector, and the baseline; and
rendering a reduced artifact three-dimensional representation of the physical object using the Bezier curve.

### Claim 11 (depends on 10)

The non-transitory computer-readable medium of claim 10 wherein determining the degree of the Bezier curve comprises:
defining an extended first tangent vector to be the first tangent vector with an infinite magnitude;
defining an extended second tangent vector to be the second tangent vector with an infinite magnitude;
determining that the extended first tangent vector is not substantially parallel to the extended second tangent vector;
defining a plane that contains the first tangent vector and the second tangent vector; wherein the baseline divides the plane into a first half plane and a second half plane;
determining that the extended first tangent vector and extended second tangent vector are on the same side of the baseline;
finding the intersection (Q) between the extended first tangent vector and the extended second tangent vector;
projecting Q onto the baseline as point Q′;
defining the distance between P2 and P3 as len;
defining the distance between P2 and Q′ as d;
determining that (t1*len<=d<=t2*len), and, in response, setting the degree of the Bezier curve to quadratic.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11 wherein t1=1−t2=0.1.

### Claim 13 (depends on 10)

The non-transitory computer-readable medium of claim 10 wherein determining the degree of the Bezier curve comprises:
defining an extended first tangent vector to be the first tangent vector with an infinite magnitude;
defining an extended second tangent vector to be the second tangent vector with an infinite magnitude;
determining that the extended first tangent vector is not substantially parallel to the extended second tangent vector;
defining a plane that contains the first tangent vector and the second tangent vector;
wherein the baseline divides the plane into a first half plane and a second half plane;
determining that the extended first tangent vector and extended second tangent vector are on the same side of the baseline;
finding the intersection (Q) between the extended first tangent vector and the extended second tangent vector;
projecting Q onto the baseline as point Q′;
defining the distance between P2 and P3 as len;
defining the distance between P2 and Q′ as d;
determining that (d<t1*len OR d>t2*len), and, in response, setting the degree of the Bezier curve to cubic.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13 wherein t1=1-t2=0.1.

### Claim 15 (depends on 10)

The non-transitory computer-readable medium of claim 10 wherein determining the degree of the Bezier curve comprises:
defining an extended first tangent vector to be the first tangent vector with an infinite magnitude;
defining an extended second tangent vector to be the second tangent vector with an infinite magnitude;
defining a plane that contains the first tangent vector and the second tangent vector;
wherein the baseline divides the plane into a first half plane and a second half plane;
determining that the extended first tangent vector and extended tangent vector are in different half planes, and, in response, setting the degree of the Bezier curve to cubic.

### Claim 16 (depends on 10)

The non-transitory computer-readable medium of claim 10 wherein determining the degree of the Bezier curve comprises:
defining an extended first tangent vector to be the first tangent vector with an infinite magnitude;
defining an extended second tangent vector to be the second tangent vector with an infinite magnitude;
defining a plane that contains the first tangent vector and the second tangent vector;
wherein the baseline divides the plane into a first half plane and a second half plane;
determining that both extended first tangent vector and extended second tangent vector are substantially parallel to the baseline, and, in response, setting the degree of the Bezier curve to linear.

### Claim 17 (depends on 10)

The non-transitory computer-readable medium of claim 10 wherein the method further comprises selecting a consecutive set of non-uniformly distributed data points.

### Claim 18 (depends on 10)

The non-transitory computer-readable medium of claim 10 wherein the method further comprises selecting a consecutive set of uniformly distributed data points.
