# US 2021/0174005 A1 · Techniques for compressing images to achieve a target quality level

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

- Number: US 2021/0174005 A1
- Document ID: US20210174005A1
- Status: Published application
- Kind: A1
- Application number: 16/737,645
- Filed: 2020-01-08
- Published: 2021-06-10
- Earliest claimed: 2019-12-05
- Assignees: Netflix, Inc.
- Applicants: Netflix, Inc.
- Inventors: Aditya MAVLANKAR
- Web page: https://patentgrep.com/patent/US20210174005A1

## CPC

- G06F 40/146: Coding or compression of tree-structured data
- H04N 19/124: Quantisation
- G06T 7/0002: {Inspection of images, e.g. flaw detection}
- H04N 19/103: Selection of coding mode or of prediction mode
- H04N 19/154: Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion (use of rate-distortion criteria H04N19/147)
- H04N 19/172: the region being a picture, frame or field
- H04N 19/192: the adaptation method, adaptation tool or adaptation type being iterative or recursive
- G06T 2207/30168: Image quality inspection
- G06T 2207/30176: Document
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

In various embodiments, an image encoding application determines a first value for an encoding parameter based on a search interval. The image encoding application then encodes a source image using the first value for the encoding parameter to generate a first encoded image. Subsequently, the image encoding application computes a visual quality score for a first reconstructed source image derived from the first encoded image. The image encoding application reduces the search interval based on a comparison between the visual quality score and the target visual quality score. Based on the resulting reduced search interval, the image encoding application determines a second value for the encoding parameter. The image encoding application encodes the source image using the second value for the encoding parameter to generate a second encoded image. Subsequently, the image encoding application transmits the second encoded image to software application(s) for further processing and display.

## Claims

### Claim 1

A computer-implemented method for encoding an image, the method comprising:
encoding a first source image using a first value for a first encoding parameter to generate a first encoded image, wherein the first value is based on a first search interval that is associated with the first encoding parameter;
computing a first visual quality score for a first reconstructed source image derived from the first encoded image;
performing at least one comparison operation between the first visual quality score and a target visual quality score;
reducing the first search interval based on the at least one comparison operation to produce a second search interval;
encoding the first source image using a second value for the first encoding parameter to generate a second encoded image, wherein the second value is based on the second search interval; and
transmitting the second encoded image to at least one software application for further processing and display.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising setting the second value equal to an average of a minimum value associated with the second search interval and a maximum value associated with the second search interval.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the first visual quality score and the target visual quality score comprise different values for a visual quality metric, the at least one comparison operation determines that the first visual quality score is greater than the target visual quality score, and reducing the first search interval comprises:
determining that a relationship between the visual quality metric and the first encoding parameter is proportional; and
setting a maximum value of the second search interval equal to the first value.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the first visual quality score comprises a PSNR, a value for a VMAF metric, or a value for a BRISQUE metric.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the first source image is encoded via an encoder that implements one of an AVIF, JPEG, JPEG 2000, WebP, or HEIC compression algorithm.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising causing a decoder to decode the first encoded image to generate the first reconstructed source image.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the first encoding parameter comprises a quantization parameter or a quality parameter.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the at least one software application comprises a web browser application.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, further comprising:
encoding a second source image using a third value for the first encoding parameter to generate a fourth encoded image, wherein the third value is not equal to the second value; and
transmitting the fourth encoded image to the at least one software application for further processing and display.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising determining that the first visual quality score does not fall within a tolerance of the target visual quality score.

### Claim 11

One or more non-transitory computer readable media including instructions that, when executed by one or more processors, cause the one or more processors to encode an image by performing the steps of:
encoding a first source image using a first value for a first encoding parameter to generate a first encoded image, wherein the first value is based on a first search interval that is associated with the first encoding parameter;
computing a current value for a visual quality metric based on a first reconstructed source image derived from the first encoded image;
performing at least one comparison operation between the current value and a target value for the visual quality metric;
reducing the first search interval based on the at least one comparison operation to produce a second search interval;
encoding the first source image using a second value for the first encoding parameter to generate a second encoded image, wherein the second value is based on the second search interval; and
transmitting the second encoded image to at least one software application for further processing and display.

### Claim 12 (depends on 11)

The one or more non-transitory computer readable media of claim 11, wherein the first value bisects the first search interval.

### Claim 13 (depends on 11)

The one or more non-transitory computer readable media of claim 11, wherein the at least one comparison operation determines that the current value is greater than the target value, and reducing the first search interval comprises:
determining that a relationship between the visual quality metric and the first encoding parameter is inversely proportional; and
setting a minimum value of the second search interval equal to the first value.

### Claim 14 (depends on 11)

The one or more non-transitory computer readable media of claim 11, wherein computing the current value comprises inputting the first reconstructed source image and the first source image into a VMAF model.

### Claim 15 (depends on 11)

The one or more non-transitory computer readable media of claim 11, wherein the first source image is encoded via an encoder that implements one of an AVIF, JPEG, JPEG 2000, WebP, or HEIC compression algorithm.

### Claim 16 (depends on 11)

The one or more non-transitory computer readable media of claim 11, further comprising causing a decoder to decode the first encoded image to generate the first reconstructed source image.

### Claim 17 (depends on 11)

The one or more non-transitory computer readable media of claim 11, wherein the first encoding parameter comprises a quantization parameter or a quality parameter.

### Claim 18 (depends on 11)

The one or more non-transitory computer readable media of claim 11, wherein the at least one software application comprises a web browser application.

### Claim 19 (depends on 11)

The one or more non-transitory computer readable media of claim 11, further comprising determining that a first difference between the first value and the second value is less than a maximum difference associated with the first encoding parameter.

### Claim 20

A system, comprising:
one or more memories storing instructions; and
one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to:
cause an encoder to encode a first source image using a first value for a first encoding parameter to generate a first encoded image, wherein the first value is based on a first search interval that is associated with the first encoding parameter;
cause a decoder to decode the first encoded image to generate a first reconstructed source image;
compute a first visual quality score for the first reconstructed source image;
perform at least one comparison operation between the first visual quality score and a target visual quality score;
reduce the first search interval based on the at least one comparison operation to produce a second search interval;
cause the encoder to encode the first source image using a second value for the first encoding parameter to generate a second encoded image, wherein the second value is based on the second search interval; and
transmit the second encoded image to at least one software application for further processing and display.
