# US 10,123,052 B2 · Elimination of artifacts from lossy encoding of digital images by color channel expansion

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

- Number: US 10,123,052 B2
- Document ID: US10123052B2
- Status: Granted
- Kind: B2
- Application number: 15/356,403
- Filed: 2016-11-18
- Published: 2018-05-24
- Granted: 2018-11-06
- Earliest claimed: 2016-11-18
- Assignees: Mapbox, Inc.
- Applicants: Mapbox, Inc.
- Inventors: Damon Burgett
- Web page: https://patentgrep.com/patent/US10123052B2

## CPC

- H04N 19/86: involving reduction of coding artifacts, e.g. of blockiness
- G06T 7/13: Edge detection
- H04N 19/167: Position within a video image, e.g. region of interest [ROI]
- H04N 19/182: the unit being a pixel
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/90: using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- G06T 2207/10024: Color image
- G06T 2207/10032: Satellite or aerial image; Remote sensing
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A data processing method comprising receiving a digital image file comprising a plurality of digital channel datasets corresponding to a plurality of image channels, wherein the digital image file includes an image region and a non-image region; determining a boundary for the image region; for each channel in the plurality of channels, generating a buffer region by using the digital channel datasets, identifying a plurality of pixels along the boundary and for each pixel of the plurality of pixels, copying the pixel one or more times outward into the non-image region in digital memory; and storing a modified digital image file that includes the buffer region.

## Claims

### Claim 1

A data processing method comprising:
receiving a digital image file comprising a plurality of digital channel datasets corresponding to a plurality of image channels, wherein the digital image file includes an image region comprising pixels that encode image data and a non-image region comprising pixels that do not encode image data;
determining a boundary for the image region;
for each channel in the plurality of channels, generating a buffer region by:
using the digital channel datasets, identifying a plurality of pixels along the boundary;
for each pixel of the plurality of pixels, copying the pixel one or more times outward from the image region into pixels of the non-image region adjacent to the boundary, to reduce artifact creation along the boundary; and
storing a modified digital image file that includes the buffer region.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
receiving a buffer value;
wherein the number of times a pixel value is copied is equal to the buffer value.

### Claim 3 (depends on 1)

The method of claim 1, wherein the modified digital image file is compressed, wherein compressing the digital image file generates a plurality of image artifacts within the image region;
the method further comprising determining a maximum artifact size for the plurality of image artifacts;
wherein the number of times a pixel value is copied is greater than the maximum size of the plurality of image artifacts.

### Claim 4 (depends on 1)

The method of claim 1, wherein the modified digital image file is a compressed digital image file.

### Claim 5 (depends on 1)

The method of claim 1, wherein the image region is an orthorectified map image.

### Claim 6 (depends on 1)

The method of claim 1, wherein the plurality of channels includes an alpha channel, wherein the alpha channel indicates the image region of the digital image file, and wherein the identifying and expanding are not performed for the alpha channel.

### Claim 7 (depends on 6)

The method of claim 6, wherein determining the boundary of the image region is based at least in part on the alpha channel.

### Claim 8 (depends on 1)

The method of claim 1 wherein the modified image file further includes the image region and a modified non-image region.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
performing the steps of claim 1 using a first digital image file, resulting in storing a first modified digital image file;
performing the steps of claim 1 using a second digital image file, resulting in storing a second modified digital image file;
joining the first modified digital image file to the second modified digital image file along at least a portion of the boundary; and
storing a third digital image file comprising the joined first modified digital image file and second modified digital image file.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
performing the steps of claim 1 using a first digital image file, resulting in storing a first modified digital image file;
performing the steps of claim 1 using a second digital image file, resulting in storing a second modified digital image file;
joining the first modified digital image file to the second modified digital image file along at least a portion of the boundary; and
rendering the joined first modified digital image file and second modified digital image file.

### Claim 11

A computer system comprising:
one or more processors;
one or more non-transitory computer-readable media storing instructions which, when executed by the one or more processors, cause the one or more processors to perform:
receiving a digital image file comprising a plurality of digital channel datasets corresponding to a plurality of image channels, wherein the digital image file includes an image region comprising pixels that encode image data and a non-image region comprising pixels that do not encode image data;
determining a boundary for the image region;
for each channel in the plurality of channels, generating a buffer region by:
using the digital channel datasets, identifying a plurality of pixels along the boundary;
for each pixel of the plurality of pixels, copying the pixel one or more times outward from the image region into pixels of the non-image region adjacent to the boundary, to reduce artifact creation along the boundary; and
storing a modified digital image file that includes the buffer region.

### Claim 12 (depends on 11)

The system of claim 11 further comprising:
receiving a buffer value;
wherein the number of times a pixel value is copied is equal to the buffer value.

### Claim 13 (depends on 11)

The system of claim 11, wherein the modified digital image file is compressed, wherein compressing the digital image file generates a plurality of image artifacts within the image region;
the method further comprising determining a maximum artifact size for the plurality of image artifacts;
wherein the number of times a pixel value is copied is greater than the maximum size of the plurality of image artifacts.

### Claim 14 (depends on 11)

The system of claim 11, wherein the modified digital image file is a compressed digital image file.

### Claim 15 (depends on 11)

The system of claim 11, wherein the image region is an orthorectified map image.

### Claim 16 (depends on 11)

The system of claim 11, wherein the plurality of channels includes an alpha channel, wherein the alpha channel indicates the image region of the digital image file, and wherein the identifying and expanding are not performed for the alpha channel.

### Claim 17 (depends on 16)

The system of claim 16, wherein determining the boundary of the image region is based at least in part on the alpha channel.

### Claim 18 (depends on 11)

The system of claim 11 wherein the modified image file further includes the image region and a modified non-image region.

### Claim 19 (depends on 11)

The system of claim 11, further comprising:
performing the steps of claim 11 using a first digital image file, resulting in storing a first modified digital image file;
performing the steps of claim 11 using a second digital image file, resulting in storing a second modified digital image file;
joining the first modified digital image file to the second modified digital image file along at least a portion of the boundary; and
storing a third digital image file comprising the joined first modified digital image file and second modified digital image file.

### Claim 20 (depends on 11)

The system of claim 11, further comprising:
performing the steps of claim 11 using a first digital image file, resulting in storing a first modified digital image file;
performing the steps of claim 11 using a second digital image file, resulting in storing a second modified digital image file;
joining the first modified digital image file to the second modified digital image file along at least a portion of the boundary; and
rendering the joined first modified digital image file and second modified digital image file.
