Methods and apparatus for dynamic transfer of image data
First Claim
1. A method for transferring data from a server to at least one client, said method comprising the steps of:
- transforming source data into a hierarchical representation using a wavelet transform with fixed point kernels, said hierarchical representation comprising a plurality of levels of essentially non-redundant data, wherein a level of said hierarchical representation comprises transform data sufficient to reconstruct said source data at a resolution corresponding to said level;
requesting, from a client to a server, transform data from a level of said hierarchical representation necessary to reconstruct at least a portion of said source data;
transferring, from said server to said client, said transform data from said hierarchical representation requested by said client; and
re-constructing, at said client, said portion of said source image for display at said client with said transform data.
3 Assignments
0 Petitions
Accused Products
Abstract
A dynamic transfer syntax efficiently transfers data, including large data images, from a server to at least one client. Source data is transformed into a hierarchical representation. The hierarchical representation, consisting of essentially non-redundant data, is a plurality of levels of transform data, such that a level of the hierarchical representation comprises transform data sufficient to reconstruct the source data at a resolution corresponding to the level. The server transfers transform data from a level of the hierarchical representation corresponding to a desired resolution. To render a new view of the source image at the client, the client requests from the server coefficients of the transform data necessary to reconstruct the new view. In response to the request, the server transfers to the client the additional transform data, and the client reconstructs the new view from the coefficients transferred. A medical imaging application for the dynamic transfer syntax is disclosed.
-
Citations
21 Claims
-
1. A method for transferring data from a server to at least one client, said method comprising the steps of:
-
transforming source data into a hierarchical representation using a wavelet transform with fixed point kernels, said hierarchical representation comprising a plurality of levels of essentially non-redundant data, wherein a level of said hierarchical representation comprises transform data sufficient to reconstruct said source data at a resolution corresponding to said level;
requesting, from a client to a server, transform data from a level of said hierarchical representation necessary to reconstruct at least a portion of said source data;
transferring, from said server to said client, said transform data from said hierarchical representation requested by said client; and
re-constructing, at said client, said portion of said source image for display at said client with said transform data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
requesting, from said client to said server, transform data from said hierarchical representation necessary to reconstruct a new portion of said source data;
transferring, from said server to said client, additional transform data from a level of said hierarchical representation, corresponding to said new portion of said source data, down one or more lower levels of said hierarchical representation to said level previously transferred; and
reconstructing said new portion of said source data with said additional transform data and said transform data originally transferred, whereby only incremental transform data necessary to construct said new portion of said source data at said client is transferred from said server to said client.
-
-
3. The method as set forth in claim 1, wherein:
-
the step of transforming said source data into a hierarchical representation comprises the step of utilizing said wavelet transform to generate a plurality of low pass coefficients and a plurality of high pass coefficients;
the step of requesting data from said hierarchical representation comprises the step of transferring coefficient coordinates to identify coefficients sufficient to re-construct said portion of said source image; and
the step of re-constructing said portion of said source image comprises the step of transforming said coefficients to generate said portion of said source image.
-
-
4. The method as set forth in claim 3, wherein the step of utilizing said wavelet transform to generate a plurality of low pass coefficients and a plurality of high pass coefficients comprises the step of generating low pass coefficients for each level of said hierarchical representation, so as to aggregate sufficient information to render a viewable display of said source image at a resolution corresponding to said level.
-
5. The method as set forth in claim 3, wherein the step of requesting, from said client to said server, transform data comprises the step of transferring O(N) coefficients to represent “
- N”
pixels for display at said client, wherein “
N”
comprises an integer value.
- N”
-
6. The method as set forth in claim 1, wherein the step of transforming said source data into a hierarchical representation comprises the step of executing a finite impulse response function to generate said transform data.
-
7. The method as set forth in claim 1, wherein the step of transforming said source data into a hierarchical representation comprises the step of preserving geometry between said source data and said transform data, so that any portion of said source data is identifiable from a portion of said transform data.
-
8. A method for transferring data images from a server to at least one client, said method comprising the steps of:
-
generating a hierarchical representation of a source image using a wavelet transform with fixed point kernels, said hierarchical representation comprising a plurality of levels of essentially non-redundant data, wherein a level of said hierarchical representation comprises data sufficient to reconstruct said source image at a resolution corresponding to said level;
transferring, from a server to a client, at least a portion of data from a level of said hierarchical representation of said source image at a first resolution, said first resolution being less than full resolution of said source image;
requesting, from said client to said server, data from said hierarchical representation, additional to said portion of data transferred, necessary to reconstruct said source image at pixel coordinates for said source image; and
transferring, from said server to said client, said additional data requested to display at said client said source image at said pixel coordinates, whereby only data of said hierarchical representation necessary to construct said source image at a pre-determined resolution at said client is transferred from said server to said client. - View Dependent Claims (9, 10, 11, 12)
the step of generating a hierarchical representation of a source image comprises the step of generating said wavelet decomposition for each level of said hierarchical representation comprising low pass coefficients and a plurality of high pass coefficients;
the step of transferring, from a server to a client, data from a level of said hierarchical representation comprises the step of transferring low pass coefficients corresponding to a level for said first resolution; and
the step of requesting, from said client to said server, additional data, comprises the step of transferring additional high pass coefficients necessary to construct said source image at said pixel coordinates.
-
-
10. The method as set forth in claim 8, wherein the step of requesting, from said client to said server, additional data, comprises the step of transferring O(N) coefficients to present “
- N”
pixels for said pixel coordinates, wherein “
N”
comprises an integer value.
- N”
-
11. The method as set forth in claim 8, wherein:
-
the step of transferring, from a server to a client, at least a portion of data comprises the step of transferring a portion of said source image at a zoom resolution greater than a resolution capable of display at said client; and
the step of requesting, from said client to said server, data from said hierarchical representation comprises the step of requesting pixel coordinates to pan said source image at a resolution at least as great as said zoom resolution.
-
-
12. The method as set forth in claim 8, wherein:
-
the step of transferring, from a server to a client, at least a portion of data comprises the step of transferring said source image at said first resolution; and
the step of requesting, from said client to said server, data from said hierarchical representation comprises the step of requesting pixel coordinates at a second resolution, greater than said first resolution.
-
-
13. A system comprising:
-
a server for storing transform data as a hierarchical representation, said transform data generated from source data using a wavelet transform with fixed point kernels, said hierarchical representation comprising a plurality of levels of essentially non-redundant data, wherein a level of said hierarchical representation comprises transform data sufficient to reconstruct said source data at a resolution corresponding to said level;
at least one client, coupled to communicate with said server, said client requesting to said server transform data from a level of said hierarchical representation necessary to reconstruct at least a portion of said source data;
said server for transferring to a client said transform data from said hierarchical representation upon request by said client; and
said client for re-constructing, at said client, said portion of said source image for display at said client with said transform data. - View Dependent Claims (14)
said client further comprises software for requesting, to said server, transform data from said hierarchical representation necessary to reconstruct a new portion of said source data;
said server further comprises software for transferring, to said client, additional transform data from a level of said hierarchical representation, corresponding to said new portion of said source data, down one or more lower levels of said hierarchical representation to said level previously transferred; and
said client further comprises software for reconstructing said new portion of said source data with said additional transform data and said transform data originally transferred, whereby only incremental transform data necessary to construct said new portion of said source data at said client is transferred from said server to said client.
-
-
15. A computer readable medium comprising a plurality of instructions, which when executed by a computer, cause the computer to perform the steps of:
-
transforming source data into a hierarchical representation using a wavelet transform with integer kernels, said hierarchical representation comprising a plurality of levels of essentially non-redundant data, wherein a level of said hierarchical representation comprises transform data sufficient to reconstruct said source data at a resolution corresponding to said level;
requesting, from a client to a server, transform data from a level of said hierarchical representation necessary to reconstruct at least a portion of said source data;
transferring, from said server to said client, said transform data from said hierarchical representation requested by said client; and
re-constructing, at said client, said portion of said source image for display at said client with said transform data. - View Dependent Claims (16, 17, 18, 19, 20, 21)
requesting, from said client to said server, transform data from said hierarchical representation necessary to reconstruct a new portion of said source data;
transferring, from said server to said client, additional transform data from a level of said hierarchical representation, corresponding to said new portion of said source data, down one or more lower levels of said hierarchical representation to said level previously transferred; and
reconstructing said new portion of said source data with said additional transform data and said transform data originally transferred, whereby only incremental transform data necessary to construct said new portion of said source data at said client is transferred from said server to said client.
-
-
17. The computer readable medium as set forth in claim 15, wherein:
-
the step of transforming said source data into a hierarchical representation comprises the step of utilizing said wavelet transform to generate a plurality of low pass coefficients and a plurality of high pass coefficients;
the step of requesting data from said hierarchical representation comprises the step of transferring coefficient coordinates to identify coefficients sufficient to re-construct said portion of said source image; and
the step of re-constructing said portion of said source image comprises the step of transforming said coefficients to generate said portion of said source image.
-
-
18. The computer readable medium as set forth in claim 17, wherein the step of utilizing said wavelet transform to generate a plurality of low pass coefficients and a plurality of high pass coefficients comprises the step of generating low pass coefficients for each level of said hierarchical representation, so as to aggregate sufficient information to render a viewable display of said source image at a resolution corresponding to said level.
-
19. The computer readable medium as set forth in claim 17, wherein the step of requesting, from said client to said server, transform data comprises the step of transferring O(N) coefficients to represent “
- N”
pixels for display at said client, wherein “
N”
comprises an integer value.
- N”
-
20. The computer readable medium as set forth in claim 15, wherein the step of transforming said source data into a hierarchical representation comprises the step of executing a finite impulse response function to generate said transform data.
-
21. The computer readable medium as set forth in claim 15, wherein the step of transforming said source data into a hierarchical representation comprises the step of preserving geometry between said source data and said transform data, so that any portion of said source data is identifiable from a portion of said transform data.
Specification