Compression and decompression of multi-dimensional data
AssigneeMicrosoft Technology Licensing, LLC
InventorsJohn Michael Snyder, Nikunj Raghuvanshi, Michael G. Chemistruck
Life of this patent
Estimating the term…
Abstract
This document relates to the compressing and/or decompressing of spatial data. A block of spatial data can be compressed by iteratively performing compression iterations on portions of the block and splitting the portions into further portions until compression is completed. The compressed data can include first encoded values indicating whether matches were obtained for comparisons to test values during the compression iterations. The compressed data can also include second encoded values reflecting results of one or more modifications performed on the test values during the compression iterations.
Claims20
A system comprising:
- a processor;
- and
- a computer-readable storage medium storing computer-readable instructions which, when executed by the processor, cause the system to:
- obtain a block of spatial data having input values arranged in two or more dimensions;
- perform one or more compression iterations comprising:
- performing first comparisons of portions of the block of spatial data to one or more first test values;
- when the first comparisons do not result in a match of the portions of the block of spatial data to the one or more first test values, performing one or more bit flipping operations on the one or more first test values to obtain one or more second test values;
- performing second comparisons of the portions of the block of spatial data to the one or more second test values;
- and
- when the second comparisons do not result in a match of the portions of the block of spatial data to the one or more second test values, splitting the portions into further portions and performing another compression iteration on the further portions;
- and
- output compressed data, the compressed data including first encoded values indicating whether matches were obtained for the first comparisons or the second comparisons for particular portions of the block of spatial data, and second encoded values reflecting results of the one or more bit flipping operations.
A method performed on a computing device, the method comprising:
- retrieving a compressed representation of a block of data, the compressed representation including first encoded values indicating whether portions of the block of data match test values and second encoded values reflecting results of one or more bit flipping operations performed on the test values;
- and
- recovering a decompressed version of the block of data by selectively manipulating one or more variables of the decompressed version according to the first encoded values and the second encoded values.
A computer-readable storage medium storing executable instructions which, when executed by a processor, cause the processor to perform acts comprising:
- retrieving a compressed representation of a block of data, the compressed representation including first encoded values indicating whether portions of the block of data match test values and second encoded values reflecting results of one or more bit flipping operations performed on the test values;
- recovering a decompressed version of the block of data by selectively manipulating one or more variables of the decompressed version according to the first encoded values and the second encoded values;
- and
- controlling an output device according to the decompressed version of the block of data.
Dependencies are inferred from the claim text.