Method of calculating processed depth and storage medium storing processed-depth calculating program
US-2017364624-A1 · Dec 21, 2017 · US
US10353672B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10353672-B2 |
| Application number | US-201514883889-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 15, 2015 |
| Priority date | Sep 25, 2015 |
| Publication date | Jul 16, 2019 |
| Grant date | Jul 16, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for computing trigonometric functions, performed by an ALU (Arithmetic Logic Unit) in coordination with an SFU (Special Function Unit), is introduced to contain at least the following steps. The ALU computes a remainder r and a reduction value x* corresponding to an input parameter x. The SFU computes an intermediate function f(x*) corresponding to the reduction value x*. The ALU computes a multiplication of the reduction value x* by the intermediate function f(x*) as the computation result of a trigonometric function.
Opening claim text (preview).
What is claimed is: 1. A method implemented by a GPU (Graphics Processing Unit) for computing trigonometric functions in three-dimensional graphics Application Programming Interfaces (APIs), comprising: computing, by a range reduction unit of an ALU (Arithmetic Logic Unit), a remainder r and a reduction value x* corresponding to an input parameter x; communicating the remainder r to an SFU (Special Function Unit); computing, by the SFU, an intermediate function f(x*) corresponding to the reduction value x*; communicating the intermediate function f(x*) to the ALU; and computing, by a post-computation unit of the ALU, a multiplication of the reduction value x* by the intermediate function f(x*) as a computation result of a trigonometric function, wherein the reduction value x* is computed by an Equation: x* =π/2* frc ( x* 2/π). 2. The method of claim 1 , wherein the step for computing, by a range reduction unit of an ALU (Arithmetic Logic Unit), a remainder r and a reduction value x* corresponding to an input parameter x, further comprises: computing the remainder r corresponding to the input parameter x using an Equation: r=frc ( x *2/π); determining whether a host requests that cos(x) be computed; when the host requests that cos(x) be computed, adjusting the remainder r using an Equation: r= 1.0 −r ; and computing the reduction value x* using an Equation: x*=π /2 *r. 3. The method of claim 1 , wherein the step for computing, by an SFU (Special Function Unit), an intermediate function f(x*) corresponding to the reduction value x*, further comprises: obtaining coefficients C 0 , C 1 and C 2 of a second-degree polynomial from a LUT (Look-Up Table) according to a first magnitude X 1 of the remainder r as an index; obtaining a second magnitude X 2 of the remainder r; and computing the intermediate function f(x*) using an Equation: f ( x* )= C 0 +C 1 *X 2 +C 2 *X 2 2 . 4. The method of claim 3 , wherein the intermediate function f(x*) is a result of Sin(x*)/x* or Cos(x*)/x*. 5. The method of claim 3 , wherein the first magnitude X 1 is 7 bits and the second magnitude X 2 is 24 bits. 6. The method of claim 5 , wherein the LUT comprises 128 records and each record stores the coefficients C 0 , C 1 and C 2 of the second-degree polynomial associated with one of binary values from “0b0000000” to “0b1111111”. 7. An apparatus in a GPU (Graphics Processing Unit) for computing trigonometric functions in three-dimensional graphics Application Programming Interfaces (APIs), comprising: an ALU (Arithmetic Logic Unit); and an SFU (Special Function Unit), coupled to the ALU, wherein the ALU includes range reduction circuitry configured to compute a remainder r and a reduction value x* corresponding to an input parameter x; the SFU includes second-degree-polynomial computation circuitry configured to compute an intermediate function f(x*) corresponding to the reduction value x*; and the ALU includes post-computation circuitry configured to compute a multiplication of the reduction value x* by the intermediate function f(x*) as a computation result of a trigonometric function, wherein the reduction value x* is computed by an Equation: x* =π/2* frc ( x* 2/π). 8. The apparatus of claim 7 , wherein the ALU is configured to compute the remainder r corresponding to the input parameter x using an Equation: r=frc(x*2/π); determines whether a host requests that cos(x) be computed; when the host requests that cos(x) be computed, adjusts the remainder r using an Equation: r=1.0−r; and computes the reduction value x* using an Equation: x*=π/2*r. 9. The apparatus of claim 8 , wherein the SFU further comprises: a volatile memory device, coupled to the ALU, storing the remainder r; a non-volatile memory device, storing a LUT (Look-Up Table); and wherein the SFU obtains coefficients C 0 , C 1 and C 2 of a second-degree polynomial from the LUT according to a first magnitude X 1 of the remainder r as an index; obtains the coefficients C 0 , C 1 and C 2 of the second-degree polynomial; obtains a second magnitude X 2 of the remainder r from the volatile memory device; obtains a square of the second magnitude X 2 from the square computation unit; and computes the intermediate function f(x*) using an Equation: f(x*)=C 0 +C 1 *X 2 +C 2 *X 2 2 . 10. The apparatus of claim 9 , wherein the intermediate function f(x*) is a result of Sin(x*)/x* or Cos(x*)/x*. 11. The apparatus of claim 9 , wherein the first magnitude X 1 is 7 bits and the second magnitude X 2 is 24 bits. 12. The apparatus of claim 11 , wherein the LUT comprises 128 records and each record stores the coefficients C 0 , C 1 and C 2 of the second-degree polynomial associated with one of binary values from “0b0000000” to “0b1111111”.
Trigonometric functions; Co-ordinate transformations · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.