IMAGE DATA PROCESSING
First Claim
1. A method of encoding an input sequence of data bits by forming a tree structure, the method comprising:
- (a) forming groups of data bits from the input sequence of data bits and logically combining the data bits within each group to form a sequence of first-stage logic output bits;
(b) repeating step (a) iteratively, by forming groups of logic output bits from the first-stage logic output bits and logically combining logic output bits within each group to form a sequence of intermediate logic output bits, until there is a single final logic output bit; and
(c) generating an encoded output bit stream comprising said final logic output bit and any or all of the logic output bits and any or all of the data bits of the input data sequence, in dependence on at least a first exclusion condition that, if a given logic output bit is equal to a first predetermined value, which uniquely defines the data bits and any logic output bits which have been used to generate said given logic output bit, then said uniquely-defined data bits and said uniquely-defined logic output bits are excluded from said output bit stream, whereinthe input sequence of data bits comprises one of a plurality of rows of bits which collectively define a bit plane of a block of image data which has been transformed in accordance with a wavelet transform, a bit plane being defined as a plane formed from the respective bits of equal significance with the transformed block of image data.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods of spatial compression of image data using trees formed with logic gates are described. Data encoding is achieved using a five-level wavelet transform, such as the Haar or 2/10 transforms. A dual transform engine is used, the first engine being used for the first and second parts of the first-level transform, and the subsequent-level transforms being performed by the second engine within a time not more than that taken by the first transform engine to effect the part-transform. Each bit plane of the resulting coefficients is then encoded by forming a tree structure from the bits and logical OR combinations thereof. Redundant data are removed. Further data can be removed with a predetermined compression profile. The resulting blocks of compressed data are of variable length and are packaged with sync and index words for transmission so that the location and identity of the transformed data blocks can be determined.
65 Citations
85 Claims
-
1. A method of encoding an input sequence of data bits by forming a tree structure, the method comprising:
-
(a) forming groups of data bits from the input sequence of data bits and logically combining the data bits within each group to form a sequence of first-stage logic output bits; (b) repeating step (a) iteratively, by forming groups of logic output bits from the first-stage logic output bits and logically combining logic output bits within each group to form a sequence of intermediate logic output bits, until there is a single final logic output bit; and (c) generating an encoded output bit stream comprising said final logic output bit and any or all of the logic output bits and any or all of the data bits of the input data sequence, in dependence on at least a first exclusion condition that, if a given logic output bit is equal to a first predetermined value, which uniquely defines the data bits and any logic output bits which have been used to generate said given logic output bit, then said uniquely-defined data bits and said uniquely-defined logic output bits are excluded from said output bit stream, wherein the input sequence of data bits comprises one of a plurality of rows of bits which collectively define a bit plane of a block of image data which has been transformed in accordance with a wavelet transform, a bit plane being defined as a plane formed from the respective bits of equal significance with the transformed block of image data. - View Dependent Claims (2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 84, 85)
-
-
4. (canceled)
-
18. (canceled)
-
22. A method of preventing the creation of blocking artefacts during the transformation of image data, the method comprising:
-
receiving an original set of data relating to an image in the form of an array of adjoining blocks; and processing the data of each block, together with data of each immediately adjacent block within the array, in accordance with a predetermined transformation algorithm, thereby to create a respective block of transformed data which is substantially devoid of block boundary artefacts. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method of performing a first transformation on each of a first and a second data group to generate first and second transformed data groups respectively, and performing a plurality of subsequent transformations on each of the first and second transformed data groups, the method comprising, in sequence:
-
performing said first transformation on said first data group using a first transform engine; and performing all of said subsequent transformations on said transformed first data group using a second transform engine within a time interval which at least partly overlaps a time interval within which said first transform engine performs said first transformation on said second data group. - View Dependent Claims (33, 34, 35, 36, 48, 49, 50, 51, 52, 53)
-
-
37. A method of performing a plurality of transformations on first and second data groups, the method comprising, in sequence:
-
(a) performing a first transformation on said first data group using a first transform engine, so as to generate a first once-transformed data group; (b) storing said first once-transformed data group in a first memory storage area; (c) reading said first once-transformed data group from said first memory storage area; (d) performing a second-stage transformation thereon using a second transform engine, thereby generating a first twice-transformed data group; and (e) writing said first twice-transformed data group into said first memory storage area so as to overwrite said first once-transformed data group; the method further comprising, in sequence; (f) performing said first transformation on said second data group using said first transform engine, so as to generate a second once-transformed data group; (g) storing said second once-transformed data group in a second memory storage area; (h) reading said second once-transformed data group from said second memory storage area; (i) performing said second-stage transformation thereon using said second transform engine, thereby generating a second twice-transformed data group; and (j) writing said second twice-transformed data group into said second memory storage area so as to overwrite said second once-transformed data group; wherein step (f) commences after the completion of step (a) but before the completion of step (e). - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
54. A method of transmitting data comprising:
-
grouping the data into a sequence of frames comprising a first frame and at least one subsequent frame, each frame comprising a predetermined plurality of data blocks; transmitting the first frame in its entirety; and transmitting only those data blocks within the or each subsequent frame which are significantly different from the corresponding data block within the first frame, each such data block being transmitted in combination with a respective index number which defines the position of the block within the frame. - View Dependent Claims (55, 56, 57, 58)
-
-
59. A method of compressing data comprising:
-
grouping the data into a sequence of frames comprising a first frame and at least one subsequent frame, each frame comprising a predetermined plurality of data blocks; compressing the first frame in its entirety; and compressing only those data blocks within the or each subsequent frame which are significantly different from the corresponding data block within the first frame, each such data block being compressed in combination with a respective index number which defines the position of the block within the frame. - View Dependent Claims (60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71)
-
-
72. A method of configuring a plurality of variable-length data blocks into a data stream from which each data block can subsequently be retrieved, wherein each data block maps to a block of pixels within a frame of image data, the method comprising:
-
for each data block, forming a respective indexed data block comprising; a sync word which is identical for each indexed data block; an index number which uniquely identifies the data block within said plurality of data blocks; and the respective data block. - View Dependent Claims (73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83)
-
Specification