IP Library Granted Patent US 9,390,548
Granted Patent B2
US 9,390,548 · App. 14/305,647 · Granted Jul 12, 2016

Three-dimensional volume rendering using an in-memory database

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 9,390,548
App. No.
14/305,647
Granted
Jul 12, 2016
Kind
B2
Abstract

The present disclosure describes methods, systems, and computer program products for three-dimensional (3D) volume rendering. One computer-implemented method includes receiving a rendering request for a volume rendering of data of a volume dataset, calling one or more database-layer rendering procedures to perform the rendering request, for each rendering procedure: retrieving data volume metadata consistent with the rendering request and retrieving data volume data consistent with rendering request, generating, by a computer and using the data volume metadata and data volume data, an image intensity buffer containing intensity and illumination data for image generation, and generating an image from the data contained in the image intensity buffer.

Claims (50)

1. A computer-implemented method comprising:

receiving a rendering request for a volume rendering of data of a three-dimensional volume dataset;

calling one or more database-layer rendering procedures to perform the rendering request;

for each rendering procedure:

retrieving data volume metadata consistent with the rendering request; and

retrieving data volume data consistent with rendering request;

generating, by a computer and using the data volume metadata and data volume data, an image intensity buffer for image generation storing intensity and illumination data for each pixel of the three-dimensional volume dataset, an intensity value of each pixel determined by a combination of a projection calculation by a viewing calculator, an interpolation of intensity value by an intensity calculator, and an intensity scaling by an intensity scaling calculator, the determined intensity value of each pixel projected into a two-dimensional image space taking into account an actual position of an observer and a viewing direction, and the illumination data calculated for each pixel using a gradient calculation generating geometric vectors; and

generating an image from the pixel intensity and illumination data contained in the image intensity buffer.

2. The method of claim 1 , wherein the rendering request is received by a database-layer volume rendering service.

3. The method of claim 2 , wherein the one or more database-layer rendering procedures are called by the volume rendering service.

4. The method of claim 1 , wherein generating the image intensity buffer includes calling one or more database-layer stored procedures.

5. The method of claim 4 , wherein the one or more database-layer stored procedures further calls one or more low level processes to perform high-computation processing functions.

6. The method of claim 1 , further comprising, for each pixel associated with the retrieved data volume data:

calculating a pixel intensity value; and

using the pixel intensity, calculating a pixel illumination value.

7. The method of claim 1 , wherein the intensity values stored in the intensity buffer correspond to visible parts of the three-dimensional volume dataset from the perspective of the actual position of the observer and the viewing direction.

8. A non-transitory, computer-readable medium storing computer-readable instructions executable by a computer and configured to:

receive a rendering request for a volume rendering of data of a three-dimensional volume dataset;

call one or more database-layer rendering procedures to perform the rendering request;

for each rendering procedure:

retrieve data volume metadata consistent with the rendering request; and

retrieve data volume data consistent with rendering request;

generate, by a computer and using the data volume metadata and data volume data, an image intensity buffer for image generation storing intensity and illumination data for each pixel of the three-dimensional volume dataset, an intensity value of each pixel determined by a combination of a projection calculation by a viewing calculator, an interpolation of intensity value by an intensity calculator, and an intensity scaling by an intensity scaling calculator, the determined intensity value of each pixel projected into a two-dimensional image space taking into account an actual position of an observer and a viewing direction, and the illumination data calculated for each pixel using a gradient calculation generating geometric vectors; and

generate an image from the pixel intensity and illumination data contained in the image intensity buffer.

9. The medium of claim 8 , wherein the rendering request is received by a database-layer volume rendering service.

10. The medium of claim 9 , wherein the one or more database-layer rendering procedures are called by the volume rendering service.

11. The medium of claim 8 , wherein generating the image intensity buffer includes calling one or more database-layer stored procedures.

12. The medium of claim 11 , wherein the one or more database-layer stored procedures further calls one or more low level processes to perform high-computation processing functions.

13. The medium of claim 8 , further comprising, for each pixel associated with the retrieved data volume data, instructions to:

calculate a pixel intensity value; and

using the pixel intensity, calculate a pixel illumination value.

14. The medium of claim 8 , wherein the intensity values stored in the intensity buffer correspond to visible parts of the three-dimensional volume dataset from the perspective of the actual position of the observer and the viewing direction.

15. A system, comprising:

a memory;

at least one hardware processor interoperably coupled with the memory and configured to:

receive a rendering request for a volume rendering of data of a three-dimensional volume dataset;

call one or more database-layer rendering procedures to perform the rendering request;

for each rendering procedure:

retrieve data volume metadata consistent with the rendering request; and

retrieve data volume data consistent with rendering request;

generate, by a computer and using the data volume metadata and data volume data, an image intensity buffer for image generation storing intensity and illumination data for each pixel of the three-dimensional volume dataset, an intensity value of each pixel determined by a combination of a projection calculation by a viewing calculator, an interpolation of intensity value by an intensity calculator, and an intensity scaling by an intensity scaling calculator, the determined intensity value of each pixel projected into a two-dimensional image space taking into account an actual position of an observer and a viewing direction, and the illumination data calculated for each pixel using a gradient calculation generating geometric vectors; and

generate an image from the pixel intensity and illumination data contained in the image intensity buffer.

16. The system of claim 15 , wherein the rendering request is received by a database-layer volume rendering service.

17. The system of claim 16 , wherein the one or more database-layer rendering procedures are called by the volume rendering service.

18. The system of claim 15 , wherein generating the image intensity buffer includes calling one or more database-layer stored procedures.

19. The system of claim 18 , wherein the one or more database-layer stored procedures further calls one or more low level processes to perform high-computation processing functions.

20. The system of claim 15 , further configured, for each pixel associated with the retrieved data volume data, to:

calculate a pixel intensity value; and

using the pixel intensity, calculate a pixel illumination value.

21. The system of claim 15 , wherein the intensity values stored in the intensity buffer correspond to visible parts of the three-dimensional volume dataset from the perspective of the actual position of the observer and the viewing direction.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2014
From: SCHMIDT, OLAF; KAFKA, JASON; THUN, PHILIPP
To: SAP AG
Reel/Frame 033214/0092 →