Methods of encoding and combining integer lists in a computer system, and computer software product for implementing such methods
First Claim
1. A method of encoding integer lists in a computer system, wherein a range covering integers of an input list is divided into subsets according to a predetermined pattern, the position of each subset in the pattern being represented by an integer rank, the method comprising:
- for each input list of a plurality of integer lists, executing a routine on a processor of the computer astern for producing an output comprising coding data, the coding data including, for each subset containing at least one integer of the input list, the rank of said subset in the pattern and a bitmap segment in which each bit is associated with a respective integer of the subset to indicate whether said integer belongs to the input list,and storing the coding data in a computer memory coupled to a processor, the coding data stored in a coding data container comprising records stored in a computer readable medium and having respective addresses, each record of the coding data container having a first field for storing an integer rank related to the pattern, a second field for storing an address value for another record of the data container and a third field for storing a bitmap segment.
3 Assignments
0 Petitions
Accused Products
Abstract
A range covering integers of an input list is divided into subsets according to a predetermined pattern. The encoding produces coding data including, for each subset containing at least one integer of the input list, data representing the position of this subset in the pattern, and data representing the position of each integer of the input list within this subset. This encoding process may be iterated in several coding layers. It supports very efficient methods for combining the coded integer lists.
48 Citations
61 Claims
-
1. A method of encoding integer lists in a computer system, wherein a range covering integers of an input list is divided into subsets according to a predetermined pattern, the position of each subset in the pattern being represented by an integer rank, the method comprising:
-
for each input list of a plurality of integer lists, executing a routine on a processor of the computer astern for producing an output comprising coding data, the coding data including, for each subset containing at least one integer of the input list, the rank of said subset in the pattern and a bitmap segment in which each bit is associated with a respective integer of the subset to indicate whether said integer belongs to the input list, and storing the coding data in a computer memory coupled to a processor, the coding data stored in a coding data container comprising records stored in a computer readable medium and having respective addresses, each record of the coding data container having a first field for storing an integer rank related to the pattern, a second field for storing an address value for another record of the data container and a third field for storing a bitmap segment. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of encoding integer lists in a computer system, comprising n successive coding layers, n being a number at least equal to two,
wherein for each coding layer, a respective integer range is divided into subsets according to a predetermined pattern, wherein, in the pattern of each layer, the subsets are consecutive intervals consisting of the same number of integers, said number of integers being a whole power of 2 for each layer, wherein for each coding layer, a respective integer range is divided into subsets according to a predetermined pattern, wherein, in the pattern of each coding layer, the subsets are consecutive intervals consisting of the same number of integers, said number of integers being a whole power of 2 for each Layer, and wherein each coding layer comprises the following steps executed as at least one routine on a processor of the computer system for processing an input list of integers within the respective integer range: -
producing coding data including, for each subset containing at least one integer of the input list, data representing the position of each integer of the input list within said subset and, at least if said layer is the last coding layer, data representing the position of said subset in the pattern; storing the coding data in a computer readable medium operatively coupled to a processor of the computer system; and if said layer is not the last coding layer, forming a further integer list representing the position, in the pattern of said layer, of each subset containing at least one integer of the input list, and providing said further integer list as an input list of the next layer. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method of encoding integer lists in a computer system, comprising n successive coding layers, n being a number at least equal to 1,
wherein for each coding layer, a respective integer range is divided into subsets according to a respective predetermined pattern, and wherein each coding layer comprises the following steps for processing an input list of integers within the respective integer range: -
producing coding data including, for each subset containing at least one integer of the input list, data representing the position of each integer of the input list within said subset and, at least if said layer is the last coding layer, data representing the position of said subset in the pattern; if said layer is not the last coding layer, forming a further integer list representing the position, in the pattern of said layer, of each subset containing at least one integer of the input list, and providing said further integer list as an input list of the next layer; and storing the coding data produced for said layer in a computer readable medium operatively coupled to a processor of the computer system the computer readable medium comprising first and second files having a common addressing mechanism, whereby for each subset containing at least one integer of the input list of said layer, the data representing the position of said subset in the pattern are stored in the first file at a first address and the data representing the position of each integer of the input list within said subset are stored in the second file at a second address corresponding to said first address according to the common addressing mechanism. - View Dependent Claims (26, 27)
-
-
28. A method of encoding integer lists in a computer system, comprising n successive coding layers, n being a number at least equal to 2,
wherein for each coding layer, a respective integer range is divided into subsets according to a respective predetermined pattern, wherein each coding layer comprises the following steps for processing an input list of integers within the respective integer range: -
producing coding data including, for each subset containing at least one integer of the input list, data representing the position of each integer of the input list within said subset and, at least if said layer is the last coding layer, data representing the position of said subset in the pattern; storing the coding data in a computer readable medium operatively coupled to a processor of the computer system; and if said layer is not the last coding layer, executing a routine on the processor of the computer system for forming a further integer list representing the position, in the pattern of said layer, of each subset containing at least one integer of the input list, and providing said further integer list as an input list of the next layer, wherein for each integer k such that 1≦
k≦
n, at least one layer k data container having a plurality of records is provided as a portion of a storage unit in a computer memory, each record of a layer k data container being associated with a layer k integer rank representing the position of a subset in the layer k pattern, and wherein each record of a layer k data container associated with a layer k rank representing the position of a subset in the layer k pattern has a first field for containing data designating the position within said subset of any integer of a layer k input list relating to a layer 1 input list, whereby a combination of said layer k rank with any position designated by the data contained in said first field determines a layer k−
1 rank with which a respective record of the layer k−
1 data container is associated if k>
1, and an integer of said layer 1 input list if k=1. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A computer program product for encoding integer lists in a computer system, comprising instructions for encoding the integer lists in accordance with n successive coding layers, n being a number at least equal to two,
wherein for each coding layer, a respective integer range is divided into subsets according to a predetermined pattern, wherein, in the pattern of each layer, the subsets are consecutive intervals consisting of the same number of integers, said number of integers being a whole power of 2 for each layer, and wherein, for each coding layer in which an input list of integers within the respective integer range to be processed, the computer program product comprises: -
instructions for producing coding data including, for each subset containing at at least one integer of said input list, data representing the position of each integer of the input list within said subset and, at least if said layer is the last coding layer, data representing the position of said subset in the pattern; instructions for storing the coding data in a computer readable medium operatively couplable to a processor of a computer system; and if said layer is not the last coding layer, instructions for forming a further integer list representing the position, in the pattern of said layer, of each subset containing at least one integer of the input list, and for providing said further integer list as an input list of the next layer. - View Dependent Claims (42, 43, 44, 45)
-
-
46. A computer program product for encoding integer lists in a computer system, comprising instructions for encoding the integer lists in accordance with n successive coding layers, n being a number at least equal to 1,
wherein for each coding layer, a respective integer range is divided into subsets according to a respective predetermined pattern, and wherein, for each coding layer in which an input list of integers within the respective integer range is to be processed, the computer program product comprises: -
instructions for producing coding data including, for each subset containing at least one integer of said input list, data representing the position of each integer of the input list within said subset and, at least if said layer is the last coding layer, data representing the position of said subset in the pattern; instructions for storing the coding data in a computer readable medium operatively couplable to a processor of a computer system; if said layer is not the last coding layer, instructions for forming a further integer list representing the position, in the pattern of said layer, of each subset containing at least one integer of the input list, and for providing said further integer list as an input list of the next layer; and instructions for storing the coding data produced for said layer in first and second files having a common addressing mechanism, whereby for each subset containing at least one integer of the input list of said layer, the data representing the position of said subset in the pattern are stored in the first file at a first address and the data representing the position of each integer of the input list within said subset are stored in the second file at a second address corresponding to said first address according to the common addressing mechanism. - View Dependent Claims (47, 48)
-
-
49. A computer program product for encoding integer lists in a computer system, comprising instructions for encoding the integer lists in accordance with n successive coding layers, n being a number at least equal to 2,
wherein for each coding layer, a respective integer range is divided into subsets according to a respective predetermined pattern, and wherein, for each coding layer in which an input list of integers within the respective integer range is to be processed, the computer program product comprises: -
instructions for producing coding data including, for each subset containing at least one integer of said input list, data representing the position of each integer of the input list within said subset and, at least if said layer is the last coding layer, data representing the position of said subset in the pattern; instructions for storing the coding data in a computer readable medium operatively couplable to a processor of a computer system; and if said layer is not the last coding layer, instructions for forming a further integer list representing the position, in the pattern of said layer, of each subset containing at least one integer of the input list, and for providing said further integer list as an input list of the next layer, wherein for each integer k such that 1≦
k≦
n, at least one layer k data container having a plurality of records is provided as a portion of a storage unit in a computer memory, each record of a layer k data container being associated with a layer k integer rank representing the position of a subset in the layer k pattern, and wherein each record of a layer k data container associated with a layer k rank representing the position of a subset in the layer k pattern has a first field for containing data designating the position within said subset of any integer of a layer k input list relating to a layer 1 input list, whereby a combination of said layer k rank with any position designated by the data contained in said first field determines a layer k−
1 rank with which a respective record of the layer k−
1 data container is associated if k>
1, and an integer of said layer 1 input list if k=1. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61)
-
Specification