IP Library Granted Patent US 12,464,148
Granted Patent B2
US 12,464,148 · App. 18/186,084 · Granted Nov 4, 2025

Computer-implemented multi-scale machine learning model for the enhancement of compressed video

Inventors: Kiran Mukesh Misra (Camas, WA); Christopher Andrew Segall (Camas, WA); Byeongdoo Choi (Irvine, CA)
Assignee: Amazon Technologies, Inc.
H04N19/42G06T3/4053H04N19/117H04N19/12H04N19/136H04N19/139H04N19/172H04N19/176H04N19/59H04N19/60H04N19/82H04N19/91
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 12,464,148
App. No.
18/186,084
Granted
Nov 4, 2025
Kind
B2
Abstract

The present disclosure relates to methods, apparatus, systems, and non-transitory computer-readable storage media for training and using a multi-scale machine learning model for the enhancement of compressed video. According to some examples, a computer-implemented method includes receiving a video at a content delivery service; performing an encode on a frame of the video by the content delivery service that converts the frame from a pixel domain to a transform domain and back to the pixel domain to generate first pixel values and a first residual for a block of the frame at a first resolution; generating a first set of features, by a machine learning model of the content delivery service, for an input, at a first resolution, of the first pixel values and the first residual of the block; generating a second set of features, by the machine learning model of the content delivery service, for an input, at a second lower resolution, of second pixel values and a second residual of the block; upsampling the second set of features to the first resolution to generate an upsampled second set of features; generating a modified version of the frame based on the first set of features and the upsampled second set of features; and transmitting the modified version of the frame to a frame buffer or from the content delivery service to a viewer device.

Claims (51)

1 . A computer-implemented method comprising:

receiving a video at a content delivery service;

performing an encode on a frame of the video by the content delivery service that converts the frame from a pixel domain to a transform domain and back to the pixel domain to generate first pixel values and a first residual for a block of the frame at a first resolution;

generating a first set of features, by a machine learning model of the content delivery service, for an input, at the first resolution, of the first pixel values and the first residual of the block;

generating a second set of features, by the machine learning model of the content delivery service in parallel with the generating the first set of features, for an input, at a second lower resolution, of second pixel values and a second residual of the block;

upsampling the second set of features to the first resolution to generate an upsampled second set of features;

generating a modified version of the frame based on the first set of features and the upsampled second set of features; and

transmitting the modified version of the frame to a frame buffer or from the content delivery service to a viewer device.

2 . The computer-implemented method of claim 1 , further comprising:

generating a third set of features, by the machine learning model of the content delivery service in parallel with the generating the first set of features and the second set of features, for an input, at a third resolution that is lower than the second lower resolution, of third pixel values and a third residual of the block; and

upsampling the third set of features to the first resolution to generate an upsampled third set of features,

wherein the generating the modified version of the frame is based on the first set of features, the upsampled second set of features, and the upsampled third set of features.

3 . The computer-implemented method of claim 1 , wherein the generating the first set of features, generating the second set of features, and generating the modified version of the frame occur within a loop filter of an encoder.

4 . A computer-implemented method comprising:

performing a video coding for a frame of a video that generates first pixel values and a first residual for a block of the frame;

generating a first set of features, by a machine learning model, for an input, at a first resolution, of the first pixel values and the first residual of the block;

generating a second set of features, by the machine learning model in parallel with the generating the first set of features, for an input, at a second lower resolution, of second pixel values and a second residual of the block;

upsampling the second set of features to the first resolution to generate an upsampled second set of features;

generating a modified version of the frame based on the first set of features and the upsampled second set of features; and

transmitting the modified version of the frame to a frame buffer or to a display device.

5 . The computer-implemented method of claim 4 , further comprising:

generating a third set of features, by the machine learning model in parallel with the generating the first set of features and the second set of features, for an input, at a third resolution that is lower than the second lower resolution, of third pixel values and a third residual of the block; and

upsampling the third set of features to the first resolution to generate an upsampled third set of features,

wherein the generating the modified version of the frame is based on the first set of features, the upsampled second set of features, and the upsampled third set of features.

6 . The computer-implemented method of claim 4 , wherein the generating the first set of features, generating the second set of features, and generating the modified version of the frame occur within a loop filter of an encoder.

7 . The computer-implemented method of claim 4 , wherein a viewer device comprises a decoder and the display device, and the generating the first set of features, generating the second set of features, and generating the modified version of the frame occur within a loop filter of the decoder.

8 . The computer-implemented method of claim 7 , further comprising:

determining an indication of a subset of blocks of a frame that are to be processed by a machine learning model of the decoder; and

sending the indication to the decoder to cause the decoder to process the subset of blocks of the frame by the machine learning model of the decoder.

9 . The computer-implemented method of claim 4 , wherein the generating the first set of features, generating the second set of features, and generating the modified version of the frame occur in a post-processor separate from any encoder and any decoder.

10 . The computer-implemented method of claim 4 , further comprising, before the generating the second set of features, downsampling the block from the first resolution to the second lower resolution.

11 . The computer-implemented method of claim 10 , wherein the downsampling comprises performing a strided convolution on the block at the first resolution.

12 . The computer-implemented method of claim 4 , wherein the upsampling comprises interleaving a plurality of channels into one channel.

13 . The computer-implemented method of claim 4 , wherein the generating the modified version of the frame comprises performing a cross-component sample offset operation.

14 . The computer-implemented method of claim 4 , further comprising selecting one of the modified version of the block and another version of the block as input to a cross-component sample offset operation.

15 . A non-transitory computer-readable medium storing code that, when executed by a device, causes the device to perform a method comprising:

performing a video coding for a frame of a video that generates first pixel values and a first residual for a block of the frame;

generating a first set of features, by a machine learning model, for an input, at a first resolution, of the first pixel values and the first residual of the block;

generating a second set of features, by the machine learning model in parallel with the generating the first set of features, for an input, at a second lower resolution, of second pixel values and a second residual of the block;

upsampling the second set of features to the first resolution to generate an upsampled second set of features;

generating a modified version of the frame based on the first set of features and the upsampled second set of features; and

transmitting the modified version of the frame to a frame buffer or to a display device.

16 . The non-transitory computer-readable medium of claim 15 ,

wherein the method further comprises:

generating a third set of features, by the machine learning model in parallel with the generating the first set of features and the second set of features, for an input, at a third resolution that is lower than the second lower resolution, of third pixel values and a third residual of the block; and

upsampling the third set of features to the first resolution to generate an upsampled third set of features,

wherein the generating the modified version of the frame is based on the first set of features, the upsampled second set of features, and the upsampled third set of features.

17 . The non-transitory computer-readable medium of claim 15 , wherein the generating the first set of features, generating the second set of features, and generating the modified version of the frame occur within a loop filter of an encoder.

18 . The non-transitory computer-readable medium of claim 15 , wherein the device comprises a decoder and the display device, and the generating the first set of features, generating the second set of features, and generating the modified version of the frame occur within a loop filter of the decoder.

19 . The non-transitory computer-readable medium of claim 15 , wherein the generating the first set of features, generating the second set of features, and generating the modified version of the frame occur in a post-processor separate from any encoder of the device and any decoder of the device.

20 . The non-transitory computer-readable medium of claim 15 , wherein the generating the modified version of the frame comprises performing a cross-component sample offset operation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2023
From: MISRA, KIRAN MUKESH; SEGALL, CHRISTOPHER ANDREW; CHOI, BYEONGDOO
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 063023/0744 →
Continuity (2)
Provisional Application 63437957 · Jan 9, 2023
Related Publication 20240236345A1 · Jul 11, 2024
References Cited (39)
US 8989508B2 · Deshpande · 2015 [cited by applicant]
US 9049427B2 · Hattori · 2015 [cited by applicant]
US 9319703B2 · Wang · 2016 [cited by applicant]
US 9969299B2 · Murase et al. · 2018 [cited by applicant]
US 10313698B2 · Sullivan et al. · 2019 [cited by applicant]
US 10623753B2 · Skupin et al. · 2020 [cited by applicant]
US 11700390B2 · Wang · 2023 [cited by applicant]
US 11743505B2 · Wang · 2023 [cited by applicant]
US 11765394B2 · Wang et al. · 2023 [cited by applicant]
US 11812062B2 · Wang · 2023 [cited by applicant]
US 12022122B2 · Deshpande · 2024 [cited by applicant]
US 12034927B2 · Okawa et al. · 2024 [cited by applicant]
US 20060126952A1 · Suzuki et al. · 2006 [cited by applicant]
US 20100220939A1 · Tourapis et al. · 2010 [cited by applicant]
US 20140086336A1 · Wang · 2014 [cited by applicant]
US 20190068969A1 · Rusanovskyy · 2019 [cited by examiner]
US 20200374524A1 · Gao et al. · 2020 [cited by applicant]
US 20220321919A1 · Deshpande · 2022 [cited by applicant]
US 20240137577A1 · Lin et al. · 2024 [cited by applicant]
US 20240205439A1 · Sjöberg et al. · 2024 [cited by applicant]
US 20240214558A1 · Dumas · 2024 [cited by examiner]
US 20240236366A1 · Choi et al. · 2024 [cited by applicant]
US 20240267548A1 · Du · 2024 [cited by examiner]
US 20240292003A1 · Damghanian et al. · 2024 [cited by applicant]
US 20240422360A1 · Kang · 2024 [cited by examiner]
AHGII: Separate density attention network for loop filtering (Year: 2021). [cited by examiner]
Multi-Density Attention Network for Loop Filtering in Video Compression (Year: 2021). [cited by examiner]
Multi-modal/multi-scale convolutional neural network based in-loop filter design for next generation video codec (Year: 2017). [cited by examiner]
Ding, Dandan et al., “Advances in Video Compression System Using Deep Neural Network: A Review And Case Studies”, arXiv:2101.06341v1, Jan. 16, 2021, 27 pages. [cited by applicant]
International Search Report and Written Opinion, PCT App. No. PCT/US2024/010748, May 3, 2024, 09 pages. [cited by applicant]
Kang, Jihong et al., “Multi-modal/multi-scale Convolutional Neural Network Based In-loop Filter Design for Next Generation Video Codec”, IEEE International Conference on Image Processing (ICIP), Sep. 2017, pp. 26-30. [cited by applicant]
Wang, Zhao et al., “AHG11: Separate Density Attention Network for Loop Filtering”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 22nd Meeting, Apr. 2021, 3 pages. [cited by applicant]
Zhao, Yanchen et al., “Joint Luma and Chroma Multi-Scale CNN In-loop Filter for Versatile Video Coding”, IEEE International Symposium on Circuits and Systems (ISCAS), May 2022, pp. 3205-3209. [cited by applicant]
De Rivaz, P., et al., “AV1 Bitstream & Decoding Process Specification”, Version 1.0.0 with Errata 1, Jan. 8, 2019, available online at https://aomediacodec.github.io/av1-spec/av1-spec.pdf, 681 pages. [cited by applicant]
The Linux Foundation, “CONV2D”, PyTorch open source code, Dec. 2022, retrieved from https://pytorch.org/docs/stable/generated/torch.nn.Conv2d.html, 2 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 18/186,006, filed Oct. 25, 2024, 12 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 18/342,406, filed Dec. 4, 2024, 14 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 18/186,006, filed Apr. 7, 2025, 7 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 18/342,406, filed Mar. 19, 2025, 5 pages. [cited by applicant]