Methods and apparatus for compression of transform data
First Claim
1. A method for transferring source data from a server to a client, said method comprising the steps of:
- generating, from said source data, transform data comprising spatially related coefficients such that a block of coefficients permit reconstruction of identifiable portions of said source data;
generating, at a client, a request for at least a portion of said source data, said request defining a block of said coefficients and at least one quantization value;
transferring, from said client to a server, said request;
extracting, at said server, transform data defined by said request;
quantizing, at said server, transform data in accordance with said quantization value to generate quantized transform data;
compressing said quantized transform data to generate compressed data;
transferring, from said server to said client, said compressed data;
decompressing, at said client, said compressed data to generate quantized data;
de-quantizing said quantized data to generate transform data;
reconstructing said source data at said client from said transform data;
generating, at said client, a second request for said block of coefficients, said second request including a first quantization value from said first request and a second quantization value for said block of coefficients;
transferring, from said client to a server, said request;
extracting, at said server, transform data defined by said block of coefficients;
generating a first quantized coefficient block from said transform data using said first quantization value;
generating a second quantized coefficient block from said transform data using said second quantization value;
generating a first and a second de-quantized coefficient blocks by multiplying said first and second quantized coefficient blocks by said first and second quantization values, respectively;
generating an incremental coefficient block by subtracting said first de-quantized coefficient block from said second de-quantized coefficient block;
compressing said incremental coefficient block to generate a compressed incremental coefficient block;
transferring, from said server to said client, said compressed incremental coefficient block;
decompressing, at said client, said compressed incremental coefficient block to generate an incremental coefficient block;
generating, at said client, a coefficient block for said second request by adding said coefficient block from said first request to said incremental coefficient block; and
reconstructing said source data at said client from said coefficient block for said second request.
2 Assignments
0 Petitions
Accused Products
Abstract
A compression technique, for use in a network environment, compresses transform data to improve transmission rates in low bandwidth applications. The source data is decomposed into transform data that consists of spatially related coefficients. In a client-server environment, a client issues a request, which defines a block of the coefficients and at least one quantization value, for source data. In response to the client request, the server extracts transform data defined by the request. The transform data is quantized, in accordance with the quantization value, and is compressed to generate compressed data. The server transfers the compressed data to the client. The client decompresses the compressed data to obtain quantized data, and de-quantizes the quantized data to recover the transform data. The client then reconstructs the original source data from the transform data. Techniques for transmitting to the client incremental data, for use in conjunction with cached data, is disclosed. The use of the compression techniques for images in a medical informatics system is also disclosed.
102 Citations
8 Claims
-
1. A method for transferring source data from a server to a client, said method comprising the steps of:
-
generating, from said source data, transform data comprising spatially related coefficients such that a block of coefficients permit reconstruction of identifiable portions of said source data;
generating, at a client, a request for at least a portion of said source data, said request defining a block of said coefficients and at least one quantization value;
transferring, from said client to a server, said request;
extracting, at said server, transform data defined by said request;
quantizing, at said server, transform data in accordance with said quantization value to generate quantized transform data;
compressing said quantized transform data to generate compressed data;
transferring, from said server to said client, said compressed data;
decompressing, at said client, said compressed data to generate quantized data;
de-quantizing said quantized data to generate transform data;
reconstructing said source data at said client from said transform data;
generating, at said client, a second request for said block of coefficients, said second request including a first quantization value from said first request and a second quantization value for said block of coefficients;
transferring, from said client to a server, said request;
extracting, at said server, transform data defined by said block of coefficients;
generating a first quantized coefficient block from said transform data using said first quantization value;
generating a second quantized coefficient block from said transform data using said second quantization value;
generating a first and a second de-quantized coefficient blocks by multiplying said first and second quantized coefficient blocks by said first and second quantization values, respectively;
generating an incremental coefficient block by subtracting said first de-quantized coefficient block from said second de-quantized coefficient block;
compressing said incremental coefficient block to generate a compressed incremental coefficient block;
transferring, from said server to said client, said compressed incremental coefficient block;
decompressing, at said client, said compressed incremental coefficient block to generate an incremental coefficient block;
generating, at said client, a coefficient block for said second request by adding said coefficient block from said first request to said incremental coefficient block; and
reconstructing said source data at said client from said coefficient block for said second request. - View Dependent Claims (2, 3)
-
-
4. A computer readable medium comprising a plurality of instructions, which when executed by a computer, causes the computer to perform the steps of:
-
generating, from said source data, transform data comprising spatially related coefficients such that a block of coefficients permit reconstruction of identifiable portions of said source data;
generating, at a client, a request for at least a portion of said source data, said request defining a block of said coefficients and at least one quantization value;
transferring, from said client to a server, said request;
extracting, at said server, transform data defined by said request;
quantizing, at said server, transform data in accordance with said quantization value to generate quantized transform data;
compressing said quantized transform data to generate compressed data;
transferring, from said server to said client, said compressed data;
decompressing, at said client, said compressed data to generate quantized data;
de-quantizing said quantized data to generate transform data;
reconstructing said source data at said client from said transform data;
generating, at said client, a second request for said block of coefficients, said second request including a first quantization value from said first request and a second quantization value for said block of coefficients;
transferring, from said client to a server, said request;
extracting, at said server, transform data defined by said block of coefficients;
generating a first quantized coefficient block from said transform data using said first quantization value;
generating a second quantized coefficient block from said transform data using said second quantization value;
generating a first and a second de-quantized coefficient blocks by multiplying said first and second quantized coefficient blocks by said first and second quantization values, respectively;
generating an incremental coefficient block by subtracting said first de-quantized coefficient block from said second de-quantized coefficient block;
compressing said incremental coefficient block to generate a compressed incremental coefficient block;
transferring, from said server to said client, said compressed incremental coefficient block;
decompressing, at said client, said compressed incremental coefficient block to generate an incremental coefficient block;
generating, at said client, a coefficient block for said second request by adding said coefficient block from said first request to said incremental coefficient block; and
reconstructing said source data at said client from said coefficient block for said second request. - View Dependent Claims (5, 6)
-
-
7. A method for processing, at a server, data for display at a client, said method comprising the steps of:
-
generating, from said source data, transform data comprising spatially related coefficients such that a block of coefficients permit reconstruction of identifiable portions of said source data;
receiving, from a client, a request for at least a portion of said source data, said request defining a block of said coefficients and at least one quantization value;
extracting transform data defined by said request;
quantizing, at said server, transform data in accordance with said quantization value to generate quantized transform data;
compressing said quantized transform data to generate compressed data;
transferring, to said client, said compressed data;
receiving, from said client, a second request for said block of coefficients, said second request including a first quantization value from said first request and a second quantization value for said block of coefficients;
extracting transform data defined by said block of coefficients;
generating a first quantized coefficient block from said transform data using said first quantization value;
generating a second quantized coefficient block from said transform data using said second quantization value;
generating a first and a second de-quantized coefficient blocks by multiplying said first and second quantized coefficient blocks by said first and second quantization values, respectively;
generating an incremental coefficient block by subtracting said first de-quantized coefficient block from said second de-quantized coefficient block;
compressing said incremental coefficient block to generate a compressed incremental coefficient block;
transferring, to said client, said compressed incremental coefficient block;
decompressing, at said client, said compressed incremental coefficient block to generate an incremental coefficient block;
generating, at said client, a coefficient block for said second request by adding said coefficient block from said first request to said incremental coefficient block; and
reconstructing said source data at said client from said coefficient block for said second request.
-
-
8. A method for processing source data for display at a client, said method comprising the steps of:
-
generating a request for at least a portion of source data, said source data comprising transform data that includes spatially related coefficients such that a block of coefficients permit reconstruction of identifiable portions of said source data, said request defining a block of said coefficients and at least one quantization value;
transferring to a server said request;
receiving from said server compressed quantized data comprising transform data quantized, in accordance with said quantization value, and compressed;
decompressing said compressed quantized data to generate quantized data;
de-quantizing said quantized data to generate transform n data;
reconstructing said source data from said transform data;
generating a second request for said block of coefficients, said second request including a first quantization value from said first request and a second quantization value for said block of coefficients;
transferring to said server said second request;
receiving, from said server, a compressed incremental coefficient block, wherein said incremental coefficient block comprises coefficients necessary to construct a coefficient block for said second request from said incremental coefficient block and said coefficient block from said first request;
decompressing said compressed incremental coefficient block to generate an incremental coefficient block;
generating a coefficient block for said second request by adding said coefficient block from said first request to said incremental coefficient block; and
reconstructing said source data at said client from said coefficient block for said second request.
-
Specification