# US 11,309,912 B2 · Reducing error in data compression

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,309,912 B2
- Document ID: US11309912B2
- Status: Granted
- Kind: B2
- Application number: 17/039,656
- Filed: 2020-09-30
- Published: 2021-01-21
- Granted: 2022-04-19
- Earliest claimed: 2018-04-09
- Assignees: The Government of the United States of America, as represented by the Secretary of the Navy
- Applicants: The Government of the United States of America, as represented by the Secretary of the Navy
- Inventors: John T. Sample
- Web page: https://patentgrep.com/patent/US11309912B2

## CPC

- H03M 7/6041: {Compression optimized for errors}
- G06F 11/0709: {in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems}
- G06F 11/076: {by exceeding a count or rate limit, e.g. word- or bit count limit}
- H04B 7/185: Space-based or airborne stations; {Stations for satellite systems}(H04B7/204 takes precedence)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04B: TRANSMISSION

## Abstract

Systems and methods are provided for reducing error in data compression and decompression when data is transmitted over low bandwidth communication links, such as satellite links. Embodiments of the present disclosure provide systems and methods for variable block size compression for gridded data, efficiently storing null values in gridded data, and eliminating growth of error in compressed time series data.

## Claims

### Claim 1

A method, comprising:
receiving, using a data compressor device, data to be compressed, wherein the data comprises a plurality of null values;
generating, using the data compressor device, a linear signal based on the null values;
generating, using the data compressor device, a null map based on the linear signal; and
replacing, using the data compressor device, the null values in the data with a mean or median of values in a window of values comprising the null values and neighboring non-null values.

### Claim 2 (depends on 1)

The method of claim 1, wherein the data comprises a plurality of data sets, and wherein generating the linear signal further comprises:
generating a linear signal for a first data set in the plurality of data sets based on null values in the first data set.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
generating a plurality of (x, y) points corresponding to null values in each data set in the plurality of data sets that is subsequent to the first data set, wherein generating the null map further comprises generating the null map based on the linear signal and the plurality of (x, y) points.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
compressing the null map.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
compressing the data after the null values in the data have been replaced, thereby generating compressed data; and
transmitting the compressed data and the null map to an end user device configured to decompress the compressed data.

### Claim 6 (depends on 5)

The method of claim 5, wherein transmitting the compressed data and the null map further comprises:
transmitting the compressed data and the null map to an end user device over a low bandwidth communication link.

### Claim 7 (depends on 5)

The method of claim 5, wherein the null map is configured to enable the end user device to re-insert the null values into the data.

### Claim 8

A device, comprising:
a processor;
a memory; and
a data compressor device, wherein the data compressor device is configured to:
receive data to be compressed, wherein the data comprises a plurality of null values,
generate a linear signal based on the null values,
generate a null map based on the linear signal, and
replace the null values in the data with a mean or median of values in a window of values comprising the null values and neighboring non-null values.

### Claim 9 (depends on 8)

The device of claim 8, wherein the data comprises a plurality of data sets, and wherein the data compressor device is further configured to:
generate a linear signal for a first data set in the plurality of data sets based on null values in the first data set.

### Claim 10 (depends on 9)

The device of claim 9, wherein the data compressor device is further configured to generate a plurality of (x, y) points corresponding to null values in each data set in the plurality of data sets that is subsequent to the first data set, and wherein the data compressor device is configured to generate the null map based on the linear signal and the plurality of (x, y) points.

### Claim 11 (depends on 8)

The device of claim 8, wherein the data compressor device is further configured to:
compress the null map.

### Claim 12 (depends on 8)

The device of claim 8, wherein the data compressor device is further configured to:
compress the data after the null values in the data have been replaced, thereby generating compressed data; and
transmit the compressed data and the null map to an end user device configured to decompress the compressed data.

### Claim 13 (depends on 12)

The device of claim 12, wherein the data compressor device is further configured to:
transmit the compressed data and the null map to an end user device over a low bandwidth communication link.

### Claim 14 (depends on 12)

The device of claim 12, wherein the null map is configured to enable the end user device to re-insert the null values into the data.

### Claim 15

A system, comprising:
a data compressor device configured to:
receive data to be compressed, wherein the data comprises a plurality of null values,
generate a linear signal based on the null values,
generate a null map based on the linear signal,
replace the null values in the data with a mean or median of values in a window of values comprising the null values and neighboring non-null values, and
compress the data, thereby generating compressed data; and
transmit the compressed data and the null map; and
a data decompressor device configured to:
receive the compressed data and the null map, and
decompress the compressed data using the null map.

### Claim 16 (depends on 15)

The system of claim 15, wherein the data comprises a plurality of data sets, and wherein the data compressor device is further configured to:
generate a linear signal for a first data set in the plurality of data sets based on null values in the first data set.

### Claim 17 (depends on 16)

The system of claim 16, wherein the data compressor device is further configured to generate a plurality of (x, y) points corresponding to null values in each data set in the plurality of data sets that is subsequent to the first data set, and wherein the data compressor device is configured to generate the null map based on the linear signal and the plurality of (x, y) points.

### Claim 18 (depends on 15)

The system of claim 15, wherein the data compressor device is further configured to compress the data after the null values in the data have been replaced.

### Claim 19 (depends on 15)

The system of claim 15, wherein the data compressor device is further configured to:
transmit the compressed data and the null map to the data decompressor device over a low bandwidth communication link.

### Claim 20 (depends on 15)

The system of claim 15, wherein the null map is configured to enable the data decompressor device to re-insert the null values into the data.
