IP Library Granted Patent US 8,063,901
Granted Patent B2
US 8,063,901 · App. 12/157,082 · Granted Nov 22, 2011

Method and apparatus for efficient client-server visualization of multi-dimensional data

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 8,063,901
App. No.
12/157,082
Granted
Nov 22, 2011
Kind
B2
Abstract

In response to a request from a client, a server for volume rendering loads a volume dataset from a storage archive, creates a low resolution sub-sampled copy of such volume dataset and transmits it to a client. In response to subsequent requests from the client, the server for volume rendering renders a high quality image of the full resolution volume dataset and renders a low quality image of the sub-sampled copy of the volume dataset, then generates a pixel mask or a hybrid pixel mask indicative of a difference between the high quality image and the low quality image and transmits such pixel mask to the client. The client receives from the server the pixel mask and computes a high quality image based at least in part on the pixel mask and on a selective rendering of its local low resolution sub-sampled copy of the volume dataset.

Claims (90)

1. A method of volume rendering comprising:

receiving a data loading request from a client;

loading a full resolution volume dataset on a server;

computing a low resolution sub-sampled copy of the full resolution volume dataset;

transmitting the sub-sampled copy of the full resolution volume dataset to the client;

receiving a rendering request from the client;

rendering a high quality image from the full resolution volume dataset on the server based at least in part on predetermined rendering parameters specified by the client;

rendering on the server a low quality image from the low resolution sub-sampled copy of the full resolution volume dataset;

generating a pixel mask based at least in part on the high quality image and the low quality image on the server; and

transmitting the pixel mask from the server to the client.

2. The method of claim 1 further comprising:

receiving the pixel mask from the server at the client;

rendering an image of a local low resolution sub-sampled volume based on pixel values in the pixel mask; and

combining the pixel mask values in the pixel mask with selectively rendered pixel values into a high quality image.

3. The method of claim 1 wherein the pixel mask is a hybrid pixel mask.

4. The method of claim 3 wherein generating the hybrid pixel mask comprises:

performing a XOR operation between the high quality image and the low quality image;

storing zero values resulting from the XOR operation; and

replacing non-zero values resulting from the XOR operation with pixel values from the high quality image.

5. The method of claim 2 , wherein the pixel mask is a hybrid pixel mask and generating the high quality image comprises:

selectively rendering only pixel values flagged as zero in the pixel mask; and

combining the selectively rendered pixel values with non-zero values in the pixel mask.

6. The method of claim 1 wherein generating the pixel mask further comprises:

computing a XOR operation between pixels in the high quality image and low quality image computed on the server.

7. The method of claim 6 , further comprising:

receiving the pixel mask from the server at the client;

rendering a low quality image of a local low resolution sub-sampled volume;

combining pixel values of the pixel mask and pixel values of the low quality image using a XOR operator; and

generating a high quality image based on the combined pixel values.

8. The method of claim 1 wherein transmitting the sub-sampled copy of the full resolution volume from the server to the client comprises compressing the sub-sampled copy of the full resolution volume.

9. The method of claim 1 wherein transmitting the pixel mask from the server to the client comprises compressing the pixel mask using lossless compression.

10. The method of claim 1 wherein the rendering request from the client to the server is based on the rapidity of inputs received from a user interacting with viewing parameters on the client.

11. A system for volume rendering comprising:

means for receiving a data loading request;

means for loading a full resolution volume dataset;

means for computing a low resolution sub-sampled copy of the full resolution volume dataset;

means for transmitting the sub-sampled copy of the full resolution volume dataset;

means for receiving a rendering request;

means for rendering a high quality image from the full resolution volume dataset based at least in part on predetermined rendering parameters;

means for rendering a low quality image from the low resolution sub-sampled copy of the full resolution volume dataset;

means for generating a pixel mask based at least in part on the high quality image and the low quality image; and

means for transmitting the pixel mask.

12. The apparatus of claim 11 further comprising:

means for receiving the pixel mask;

means for rendering an image of a local low resolution sub-sampled volume based on pixel values in the pixel mask; and

means for combining the pixel mask values in the pixel mask with selectively rendered pixel values into a high quality image.

13. The apparatus of claim 11 wherein the means for generating the pixel mask comprises:

means for performing a XOR operation between the high quality image and the low quality image;

means for storing zero values resulting from the XOR operation; and

means for replacing non-zero values resulting from the XOR operation with pixel values from the high quality image.

14. The apparatus of claim 12 , wherein the pixel mask is a hybrid pixel mask and the means for generating the high quality image comprises:

means for selectively rendering only pixel values flagged as zero in the pixel mask; and

means for combining the selectively rendered pixel values with non-zero values in the pixel mask.

15. The apparatus of claim 11 wherein the means for generating the pixel mask further comprises:

means for computing a XOR operation between pixels in the high quality image and low quality image.

16. The apparatus of claim 15 , further comprising:

means for receiving the pixel mask;

means for rendering a low quality image of a local low resolution sub-sampled volume;

means for combining pixel values of the pixel mask and pixel values of the low quality image using a XOR operator; and

means for generating a high quality image based on the combined pixel values.

17. The apparatus of claim 11 further comprising:

means for compressing the sub-sampled copy of the full resolution volume.

18. A non-transitory machine readable medium having program instructions stored thereon, the instructions capable of execution by a processor and defining the steps of:

receiving a data loading request from a client;

loading a full resolution volume dataset on a server;

computing a low resolution sub-sampled copy of the full resolution volume dataset;

transmitting the sub-sampled copy of the full resolution volume dataset to the client;

receiving a rendering request from the client;

rendering a high quality image from the full resolution volume dataset on the server based at least in part on predetermined rendering parameters specified by the client;

rendering on the server a low quality image from the low resolution sub-sampled copy of the full resolution volume dataset;

generating a pixel mask based at least in part on the high quality image and the low quality image on the server; and

transmitting the pixel mask from the server to the client.

19. The machine readable medium of claim 18 wherein the instructions further define the steps of:

receiving the pixel mask from the server at the client;

rendering an image of a local low resolution sub-sampled volume based on pixel values in the pixel mask; and

combining the pixel mask values in the pixel mask with selectively rendered pixel values into a high quality image.

20. The machine readable medium of claim 19 wherein the instructions for generating the pixel mask further define the steps of:

performing a XOR operation between the high quality image and the low quality image;

storing zero values resulting from the XOR operation; and

replacing non-zero values resulting from the XOR operation with pixel values from the high quality image.

21. The machine readable medium of claim 18 , wherein the pixel mask is a hybrid pixel mask and the instructions for generating the high quality image further define the steps of:

selectively rendering only pixel values flagged as zero in the pixel mask; and

combining the selectively rendered pixel values with non-zero values in the pixel mask.

22. The machine readable medium of claim 18 wherein the instructions for generating the pixel mask further define the step of:

computing a XOR operation between pixels in the high quality and low quality images computed on the server.

23. The machine readable medium of claim 22 , wherein the instructions further define the steps of:

receiving the pixel mask from the server at the client;

rendering a low quality image of a local low resolution sub-sampled volume;

combining pixel values of the pixel mask and pixel values of the low quality image using a XOR operator; and

generating a high quality image based on the combined pixel values.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 066088 FRAME: 0256. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 17, 2024
From: SIEMENS HEALTHCARE GMBH
To: SIEMENS HEALTHINEERS AG
Reel/Frame 071178/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2023
From: SIEMENS HEALTHCARE GMBH
To: SIEMENS HEALTHINEERS AG
Reel/Frame 066088/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2016
From: SIEMENS AKTIENGESELLSCHAFT
To: SIEMENS HEALTHCARE GMBH
Reel/Frame 039271/0561 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2009
From: SIEMENS CORPORATE RESEARCH, INC.
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 022506/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2008
From: PALADINI, GIANLUCA
To: SIEMENS CORPORATE RESEARCH, INC.
Reel/Frame 021585/0355 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2008
From: SCUCCHIARI, MATHIA; MOELLER, THOMAS
To: SIEMENS CORPORATE RESEARCH, INC.
Reel/Frame 021644/0038 →