Graphics lighting engine including log and anti-log units

US9852540B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9852540-B2
Application numberUS-201113976920-A
CountryUS
Kind codeB2
Filing dateDec 31, 2011
Priority dateDec 31, 2011
Publication dateDec 26, 2017
Grant dateDec 26, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed is an apparatus and method for generating a lighting value based on a number of lighting factors. A lighting accelerator first converts an ambient portion, a diffuse light portion, and a specular light portion of the lighting factors into the log domain. Then, data combination units operate on the lighting factors after they have been converted. Then, the lighting factors are converted back from the log domain using anti-log processing. Converting the lighting factors into the log domain is accomplished by using a series of linear equations using coefficients that are all based on powers of two, and are therefore easily calculable. Further, while in the log domain, the specular light portion of the lighting factor is operated on by a special purpose multiplier that uses a truncated partial product tree, saving area and power with only a negligible amount of error.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus, comprising: an input for receiving a plurality of numbers representing lighting factors; a lighting accelerator coupled to the input and structured to generate a lighting value based on the received lighting factors, the lighting accelerator including: a plurality of log units, at least one log unit for each of an ambient portion, a diffuse light portion, and a specular light portion, at least one of the log units including: an input for receiving a single precision floating point number between 0 and 1, a linear interpolator structured to approximate a log of the received number, the linear interpolator including five separate intervals, in which a particular one of the five separate intervals is used to approximate the log of the number depending on a value of the received number, and an output structured to output a log approximation of the received number; a plurality of anti-log units, at least one anti-log unit for each of the ambient portion, the diffuse light portion, and specular light portion; and a Booth-encoded fixed point multiplier positioned between the log units and the anti-log units, the Booth-encoded fixed point multiplier configured to employ a truncated partial product tree to perform multiplication operations on the specular light portion in a log domain. 2. The apparatus of claim 1 , further comprising one or more adders positioned between the log units and the anti-log units, the adders configured to perform addition computations on the ambient light portion in the log domain, the one or more adders further configured to perform addition computations on the diffuse light portion in the log domain. 3. The apparatus of claim 1 , in which the log approximation is output as a fixed-point number. 4. The apparatus of claim 1 in which the five separate intervals of the linear interpolator are determined based on a plurality of coefficients. 5. The apparatus of claim 4 , in which the plurality of coefficients are all powers of two, and are implemented with shift circuits and a selector. 6. An apparatus, comprising: an input for receiving a plurality of numbers representing lighting factors; a lighting accelerator coupled to the input and structured to generate a lighting value based on the received lighting factors, the lighting accelerator including: a plurality of log units, at least one log unit for each of an ambient portion, a diffuse light portion, and a specular light portion; a plurality of anti-log units, at least one anti-log unit for each of the ambient portion, the diffuse light portion, and specular light portion, in which at least one of the plurality of anti-log units comprises: an input for receiving a fixed-point number including a sign portion, an integer portion, and a fractional portion, and in which the fractional portion has a value between 0 and 1; an anti-log linear interpolator structured to approximate a mantissa of a floating point number from the fractional portion of the fixed-point number, and to derive an exponent of the floating point number, in which the linear interpolator includes four separate intervals, and in which a particular one of the four separate intervals is used to approximate the mantissa of the floating point number depending on a value of the received fixed-point number; and an output structured to output a representation of the approximated mantissa and the derived exponent; and a Booth-encoded fixed point multiplier positioned between the log units and the anti-log units, the Booth-encoded fixed point multiplier configured to employ a truncated partial product tree to perform multiplication operations on the specular light portion in a log domain. 7. The apparatus of claim 6 , in which the one of the plurality of anti-log units comprises: a range selector structured to determine which of the particular of the four separate intervals is to be used. 8. A method comprising: receiving a plurality of numbers representing lighting factors; and generating a lighting value in a lighting accelerator based on the received lighting factors by: converting an ambient portion lighting factor, a diffuse portion lighting factor, and a specular portion lighting factor from an arithmetic number domain into a log domain by: receiving a single precision floating point input number including a sign portion, an integer portion, and a fractional portion, and in which the fractional portion has a value between 0 and 1, approximating a log of the input number using a particular one of five separate intervals in a linear interpolator, the approximating depending on a value of the input number, and generating an output for the approximated log; multiplying specular portion lighting factors using a Booth-encoded fixed point multiplier having a truncated partial-product tree; truncating an interim of the partial-product tree result to a final output for the specular portion lighting factor; employing adders to combine factors for each of the ambient portion lighting factor, diffuse portion lighting factor, and specular portion lighting factor in the log domain; and converting the combined factors for each of the ambient portion lighting factor, diffuse portion lighting factor, and specular portion lighting factor back into the arithmetic number domain using an anti-log unit. 9. The method of claim 8 , further comprising multiplying two 32 b numbers together and generating an output in the form of 8.23b times 8.23b. 10. The method of claim 8 , in which converting the combined factors for each of the ambient portion, diffuse portion, and specular portions back into the arithmetic number domain using an anti-log unit comprises: receiving a fixed point number including a sign portion, an integer portion, and a fractional portion, and in which the fractional portion has a value between 0 and 1 at an input; approximating a mantissa of a floating point number from the fractional portion of the fixed-point number, and deriving an exponent of the floating point number using a second linear interpolator; and generating an output of a representation of an approximated anti-log. 11. The method of claim 10 , in which the second linear interpolator includes four separate intervals, and in which a particular one of the four separate intervals is used to approximate the mantissa of the floating point number depending on a value of the received fixed-point number. 12. A method, comprising: in a portable device, detecting an action of an input mechanism; generating a request to generate a lighting value based on the action; in a graphics processor on the portable device, receiving a plurality of numbers representing lighting factors; generating a lighting value in a lighting accelerator based on the received lighting factors by: converting an ambient portion lighting factor, a diffuse portion lighting factor, and a specular portion lighting factor from an arithmetic number domain into a log domain by: receiving a single precision floating point input number including a sign portion, an integer portion, and a fractional portion, and in which the fractional portion has a value between 0 and 1, approximating a log of the input number using a particular one of five separate intervals in a linear interpolator, the approximating depending on a value of the input number, and generating an output for the approximated log, multiplying specular portion lighting factors using a Booth-encoded fixed point multiplier having a truncated partial-product tree; truncating an interim of the partial-product tree result to a final output for the specular portion lighting factor; combining factor

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9852540B2 cover?
Disclosed is an apparatus and method for generating a lighting value based on a number of lighting factors. A lighting accelerator first converts an ambient portion, a diffuse light portion, and a specular light portion of the lighting factors into the log domain. Then, data combination units operate on the lighting factors after they have been converted. Then, the lighting factors are converte…
Who is the assignee on this patent?
Sheikh Farhana, Mathew Sanu, Krishnamurthy Ram, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06T15/50. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 26 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).