IP Library Granted Patent US 7,170,521
Granted Patent B2
US 7,170,521 · App. 10/116,720 · Granted Jan 30, 2007

Method of and system for storing, communicating, and displaying image 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 7,170,521
App. No.
10/116,720
Granted
Jan 30, 2007
Kind
B2
Abstract

A system for storing, communicating, and displaying image or graphic data over a network. The system includes a client that is connectable to a server via a network. The server is configured to store an image file having image data, where the structure of the image file preferably includes submatrices. The submatrices allow the system to render the images using an adaptive rendering technique.

Claims (407)

1. A method of rendering an image of a multidimensional item, the rendering occurring at one of a server and a client, the server and the client in communication with a network, the method comprising:

storing a data file at the server, the data file including image data that is constructable to form the multidimensional item, wherein at least some of the image data is structured as submatrices satisfying the equation

n

d

=

2

round

q

log

2

(

N

d

)

2

r

1

<

_

d

<

_

D

,

where n d is the number of points along dimension d of each submatrix, N d is the number of points alone dimension d of the full data set, and D is the total number of dimensions in the data set;

receiving a request for an image associated wit the stored data file;

performing at least one of

determining a communications speed for the network,

determining a memory size of a memory of the client,

determining an available memory size of a memory of the client,

determining a computing capability of the client, and

determining a session state; and

determining whether to render the image at the server or the client, the determination being based in part on at least one of

the communications speed of the network,

the memory size of the memory,

the available memory size of the memory,

the computing capability of a second computer, and

the session state;

rendering the image at the server when the determination is made to render the image at the server;

rendering the image at the client when the determination is made to render the image at the client; and

storing at least a portion of the image at the client when the determination is made to render the image at the client.

2. A method as set forth in claim 1 and further comprising:

communicating a portion of the image data from the server to the client via the network, the communicated portion of the image data including image data far displaying the image at the client; and

displaying the image at the client.

3. A method as set forth in claim 2 wherein communicating a portion of the image data occurs after rending the image at the server when the determination is made to render the image at the server.

4. A method as set forth in claim 3 wherein the communicated portion of the image data is the rendered image.

5. A method as set forth in claim 2 wherein communicating a portion of the image data occurs before rending the image at the client when the determination is made to render the image at the client.

6. A method as set forth in claim 5 wherein rending the image at the client includes rendering the image using the communicated portion of the image data.

7. A method as set forth in claim 2 and further comprising:

storing the communicated portion of image data at the client.

8. A method as set forth in claim 7 and further comprising:

determining a second image;

determining whether the stored image data at the client includes data necessary for rendering the second image;

rendering the second image at the client when the stored image data includes the data necessary for rendering the second image; and

displaying the second image.

9. A method as set forth in claim 8 and further comprising:

communicating a second portion of the image data from the server to the client via the network when the stored imaged data does not include the data necessary for displaying the other image; and

storing the communicated second portion of the image data at the client.

10. A method as set forth in claim 1 wherein the multidimensional item is a representation of at least a portion of a physical object.

11. A method as set forth in claim 1 wherein the multidimensional item is a graphic.

12. A method as set forth in claim 1 wherein the image is an image plane.

13. A method as set forth in claim 1 wherein the method further comprises:

determining an image is based on the received request.

14. The method of claim 1 , wherein the value of n d is subject to the constraint

2

12

Z

2

14

,

w

h

e

r

e

Z

=

d

=

1

D

n

d

.

15. A method of displaying images of a multidimensional item at a client, the multidimensional item being stored as a data file at a server, the data file including image data constructable to form the multidimensional item, the method comprising:

receiving a request for a first image;

communicating a first portion of the image data to the client, the first portion of the image data including data for displaying the first image;

storing the first portion of the image data at the client, the storing of the image data resulting in stored data, wherein at least some of the image data is structured as submatrices satisfying the equation

n

d

=

2

round

q

log

2

(

N

d

)

2

r

1

<

_

d

<

_

D

,

where n d is the number of points along dimension d of each submatrix, N d is the number of points along dimension d of the full data set, and D is the total number of dimensions in the data set;

receiving a request for a second image;

determining whether the stored data includes the data for displaying the second image; and

if the stored data does not include the data for displaying the second image,

communicating a second portion of the image data to the client, and

storing the second portion of the image data at the client, the storing of the second portion of the image data resulting in the stored data including the data for displaying the second image.

16. A method as set forth in claim 15 and further comprising:

rendering the second image with the stored data when the stored data includes the data for displaying the second image; and

displaying the second image.

17. A method as set forth in claim 15 wherein the multidimensional item is representative of an object.

18. A method as set forth in claim 15 wherein the multidimensional item is a graphic.

19. A method as set forth in claim 15 wherein the structure of the data file includes submatrices,

wherein communicating a first portion of the image data includes communicating a first plurality of the submatrices to the client, the first plurality of submatrices including the data for displaying the first image, and

wherein storing the first portion of the image data includes storing the first plurality of submatrices at the client.

20. A method as set forth in claim 19 wherein communicating a second portion of the image data includes communicating a second plurality of the submatrices to the client, the second plurality of submatrices including at least a portion of the data for displaying the second image, and

wherein storing the second portion of the image data includes storing the second plurality of submatrices at the client resulting in the stored data including the data for displaying the second image.

21. A method as set forth in claim 20 and further comprising:

rendering the second image with the stored data when the stored data includes the data for displaying the second image.

22. The method of claim 15 , wherein the value of n d is subject to the constraint

2

12

Z

2

14

,

w

h

e

r

e

Z

=

d

=

1

D

n

d

.

23. A method of communicating image data to a client for displaying images of an item, the method comprising:

providing an image file having image data;

storing the provided image file at a server, the stored image file including the image data structured as submatrices, wherein at least some of the submatrices satisfy the equation

n

d

=

2

round

q

log

2

(

N

d

)

2

r

1

<

_

d

<

_

D

,

where n d is the number of points along dimension d of each submatrix, N d is the number of points along dimension d of the full data set, and D is the total number of dimensions in the data set;

communicating a first plurality of the submatrices to a client, the first plurality of submatrices including data renderable to form a first image;

receiving a request from the client;

communicating a second plurality of the submatrices to the client in response to the request;

communicating a third plurality of the submatrices, the third plurality of submatrices including data renderable to form a second image.

24. A method as set forth in claim 23 wherein the third plurality of submatrices includes the second plurality of submatrices.

25. A method as set forth in claim 24 wherein the third plurality of submatrices includes at least one of the submatrices of the first plurality.

26. A method as set forth in claim 24 wherein the third plurality of submatrices is the submatrices of the second plurality of submatrices.

27. A method as set forth in claim 23 and further comprising:

after receiving the request from the client, determining the second plurality of submatrices for communication to the client.

28. A method as set forth in claim 23 wherein storing the provided image file includes structuring the image data of the provided image file as an array of submatrices.

29. A method as set forth in claim 28 wherein the image data of the provided image file is structured as an array of parallel planes, and

wherein structuring the image data of the provided image file includes converting the provided image data from an array of parallel planes to the array of submatrices.

30. A method as set forth in claim 28 wherein the image data of the provided image file is structured as a three-dimensional array, and

wherein structuring the image data of the provided image file includes converting the provided image data from a three-dimensional array to an array of submatrices.

31. A method as set forth in claim 23 wherein receiving a request from the client includes receiving a request for a desired second image;

wherein the method further includes determining the plurality of the submatrices that includes the image data renderable to form the second image; and

wherein the determined submatrices being the second plurality of submatrices.

32. A method as set forth in claim 31 wherein receiving a request from the client includes receiving a request for the second plurality of submatrices.

33. The method of claim 23 , wherein the value of n d is subject to the constraint

2

12

<

_

Z

<

_

2

14

,

where

Z

=

d

=

1

D

n

d

.

34. A method of displaying images of a three-dimensional item, the three dimensional item being stored at a server as an image file having image data, the image data structured with submatrices, the method comprising:

receiving a first plurality of the submatrices from the server;

storing the first plurality of submatrices, the storing of the submatrices resulting in stored submatrices, wherein at least same of the submatrices satisfy the equation

n

d

=

2

round

q

log

2

(

N

d

)

2

r

1

<

_

d

<

_

D

,

where n d is the number of points along dimension d of each submatrix, N d is the number of points along dimension d of the full data set, and D is the total number of dimensions in the data set;

displaying a first image;

requesting a second image;

determining if the stored submatrices include image data renderable to form the second image;

if the stored submatrices does not include the image data renderable to form the second image

communicating a request to the server;

receiving a second plurality of submatrices from the server; and

storing the second plurality of submatrices at the client.

35. A method as set forth in claim 34 and further comprising:

if the stored submatrices include the image data renderable to form the second image,

rendering the second image, and

displaying the second image.

36. A method as set forth in claim 34 and further comprising:

displaying the second image.

37. A method as set forth in claim 34 wherein the first and second images are image planes.

38. A method as set forth in claim 34 wherein communicating a request includes communicating a request for the plurality of submatrices necessary to render the second image.

39. A method as set forth in claim 34 wherein the three-dimensional item represents a medical image of at least a portion of a patient.

40. The method of claim 34 , wherein the value of n d is subject to the constraint

2

12

<

_

Z

<

_

2

14

,

where

Z

=

d

=

1

D

n

d

.

41. A method of storing an image file in memory, the method comprising:

receiving a three-dimensional image file by the server having image data representing a three-dimensional item;

structuring the received image file using submatrices, wherein at least some of the submatrices satisfy the equation

n

d

=

2

round

q

log

2

(

N

d

)

2

r

1

<

_

d

<

_

D

,

where n d is the number of points along dimension d of each submatrix, N d is the number of points alone dimension d of the full data set, and D is the total number of dimensions in the data set; and

storing the structured image file.

42. A method as set forth in claim 41 wherein the submatrices are contiguous.

43. A method as set forth in claim 41 wherein the image data of the received image file is structured as an array of planes, and

wherein structuring the received image file includes converting the received image file from an array of planes to an array of submatrices.

44. A method as set forth in claim 41 wherein the image data of the received image file is structured as a three-dimensional array, and

wherein structuring the received image file includes convening the received image file from an a three-dimensional array to an array of submatrices.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2021
From: MERGE HEALTHCARE SOLUTIONS INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 055617/0985 →
RELEASE OF SECURITY INTEREST Recorded Oct 15, 2015
From: GUGGENHEIM CORPORATE FUNDING, LLC
To: MERGE HEALTHCARE SOLUTIONS INC.; MERGE HEALTHCARE INCORPORATED; MERGE SH HOLDINGS, INC.; REQUISITE SOFTWARE, INC.; CEDARA SOFTWARE CORP.; ULTRAVISUAL MEDICAL SYSTEMS CORPORATION; MERGE ECLINICAL, INC.
Reel/Frame 036874/0234 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED ON REEL 032831 FRAME 0910. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION OF "EMAGEON, INC." TO "EMAGEON INC.". Recorded May 9, 2014
From: CAMTRONICS MEDICAL SYSTEMS, LTD.; ULTRAVISUAL MEDICAL SYSTEMS, CORPORATION
To: EMAGEON INC.
Reel/Frame 032862/0172 →
CHANGE OF NAME Recorded May 6, 2014
From: AMICAS, INC.
To: MERGE HEALTHCARE SOLUTIONS INC.
Reel/Frame 032835/0954 →
MERGER Recorded May 6, 2014
From: ULTRAVISUAL MEDICAL SYSTEMS, CORPORATION; CAMTRONICS MEDICAL SYSTEMS, LTD.
To: EMAGEON, INC.
Reel/Frame 032831/0910 →
MERGER Recorded May 6, 2014
From: AMICAS PACS, CORP.; EMAGEON INC.
To: AMICAS, INC.
Reel/Frame 032832/0111 →
TERMINATION AND RELEASE OF SECURITY INTEREST (PATENTS) (REEL 030281/FRAME 0510) Recorded Apr 29, 2014
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: MERGE HEALTHCARE INCORPORATED; MERGE ASSET MANAGEMENT CORP.; MERGE ECLINICAL INC.; MERGE HEALTHCARE SOLUTIONS INC.; MERGE SF HOLDINGS, INC.; MERGE SH HOLDINGS, INC.; REQUISITE SOFTWARE INC.; MERGE INTERACTIVE, INCORPORATED
Reel/Frame 032784/0850 →
PATENT SECURITY AGREEMENT Recorded Apr 29, 2014
From: MERGE HEALTHCARE INCORPORATED; MERGE ASSET MANAGEMENT CORP.; MERGE ECLINICAL INC.; MERGE HEALTHCARE SOLUTIONS INC.; MERGE SF HOLDINGS, INC.; MERGE SH HOLDINGS, INC.; REQUISITE SOFTWARE INC.
To: GUGGENHEIM CORPORATE FUNDING, LLC, AS COLLATERAL AGENT
Reel/Frame 032784/0644 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL 024390 AND FRAME 0432. Recorded Apr 26, 2013
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: MERGE HEALTHCARE INCORPORATED
Reel/Frame 030295/0693 →
SECURITY AGREEMENT Recorded Apr 24, 2013
From: MERGE HEALTHCARE INCORPORATED; MERGE ASSET MANAGEMENT CORP.; MERGE ECLINICAL INC.; MERGE HEALTHCARE SOLUTIONS INC.; MERGE SF HOLDINGS, INC.; MERGE SH HOLDINGS, INC.; REQUISITE SOFTWARE INC.; MERGE INTERACTIVE, INCORPORATED
To: JEFFERIES FINANCE LLC
Reel/Frame 030281/0510 →
SECURITY AGREEMENT Recorded May 17, 2010
From: MERGE HEALTHCARE INCORPORATED; CEDARA SOFTWARE (USA) LIMITED; AMICAS, INC.; MERGE CAD INC.; EMAGEON INC.; CAMTRONICS MEDICAL SYSTEMS, LTD.; ULTRAVISUAL MEDICAL SYSTEMS CORPORATION
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 024390/0432 →
MERGER Recorded Aug 12, 2004
From: ULTRAVISUAL MEDICAL SYSTEMS CORPORATION
To: ULTRAVISUAL MEDICAL SYSTEMS CORPORATION
Reel/Frame 014978/0873 →