IP Library Granted Patent US 10,580,197
Granted Patent B2
US 10,580,197 · App. 16/252,414 · Granted Mar 3, 2020

Apparatus and method for hierarchical beam tracing and packet compression in a ray tracing system

Inventors: Ingo Wald (Salt Lake City, UT); Gabor Liktor (San Francisco, CA); Carsten Benthin (Voelklingen, DE); Carson Brownlee (Austin, TX); Johannes Guenther (Munich, DE); Jefferson D. Amstutz (Austin, TX)
Assignee: Intel Corporation
G06T15/06G06T15/005G06T9/00G06T15/04G06T15/80G06T17/10
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 10,580,197
App. No.
16/252,414
Granted
Mar 3, 2020
Kind
B2
Abstract

An apparatus and method for compressing ray tracing data prior to transmission between nodes. For example, one embodiment of an apparatus comprises: a first node comprising a first ray tracing engine, the first node communicatively coupled to a second node comprising a second ray tracing engine; first compression circuitry coupled to the first ray tracing engine, the first compression circuitry to perform compression on ray tracing data of the first ray tracing engine to produce a first compressed stream of ray tracing data; and interface circuitry to transmit the first compressed stream of ray tracing data from the first node to the second node.

Claims (33)

1. A graphics processing apparatus comprising:

a first node comprising a first ray tracing engine, the first node communicatively coupled to a second node comprising a second ray tracing engine;

a lossless compression component to perform lossless compression of at least a first portion of ray tracing data to produce a first compressed stream of ray tracing data, wherein the lossless compression comprises data and/or commands which, upon execution by the second ray tracing engine on the second node, allows the second ray tracing engine to reconstruct the ray tracing data; and

interface circuitry to transmit the first compressed stream of ray tracing data from the first node to the second node.

2. The graphics processing apparatus as in claim 1 , further comprising:

first decompression circuitry coupled to the first ray tracing engine, the first decompression circuitry to perform decompression of a second compressed stream of ray tracing data received from the second node.

3. The graphics processing apparatus as in claim 2 , wherein the second node comprises second compression circuitry to generate the second compressed stream of ray tracing data and second decompression circuitry to decompress the first compressed stream of ray tracing data received from the first node.

4. The graphics processing apparatus as in claim 1 , further comprising:

a lossy compression component to perform lossy compression of a second portion of the ray tracing data.

5. The graphics processing apparatus as in claim 4 wherein the lossy compression comprises converting 32-bit floating point coordinate values to 8-bit integer coordinate values.

6. The graphics processing apparatus as in claim 1 wherein the lossless compression further comprises at least one of grouping values and creating implicit rays using applicable metadata, sharing origins among multiple rays, or sending implicit rays.

7. A method comprising:

communicatively coupling a first node comprising a first ray tracing engine to a second node comprising a second ray tracing engine;

performing lossless compression of a first portion of ray tracing data of the first ray tracing engine using first compression circuitry on the first node to produce a first compressed stream of ray tracing data, wherein the lossless compression comprises data and/or commands which, upon execution by the second ray tracing engine on the second node, allows the second ray tracing engine to reconstruct the ray tracing data; and

transmitting the first compressed stream of ray tracing data from the first node to the second node.

8. The method as in claim 7 further comprising:

performing decompression of a second compressed stream of ray tracing data received from the second node using the first decompression circuitry on the first node.

9. The method as in claim 8 wherein the second node comprises second compression circuitry to generate the second compressed stream of ray tracing data and second decompression circuitry to decompress the first compressed stream of ray tracing data received from the first node.

10. The method as in claim 7 wherein the first compression circuitry further performs lossy compression of a first portion of the ray tracing data.

11. The method as in claim 10 wherein the lossy compression comprises converting 32-bit floating point coordinate values to 8-bit integer coordinate values.

12. The method as in claim 7 wherein the lossless compression further comprises grouping values and creating implicit rays using applicable metadata.

13. The method as in claim 7 wherein the lossless compression further comprises at least one of sharing origins among multiple rays or sending implicit rays.

14. A non-transitory machine-readable storage medium having program code stored thereon which, when executed by a machine, causes the machine to perform operations of:

communicatively coupling a first node comprising a first ray tracing engine to a second node comprising a second ray tracing engine;

performing lossless compression of a first portion of ray tracing data of the first ray tracing engine using first compression circuitry on the first node to produce a first compressed stream of ray tracing data, wherein the lossless compression comprises data and/or commands which, upon execution by the second ray tracing engine on the second node, allows the second ray tracing engine to reconstruct the ray tracing data; and

transmitting the first compressed stream of ray tracing data from the first node to the second node.

15. The non-transitory machine-readable storage medium as in claim 14 , wherein the program code, when executed by the machine, causes the machine to further perform the operations of:

performing decompression of a second compressed stream of ray tracing data received from the second node using the first decompression circuitry on the first node.

16. The non-transitory machine-readable storage medium as in claim 15 wherein the second node comprises second compression circuitry to generate the second compressed stream of ray tracing data and second decompression circuitry to decompress the first compressed stream of ray tracing data received from the first node.

17. The non-transitory machine-readable storage medium as in claim 14 wherein the first compression circuitry further performs lossy compression of a first portion of the ray tracing data.

18. The non-transitory machine-readable storage medium as in claim 17 wherein the lossy compression comprises converting 32-bit floating point coordinate values to 8-bit integer coordinate values.

19. The non-transitory machine-readable storage medium as in claim 14 wherein the lossless compression further comprises grouping values and creating implicit rays using applicable metadata.

20. The non-transitory machine-readable storage medium as in claim 14 wherein the lossless compression further comprises at least one of sharing origins among multiple rays or sending implicit rays.

Continuity (2)
Continuation 15482704 · Apr 7, 2017
Related Publication 20190228560A1 · Jul 25, 2019