# US 12,223,627 B2 · Oversmoothing progressive images

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

- Number: US 12,223,627 B2
- Document ID: US12223627B2
- Status: Granted
- Kind: B2
- Application number: 17/760,076
- Filed: 2021-04-27
- Published: 2023-03-02
- Granted: 2025-02-11
- Earliest claimed: 2020-07-29
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Jyrki Antero Alakuijala; Moritz Firsching
- Web page: https://patentgrep.com/patent/US12223627B2

## CPC

- G06T 5/70: Denoising; Smoothing
- H04N 19/187: the unit being a scalable video layer
- G06F 3/14: Digital output to display device {; Cooperation and interconnection of the display device with other functional units}
- G06T 5/20: using local operators
- G06T 5/50: using two or more images, e.g. averaging or subtraction
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/18: the unit being a set of transform coefficients
- H04N 19/33: in the spatial domain
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A technique for improving progressive encoded JPEG includes displaying an oversmoothed version of an image as the image data is being received. The oversmoothed image may be smoothed according to a smoothing kernel, e.g., a convolution kernel (such as a Gaussian). The oversmoothed image is a first layer over which other image layers are displayed. It is noted that the oversmoothed image may present a recognizable version of the image to a user, including recognizable versions of various image features (e.g., persons, objects). As the other layers are rendered on the display, these image features remain visible to the user. That is, the image features are not artifacts that may disappear with the rendering of final image layers; this may occur with the conventional progressive encoded images and interferes with the user experience.

## Claims

### Claim 1

A method, comprising:
transmitting, from a client, a request to access image data representing an image;
after transmitting the request, receiving a first portion of the image data, the first portion of the image data representing a first layer including a set of features;
in response to determining that a download time for receiving the image data satisfies a condition:
rendering, as the first layer, a smoothed version of the image on a display associated with the client, the smoothed version of the image including more than one color; and
while rendering the smoothed version of the image on the display associated with the client, receiving a second portion of the image data, the second portion of the image data representing a second layer; and
rendering the second layer on the display while displaying the set of features of the first layer on the display.

### Claim 2 (depends on 1)

The method as in claim 1, wherein the first layer is rendered over a set of image pixels of the image,
wherein the set of features is a first set of features,
wherein the second portion of the image data further includes a third layer, and
wherein the method further comprises:
rendering, as the second layer, a second set of features over a first subset of the set of image pixels; and
rendering, as the third layer, a third set of features over a second subset of the set of image pixels.

### Claim 3 (depends on 1)

The method as in claim 1, wherein the first layer is rendered over a set of image pixels of the image,
wherein the set of features is a first set of features, and
wherein the method further comprises:
rendering, as the second layer, a second set of features over the first layer.

### Claim 4 (depends on 3)

The method as in claim 3, wherein rendering the second set of features includes:
performing a crossfading operation on a subset of the set of image pixels.

### Claim 5 (depends on 4)

The method as in claim 4, wherein the crossfading operation includes a convolution operation with a specified blurring kernel.

### Claim 6 (depends on 4)

The method as in claim 4, wherein the crossfading operation is applied to subblocks of blocks of pixels, the subblocks located at a corner of the blocks.

### Claim 7 (depends on 1)

The method as in claim 1, wherein rendering the smoothed version of the image on the display includes:
performing a smoothing operation to produce the smoothed version of the image according to a user-specified value of a smoothing parameter.

### Claim 8 (depends on 1)

The method as in claim 1, wherein the condition is satisfied when the download time exceeds a time interval.

### Claim 9

A computer program product comprising a nontransitive storage medium, the computer program product including code that, when executed by processing circuitry of a computing device, causes the processing circuitry to perform a method, the method comprising:
transmitting, from a client, a request to access image data representing an image;
after transmitting the request, receiving a first portion of the image data, the first portion of the image data representing a first layer including a set of features,
in response to determining that a download time for receiving the image data satisfies a condition:
rendering, as the first layer, a smoothed version of the image on a display associated with the client, the smoothed version of the image including more than one color; and
while rendering the smoothed version of the image on the display associated with the client, receiving a second portion of the image data, the second portion of the image data representing a second layer; and
rendering the second layer on the display while displaying the set of features of the first layer on the display.

### Claim 10 (depends on 9)

The computer program product as in claim 9, wherein the first layer is rendered over a set of image pixels of the image,
wherein the set of features is a first set of features,
wherein the second portion of the image data further includes a third layer, and
wherein the method further comprises:
rendering, as the second layer, a second set of features over a first subset of the set of image pixels; and
rendering, as the third layer, a third set of features over a second subset of the set of image pixels.

### Claim 11 (depends on 9)

The computer program product as in claim 9, wherein the first layer is rendered over a set of image pixels of the image,
wherein the set of features is a first set of features, and
wherein the method further comprises:
rendering, as the second layer, a second set of features over the first layer.

### Claim 12 (depends on 11)

The computer program product as in claim 11, wherein rendering the second set of features includes:
performing a crossfading operation on a subset of the set of image pixels.

### Claim 13 (depends on 12)

The computer program product as in claim 12, wherein the crossfading operation includes a convolution operation with a specified blurring kernel.

### Claim 14 (depends on 12)

The computer program product as in claim 12, wherein the crossfading operation is applied to subblocks of blocks of pixels, the subblocks located at a corner of the blocks.

### Claim 15 (depends on 9)

The computer program product as in claim 9, wherein rendering the smoothed version of the image on the display includes:
performing a smoothing operation to produce the smoothed version of the image according to a user-specified value of a smoothing parameter.

### Claim 16

An electronic apparatus, the electronic apparatus comprising:
memory; and
controlling circuitry coupled to the memory, the controlling circuitry being configured to:
transmit, from a client, a request to access image data representing an image;
after transmitting the request, receive a first portion of the image data, the first portion of the image data representing a first layer, the first layer including a set of features, and
in response to determining that a download time for receiving the image data satisfies a condition:
render, as the first layer, a smoothed version of the image on a display associated with the client, the smoothed version of the image including more than one color; and
while rendering the smoothed version of the image on the display associated with the client, receive a second portion of the image data, the second portion of the image data representing a second layer; and
render the second layer on the display while displaying the set of features of the first layer on the display.

### Claim 17 (depends on 16)

The electronic apparatus as in claim 16, wherein the first layer is rendered over a set of image pixels of the image,
wherein the set of features is a first set of features,
wherein the second portion of the image data further includes a third layer, and
wherein the controlling circuitry is further configured to:
render, as the second layer, a second set of features over a first subset of the set of image pixels; and
render, as the third layer, a third set of features over a second subset of the set of image pixels.

### Claim 18 (depends on 16)

The electronic apparatus as in claim 16, wherein the first layer is rendered over a set of image pixels of the image,
wherein the set of features is a first set of features, and
wherein the controlling circuitry is further configured to:
rendering, as the second layer, a second set of features over the first layer.

### Claim 19 (depends on 18)

The electronic apparatus as in claim 18, wherein the controlling circuitry configured to render the second set of features is further configured to:
perform a crossfading operation on a subset of the set of image pixels.

### Claim 20 (depends on 19)

The electronic apparatus as in claim 19, wherein the crossfading operation includes a convolution operation with a specified blurring kernel.

### Claim 21 (depends on 19)

The electronic apparatus as in claim 19, wherein the crossfading operation is applied to subblocks of blocks of pixels, the subblocks located at a corner of the blocks.

### Claim 22 (depends on 16)

The electronic apparatus as in claim 16, wherein the controlling circuitry configured to render the smoothed version of the image on the display is further configured to:
perform a smoothing operation to produce the smoothed version of the image according to a user-specified value of a smoothing parameter.
