IP Library Granted Patent US 11,223,833
Granted Patent B2
US 11,223,833 · App. 17/039,605 · Granted Jan 11, 2022

Preprocessing image data

Inventors: Ioannis Andreopoulos (London, GB); Aaron Chadha (London, GB)
Assignee: iSize 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,223,833
App. No.
17/039,605
Granted
Jan 11, 2022
Kind
B2
Abstract

A method of preprocessing, prior to encoding with an external encoder, image data using a preprocessing network comprising a set of inter-connected learnable weights is provided. At the preprocessing network, image data from one or more images is received. The image data is processed using the preprocessing network to generate an output pixel representation for encoding with the external encoder. The preprocessing network is configured to take as an input encoder configuration data representing one or more configuration settings of the external encoder. The weights of the preprocessing network are dependent upon the one or more configuration settings of the external encoder.

Claims (55)

1. A computer-implemented method of preprocessing, prior to encoding with an external encoder, image data using a preprocessing network comprising inter-connected learnable weights, the method comprising:

receiving, at the preprocessing network, image data from one or more images; and

processing the image data using the preprocessing network to generate an output pixel representation for encoding with the external encoder, wherein

the preprocessing network is configured to take as an input encoder configuration data representing one or more configuration settings of the external encoder,

the inter-connected learnable weights of the preprocessing network are dependent upon the one or more configuration settings of the external encoder, and

the inter-connected learnable weights of the processing network are trained using end-to-end back-propagation of errors, wherein the errors are calculated based on:

one or more quality metrics, generated by using a cost function, indicative of estimated image error associated with output pixel representations generated by the preprocessing network according to the one or more configuration settings represented by the input encoder configuration data, and

one or more differentiable functions that emulate the external encoder.

2. The method of claim 1 , wherein the one or more configuration settings comprise at least one of a bitrate, a quantization, or a target fidelity of encoding performed by the external encoder.

3. The method of claim 1 , wherein the one or more quality metrics are further indicative of an estimate of at least one of:

an image noise of an output of decoding the output pixel representation;

a bitrate to encode the output pixel representation; or

a perceived quality of the output of decoding the output pixel representation.

4. The method of claim 1 , wherein the estimated image error is indicative of a similarity of an output of decoding the output pixel representation and the received image data based on at least one of the one or more quality metrics, wherein the at least one of the one or more quality metrics comprises at least one of:

an elementwise loss function;

a structural similarity index metric (SSIM); or

a visual information fidelity metric (VIF).

5. The method of claim 1 , wherein the cost function is formulated using an adversarial learning framework, in which the preprocessing network is trained to generate output pixel representations that reside on a natural image manifold.

6. The method of claim 1 , comprising training the inter-connected learnable weights of the preprocessing network using training image data, prior to deployment of the preprocessing network, based on a random initialization or a prior training phase.

7. The method of claim 1 , comprising training the inter-connected learnable weights of the preprocessing network using image data obtained during deployment of the preprocessing network.

8. The method of claim 1 , wherein a resolution of the received image data is different from the resolution of the output pixel representation.

9. The method of claim 1 , wherein the preprocessing network comprises an artificial neural network including multiple layers having a convolutional architecture, with each layer being configured to receive output of one or more previous layers.

10. The method of claim 9 , comprising passing outputs of each layer of the preprocessing network through a non-linear parametric linear rectifier function, pReLU.

11. The method of claim 1 , wherein the preprocessing network comprises a dilation operator configured to expand a receptive field of a convolutional operation of a given layer of the preprocessing network.

12. The method of claim 1 , wherein the inter-connected learnable weights of the preprocessing network are trained using a regularization method that controls a capacity of the preprocessing network, the regularization method comprising using hard or soft constraints and/or a normalization technique on the inter-connected learnable weights that reduces a generalization error.

13. A computing device comprising:

a memory comprising computer-executable instructions;

a processor configured to execute the computer-executable instructions and cause the computing device to preprocess, prior to encoding with an external encoder, image data using a preprocessing network comprising inter-connected learnable weights by:

receiving, at the preprocessing network, image data from one or more images; and

processing the image data using the preprocessing network to generate an output pixel representation for encoding with the external encoder, wherein:

the preprocessing network is configured to take as an input encoder configuration data representing one or more configuration settings of the external encoder,

the inter-connected learnable weights of the preprocessing network are dependent upon the one or more configuration settings of the external encoder, and

the inter-connected learnable weights of the processing network are trained using end-to-end back-propagation of errors, wherein the errors are calculated based on:

one or more quality metrics, generated by using a cost function, indicative of estimated image error associated with output pixel representations generated by the preprocessing network according to the one or more configuration settings represented by the input encoder configuration data, and

one or more differentiable functions that emulate the external encoder.

14. 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 of preprocessing, prior to encoding with an external encoder, image data using a preprocessing network comprising inter-connected learnable weights, the method comprising:

receiving, at the preprocessing network, image data from one or more images; and

processing the image data using the preprocessing network to generate an output pixel representation for encoding with the external encoder, wherein:

the preprocessing network is configured to take as an input encoder configuration data representing one or more configuration settings of the external encoder,

the inter-connected learnable weights of the preprocessing network are dependent upon the one or more configuration settings of the external encoder, and

the inter-connected learnable weights of the processing network are trained using end-to-end back-propagation of errors, wherein the errors are calculated based on:

one or more quality metrics, generated by using a cost function, indicative of estimated image error associated with output pixel representations generated by the preprocessing network according to the one or more configuration settings represented by the input encoder configuration data, and

one or more differentiable functions that emulate the external encoder.

15. The non-transitory computer-readable medium of claim 14 , wherein the one or more configuration settings comprise at least one of a bitrate, a quantization, or a target fidelity of encoding performed by the external encoder.

16. The non-transitory computer-readable medium of claim 14 , wherein the one or more quality metrics are further indicative of an estimate of at least one of:

an image noise of an output of decoding the output pixel representation;

a bitrate to encode the output pixel representation; or

a perceived quality of the output of decoding the output pixel representation.

17. The non-transitory computer-readable medium of claim 14 , wherein the estimated image error is indicative of a similarity of an output of decoding the output pixel representation and the received image data based on at least one of the one or more quality metrics, wherein the at least one of the one or more quality metrics comprises at least one of:

an elementwise loss function;

a structural similarity index metric (SSIM); or

a visual information fidelity metric (VIF).

18. The non-transitory computer-readable medium of claim 14 , wherein the cost function is formulated using an adversarial learning framework, in which the preprocessing network is trained to generate output pixel representations that reside on a natural image manifold.

19. The non-transitory computer-readable medium of claim 14 , the method further comprising training the inter-connected learnable weights of the preprocessing network using training image data, prior to deployment of the preprocessing network, based on a random initialization or a prior training phase.

20. The non-transitory computer-readable medium of claim 14 , the method further comprising training the inter-connected learnable weights of the preprocessing network using image data obtained during deployment of the preprocessing network.

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 Dec 2, 2021
From: ANDREOPOULOS, IOANNIS; CHADHA, AARON
To: ISIZE LIMITED
Reel/Frame 058268/0691 →
Continuity (7)
Provisional Application 62957286 · Jan 5, 2020
Provisional Application 62962971 · Jan 18, 2020
Provisional Application 62962970 · Jan 18, 2020
Provisional Application 62971994 · Feb 9, 2020
Provisional Application 63012339 · Apr 20, 2020
Provisional Application 63023883 · May 13, 2020
Related Publication 20210211682A1 · Jul 8, 2021