Space- and time-efficient management and summarization of data using intermediate summary structure and hierarchical multidimensional histogram
First Claim
1. A method of maintaining a multidimensional histogram for a data array having a data array size, the method having a processing time substantially less than proportional to the data array size, the method comprising:
- receiving, at a computer, a data update that indicates a change to data in the data array;
updating, at the computer, an intermediate data structure having a size substantially smaller than the data array size based on the data update to generate an updated intermediate data structure, so that the updated intermediate data structure remains an at-least-approximate representation of the data in the data array as changed by the data update;
collecting a number of largest coefficient linear combinations of then-current data, the number being small compared with the data array size, each of the number of largest coefficient linear combinations being a tensor product of Haar wavelets of data in the data array;
discarding, at the computer, one of the number of largest coefficient linear combinations based on comparing a square of the largest coefficient of the linear combination with at least one criterion;
determining whether a multidimensional histogram should be formed in response to reception of the data update; and
forming the multidimensional histogram as a histogram to an intermediate data array re-synthesized from the collected linear combinations, the forming in response to determining that the multidimensional histogram should be formed in response to the reception of the data update.
0 Assignments
0 Petitions
Accused Products
Abstract
A method maintains a multidimensional histogram for a data array having a data array size, the method having a processing time substantially less than proportional to the data array size. The method involves (104) receiving a data update that indicates a change to data in the data array; (106) with the data update, updating an intermediate data structure having a size substantially smaller than the data array size, so that the updated intermediate data structure remains an at-least-approximate representation of the data in the data array as changed by the data update; (110) collecting a number of substantially-largest-coefficient linear combinations of then-current data, the number being small compared with the data array size; and (114) forming the multidimensional histogram as a histogram to an intermediate data array re synthesized from the collected linear combinations. Another method prepares a multidimensional histogram for a data array, the data array characterized by a data array size and including data, the method having an execution time proportional to the data array size and using an amount of storage space substantially smaller than the data array size. The method involves (802) receiving data from the data array; (802) transforming the data into linear combinations of data items, or of approximations of the linear combinations of data items; (804) collecting a moderate number of substantially-largest-coefficient linear combinations of the data; and (806) forming the multidimensional histogram as a histogram to the collected linear combinations.
10 Citations
8 Claims
-
1. A method of maintaining a multidimensional histogram for a data array having a data array size, the method having a processing time substantially less than proportional to the data array size, the method comprising:
-
receiving, at a computer, a data update that indicates a change to data in the data array; updating, at the computer, an intermediate data structure having a size substantially smaller than the data array size based on the data update to generate an updated intermediate data structure, so that the updated intermediate data structure remains an at-least-approximate representation of the data in the data array as changed by the data update; collecting a number of largest coefficient linear combinations of then-current data, the number being small compared with the data array size, each of the number of largest coefficient linear combinations being a tensor product of Haar wavelets of data in the data array; discarding, at the computer, one of the number of largest coefficient linear combinations based on comparing a square of the largest coefficient of the linear combination with at least one criterion; determining whether a multidimensional histogram should be formed in response to reception of the data update; and forming the multidimensional histogram as a histogram to an intermediate data array re-synthesized from the collected linear combinations, the forming in response to determining that the multidimensional histogram should be formed in response to the reception of the data update. - View Dependent Claims (2)
-
-
3. An apparatus for maintaining a multidimensional histogram for a data array having a data array size, the apparatus configured to process the multidimensional histogram with a processing time substantially less than proportional to the data array size, the apparatus comprising:
-
means for receiving a data update that indicates a change to data in the data array; means for updating an intermediate data structure having a size substantially smaller than the data array size based on the data update to generate an updated intermediate data structure, so that the updated intermediate data structure remains an at-least-approximate representation of the data in the data array as changed by the data update; means for collecting a number of largest coefficient linear combinations of then-current data, the number being small compared with the data array size, each of the number of largest coefficient linear combinations being a tensor product of Haar wavelets of data in the data array; means for discarding one of the number of largest coefficient linear combinations based on comparing a square of the largest coefficient of the linear combination with at least one criterion; means for determining whether a multidimensional histogram should be formed in response to reception of the data update; and means for forming the multidimensional histogram as a histogram to an intermediate data array re-synthesized from the collected linear combinations, the forming in response to determining that the multidimensional histogram should be formed in response to the reception of the data update. - View Dependent Claims (4)
-
-
5. A method of maintaining a multidimensional histogram for a data array having a data array size comprising:
-
receiving, at a computer, a data update that indicates a change to data in the data array; updating, at the computer, an intermediate data structure having a size substantially smaller than the data array size based on the data update to generate an updated intermediate data structure, so that the updated intermediate data structure remains an at-least-approximate representation of the data in the data array as changed by the data update; collecting a number of linear combinations of then-current data, the number being small compared with the data array size, each of the number of largest coefficient linear combinations being a tensor product of Haar wavelets of data in the data array; discarding, at a computer, one of the number of largest coefficient linear combinations based on comparing a square of the largest coefficient of the linear combination with at least one criterion; determining whether a multidimensional histogram should be formed in response to reception of the data update; and forming the multidimensional histogram as a histogram to an intermediate data array synthesized from the collected linear combinations, the forming in response to determining that the multidimensional histogram should be formed in response to the reception of the data update. - View Dependent Claims (6)
-
-
7. A non-transitory computer readable medium comprising computer program instructions capable of maintaining a multidimensional histogram for a data array having a data array size and capable of being executed in a computer processor and defining the steps comprising:
-
receiving a data update that indicates a change to data in the data array; updating an intermediate data structure having a size substantially smaller than the data array size based on the data update to generate an updated intermediate data structure, so that the updated intermediate data structure remains an at-least-approximate representation of the data in the data array as changed by the data update; collecting a number of largest coefficient linear combinations of then-current data, the number being small compared with the data array size, each of the number of largest coefficient linear combinations being a tensor product of Haar wavelets of data in the data array; discarding one of the number of largest coefficient linear combinations based on comparing a square of the largest coefficient of the linear combination with at least one criterion; determining whether a multidimensional histogram should be formed in response to reception of the data update; and forming the multidimensional histogram as a histogram to an intermediate data array re-synthesized from the collected linear combinations, the forming in response to determining that the multidimensional histogram should be formed in response to the reception of the data update. - View Dependent Claims (8)
-
Specification