IP Library Granted Patent US 11,252,417
Granted Patent B2
US 11,252,417 · App. 17/039,563 · Granted Feb 15, 2022

Image data processing

Inventor: Ioannis Andreopoulos (London, GB)
Assignee: Size Limited
H04N19/176H04N19/12H04N19/124H04N19/126H04N19/136H04N19/147H04N19/154H04N19/172H04N19/182H04N19/184H04N19/44H04N19/61H04N19/65H04N19/85H04N19/86H04N21/2662
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,252,417
App. No.
17/039,563
Granted
Feb 15, 2022
Kind
B2
Abstract

A method of configuring an image encoder emulator. Input image data is encoded at an encoding stage comprising a network of inter-connected weights, and decoded at a decoding stage to generate a first distorted version of the input image data. The first distorted version is compared with a second distorted version of the input image data generated using an external encoder to determine a distortion difference score. A rate prediction model is used to predict an encoding bitrate associated with encoding the input image data to a quality corresponding to the first distorted version. A rate difference score is determined by comparing the predicted encoding bitrate with an encoding bitrate used by the external encoder to encode the input image data to a quality corresponding to the second distorted version. The weights of the encoding stage are trained based on the distortion difference score and the rate difference score.

Claims (47)

1. A computer-implemented method of configuring an image encoder emulator for use in image data processing, the method comprising:

receiving input image data representing at least one image;

encoding, at an encoding stage of the image encoder emulator, the input image data to generate encoded image data, the encoding stage comprising a network of inter-connected weights;

decoding, at a decoding stage of the image encoder emulator, the encoded image data to generate a first distorted version of the input image data;

receiving a second distorted version of the input image data generated using an external image encoder;

comparing the first distorted version of the input image data with the second distorted version of the input image data to determine a distortion difference score;

predicting, using a rate prediction model, a first encoding bitrate associated with encoding the input image data to a quality corresponding to the first distorted version;

receiving a second encoding bitrate used by the external encoder to encode the input image data to a quality corresponding to the second distorted version;

determining a rate difference score by comparing the predicted encoding bitrate with the received second encoding bitrate used by the external encoder to encode the input image data to a quality corresponding to the second distorted version; and

training the weights of the encoding stage based on the distortion difference score and the rate difference score, thereby to configure the image encoder emulator to emulate behavior of the external image encoder.

2. The method of claim 1 , further comprising using an output of the image encoder emulator to train an image preprocessing network configured to preprocess images prior to encoding the preprocessed images with an external image encoder.

3. The method of claim 1 , further comprising training the weights of the encoding stage using a back-propagation method to minimize the distortion difference score and/or the rate difference score.

4. The method of claim 1 , wherein the decoding stage comprises a set of inter-connected learnable weights, the method comprising training the weights of the decoding stage using a back-propagation method to minimize the distortion difference score and/or the rate difference score.

5. The method of claim 1 , wherein the encoding stage and the decoding stage each comprise a convolutional neural network having a U-Net architecture, where layers of the encoding stage are mirrored by layers of the decoding stage.

6. The method of claim 1 , wherein the rate prediction model comprises an artificial neural network configured to compress input features from the input image data into feature maps of smaller dimensions and combine the feature maps with a fully-connected neural network to predict the bitrate needed to compress the input image data.

7. The method of claim 1 , wherein the distortion difference score is obtained using a distance measure comprising one or more of: a mean absolute error, MAE, a mean squared error, MSE, a normalized MAE, and a normalized MSE.

8. The method of claim 1 , wherein the input image data represents a sequence of images, the method comprising using features from neighboring images in the sequence of images to generate the first distorted version and/or the predicted encoding bitrate.

9. The method of claim 1 , wherein the comparing the first distorted version of the input image data with the second distorted version of the input image data is performed using a learnable discrimination model that is configured to distinguish between distortions generated via the encoding stage and the decoding stage, and ground truth distortions produced using the external encoder.

10. The method of claim 9 , further comprising training the weights of the encoding stage and the discrimination model sequentially, in a series of iterations.

11. The method of claim 1 , further comprising:

generating a distortion map comprising, for each of a plurality of spatial regions in the first distorted version of the input image data, a distinguishability measure indicating a confidence level in a fidelity of observed distortions in the first distorted version to learned features derived from ground truth distortions; and

determining the distortion difference score using the distortion map.

12. The method of claim 1 , further comprising quantifying distortions in the first distorted version of the input image data using an image quality score comprising one or more of: peak-signal-to-noise ratio, structural similarity index, SSIM, multiscale quality metrics such as a detail loss metric or multiscale SSIM, metrics based on multiple quality scores and data-driven learning and training, such as a video multi-method assessment fusion, VMAF, and aesthetic quality metrics.

13. The method of claim 1 , wherein the external encoder comprises a standards-based image encoder such as an ISO JPEG or ISO MPEG encoder, or a proprietary or royalty-free encoder, such an AOMedia encoder.

14. A computing device comprising:

a processor; and

a memory,

wherein the computing device is arranged to perform, using the processor, a method comprising:

receiving input image data representing at least one image;

encoding, at an encoding stage of an image encoder emulator, the input image data to generate encoded image data, the encoding stage comprising a network of inter-connected weights;

decoding, at a decoding stage of the image encoder emulator, the encoded image data to generate a first distorted version of the input image data;

receiving a second distorted version of the input image data generated using an external image encoder;

comparing the first distorted version of the input image data with the second distorted version of the input image data to determine a distortion difference score;

predicting, using a rate prediction model, a first encoding bitrate associated with encoding the input image data to a quality corresponding to the first distorted version;

receiving a second encoding, bitrate used by the external encoder to encode the input image data to a quality corresponding to the second distorted version;

determining a rate difference score by comparing the predicted encoding bitrate with the received second encoding bitrate used by the external encoder to encode the input image data to a quality corresponding to the second distorted version; and

training the weights of the encoding stage based on the distortion difference score and the rate difference score, thereby to configure the image encoder emulator to emulate behavior of the external image encoder.

15. A non-transitory computer-readable medium comprising computer-executable instructions that, when executed by a processor of a computing device, cause the computing device to perform a method, the method comprising:

receiving input image data representing at least one image;

encoding, at an encoding stage of an image encoder emulator, the input image data to generate encoded image data, the encoding stage comprising a network of inter-connected weights:

decoding, at a decoding stage of the image encoder emulator, the encoded image data to generate a first distorted version of the input image data;

receiving a second distorted version of the input image data generated using an external image encoder;

comparing the first distorted version of the input image data with the second distorted version of the input image data to determine a distortion difference score;

predicting, using a rate prediction model, a first encoding bitrate associated with encoding the input image data to a quality corresponding to the first distorted version;

receiving a second encoding bitrate used by the external encoder to encode the input image data to a quality corresponding to the second distorted version;

determining a rate difference score by comparing the predicted encoding bitrate with the received second encoding bitrate used by the external encoder to encode the input image data to a quality corresponding to the second distorted version; and

training the weights of the encoding stage based on the distortion difference score and the rate difference score, thereby to configure the image encoder emulator to emulate behavior of the external image encoder.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE APPLICATION NUMBER TO 11445222 PREVIOUSLY RECORDED AT REEL: 67695 FRAME: 636. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 13, 2024
From: ISIZE LIMITED
To: SONY INTERACTIVE ENTERTAINMENT EUROPE LIMITED
Reel/Frame 067724/0694 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2024
From: ISIZE LIMITED
To: SONY INTERACTIVE ENTERTAINMENT EUROPE LIMITED
Reel/Frame 067695/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2022
From: ANDREOPOULOS, IOANNIS
To: ISIZE LIMITED
Reel/Frame 058546/0751 →
Continuity (7)
Provisional Application 63023883 · May 13, 2020
Provisional Application 63012339 · Apr 20, 2020
Provisional Application 62971994 · Feb 9, 2020
Provisional Application 62962971 · Jan 18, 2020
Provisional Application 62962970 · Jan 18, 2020
Provisional Application 62957286 · Jan 5, 2020
Related Publication 20210211684A1 · Jul 8, 2021
Cited By (2)
US 12,386,882 US 12,646,226