IP Library › Granted Patent US 12,483,712
Granted Patent B2
US 12,483,712 · App. 17/457,062 · Granted Nov 25, 2025

Enhanced real-time visual quality metric generation for video coding

Inventors: James Holland (Folsom, CA); Muhammad Hamdan (Palo Alto, CA); Atthar Mohammed (Folsom, CA); Venkata Prasad (Bangalore, IN); Dmitry Ryzhov (Mountain View, CA)
Assignee: Intel Corporation
H04N19/196H04N19/146H04N19/159H04N19/172H04N19/176
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,483,712
App. No.
17/457,062
Granted
Nov 25, 2025
Kind
B2
Abstract

This disclosure describes systems, methods, and devices related to generating visual quality metrics for encoded video frames. A method may include generating respective first visual quality metrics for pixels of an encoded video frame; generating respective second visual quality metrics for the pixels, the respective first visual quality metrics and the respective second visual quality metrics indicative of estimated human perceptions of the encoded video frame; generating a pixel block-based weight for the respective first visual quality metrics; generating a frame-based weight for the respective second visual quality metrics; and generating, based on the respective first visual quality metrics, the pixel block-based weight, the respective second visual quality metrics, and the frame-based weight, a human visual score indicative of a visual quality of the encoded video frame.

Claims (72)

1 . A device comprising:

interface circuitry;

machine-readable instructions; and

at least one programmable circuit to be programmed based on the machine-readable instructions to:

generate respective block-based visual quality metrics for pixel blocks of a first encoded video frame corresponding to a source video frame, ones of the pixel blocks including respective pluralities of pixels of the first encoded video frame;

generate a frame-based visual quality metric based on the pixels, the frame-based visual quality metric representative of frame-level quality of the first encoded video frame;

generate a score based on the block-based visual quality metrics and the frame-based visual quality metric; and

re-encode the source video frame based on the score to generate a second encoded video frame corresponding to the source video frame.

2 . The device of claim 1 , wherein one or more of the at least one programmable circuit is to:

generate respective first per-pixel visual quality metrics for corresponding pixels in a first pixel block of the pixel blocks;

generate respective second per-pixel visual quality metrics for corresponding pixels in a second pixel block of the pixel blocks;

select one of the first per-pixel visual quality metrics to be used to generate a first one of the block-based visual quality metrics corresponding to the first pixel block;

select one of the second per-pixel visual quality metrics to be used to generate a second one of the block-based visual quality metrics corresponding to the second pixel block; and

generate a histogram based on the first one of the block-based visual quality metrics corresponding to the first pixel block and the second one of the block-based visual quality metrics corresponding to the second pixel block.

3 . The device of claim 1 , wherein one or more of the at least one programmable circuit is to:

generate respective first per-pixel visual quality metrics for corresponding pixels in a first pixel block of the pixel blocks;

generate respective second per-pixel visual quality metrics for corresponding pixels in a second pixel block of the pixel blocks;

select one of the first per-pixel visual quality metrics to be used to generate a first one of the block-based visual quality metrics corresponding to the first pixel block;

select one of the second per-pixel visual quality metrics to be used to generate a second one of the block-based visual quality metrics corresponding to the second pixel block; and

generate a diagnostic view of the pixels based on the first one of the block-based visual quality metrics corresponding to the first pixel block and the second one of the block-based visual quality metrics corresponding to the second pixel block.

4 . The device of claim 1 , wherein the block-based visual quality metrics are first block-based visual quality metrics, and one or more of the at least one programmable circuit is to:

generate respective second block-based visual quality metrics for the first encoded video frame,

wherein the first block-based visual quality metrics are associated with a first encoding layer of the first encoded video frame, and the second block-based visual quality metrics are associated with one or more second encoding layers of the first encoded video frame, the one or more second encoding layers to exclude the first encoding layer.

5 . The device of claim 1 , wherein one or more of the at least one programmable circuit is to:

select, based on a comparison of the score to a threshold value, coding parameters to be used to re-encode the source frame.

6 . The device of claim 1 , wherein the score is based on encoding parameters associated with the first encoded video frame.

7 . The device of claim 1 , wherein the score is a first score based on first coding parameters associated with the first encoded video frame, the block-based visual quality metrics are first block-based visual quality metrics, the frame-based visual quality metric is a first frame-based visual quality, and one or more of the at least one programmable circuit is to:

generate respective second block-based visual quality metrics for the pixel blocks based on second coding parameters;

generate a second frame-based visual quality metric based on the pixels;

generate a second score based on the second block-based visual quality metrics and the second frame-based visual quality metric; and

select the first coding parameters based on the second score.

8 . The device of claim 1 , wherein the block-based visual quality metrics are class-based metrics based on intra-coding.

9 . The device of claim 1 , wherein the block-based visual quality metrics are class-based metrics based on inter-coding.

10 . The device of claim 1 , wherein one or more of the at least one programmable circuit is to generate the score based on a machine learning model.

11 . A non-transitory computer-readable medium comprising computer-executable instructions to cause at least one programmable circuit to at least:

generate block-based visual quality metrics for pixel blocks of a first encoded video frame corresponding to a source video frame, ones of the pixel blocks including respective pluralities of pixels of the first encoded video frame;

generate a frame-based visual quality metric based on the pixels, the frame-based visual quality metric representative of frame-level quality of the first encoded video frame;

generate a score based on the block-based visual quality metrics and the frame-based visual quality metric; and

re-encode the source video frame based on the score to generate a second encoded video frame corresponding to the source video frame.

12 . The non-transitory computer-readable medium of claim 11 , wherein the block-based visual quality metrics are first block-based visual quality metrics, and the computer-executable instructions are to cause one or more of the at least one programmable circuit to:

generate respective second block-based visual quality metrics for the first encoded video frame, wherein the first block-based visual quality metrics are associated with a first encoding layer of the first encoded video frame, and the second block-based visual quality metrics are associated with one or more second encoding layers of the first encoded video frame, the one or more second encoding layers to exclude the first encoding layer.

13 . The non-transitory computer-readable medium of claim 11 , wherein the computer-executable instructions are to cause one or more of the at least one programmable circuit to:

select, based on a comparison of the score to a threshold value, coding parameters to be used to re-encode the source video frame.

14 . The non-transitory computer-readable medium of claim 11 , wherein the score is based on encoding parameters associated with the first encoded video frame.

15 . The non-transitory computer-readable medium of claim 11 , wherein the score is a first score based on first coding parameters associated with the first encoded video frame, the block-based visual quality metrics are first block-based visual quality metrics, the frame-based visual quality metric is a first frame-based visual quality, and the computer-executable instructions are to cause one or more of the at least one programmable circuit to:

generate respective second block-based visual quality metrics for the pixel blocks based on second coding parameters;

generate a second frame-based visual quality metric based on the pixels;

generate a second score based on the second block-based visual quality metrics and the second frame-based visual quality metric; and

selecting the first coding parameters based on the second score.

16 . A method comprising:

generating, by graphics processing circuitry of a device, respective block-based visual quality metrics for pixel blocks of a first encoded video frame corresponding to a source video frame, ones of the pixel blocks including respective pluralities of pixels of the first encoded video frame;

generating, by the graphics processing circuitry, a frame-based visual quality metric based on the pixels, the frame-based visual quality metric representative of frame-level quality of the first encoded video frame;

generating, by the graphics processing circuitry, a score based on the block-based visual quality metrics and the frame-based visual quality metric; and

re-encoding the source video frame based on the score to generate a second encoded video frame corresponding to the source video frame.

17 . The method of claim 16 , including:

generating respective first per-pixel visual quality metrics for corresponding pixels in a first pixel block of the pixel blocks;

generating respective second per-pixel visual quality metrics for corresponding pixels in a second pixel block of the pixel blocks;

selecting one of the first per-pixel visual quality metrics to be used to generate a first one of the block-based visual quality metrics corresponding to the first pixel block;

selecting one of the second per-pixel visual quality metrics to be used to generate a second one of the block-based visual quality metrics corresponding to the second pixel block; and

generating a histogram based on the first one of the block-based visual quality metrics corresponding to the first pixel block and the second one of the block-based visual quality metrics corresponding to the second pixel block.

18 . The device of claim 1 , wherein one or more of the at least one programmable circuit is to:

determine a first weight associated with the frame-based visual quality metric based on training data;

determine a second weight associated with the block-based visual quality metrics based on the training data; and

aggregate the frame-based visual quality metric and the block-based visual quality metrics based on the first weight and the second weight.

19 . The non-transitory computer-readable medium of claim 11 , wherein the computer-executable instructions are to cause one or more of the at least one programmable circuit to:

determine a first weight associated with the frame-based visual quality metric based on training data;

determine a second weight associated with the block-based visual quality metrics based on the training data; and

aggregate the frame-based visual quality metric and the block-based visual quality metrics based on the first weight and the second weight.

20 . The method of claim 16 , including:

determining a first weight associated with the frame-based visual quality metric based on training data;

determining a second weight associated with the block-based visual quality metrics based on the training data; and

aggregating the frame-based visual quality metric and the block-based visual quality metrics based on the first weight and the second weight.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2022
From: HOLLAND, JAMES; HAMDAN, MUHAMMAD; MOHAMMED, ATTHAR; PRASAD, VENKATA SATYA SKANDA; RYZHOV, DMITRY
To: INTEL CORPORATION
Reel/Frame 058549/0935 →
Continuity (1)
Related Publication 20220086466A1 · Mar 17, 2022
References Cited (22)
US 7298930B1 · Erol · 2007 [cited by examiner]
US 20080198927A1 · Wu · 2008 [cited by examiner]
US 20090148058A1 · Dane · 2009 [cited by examiner]
US 20100080459A1 · Dai · 2010 [cited by examiner]
US 20140002745A1 · Seshadrinathan · 2014 [cited by examiner]
US 20150042752A1 · Pettersson · 2015 [cited by examiner]
US 20160073106A1 · Su · 2016 [cited by examiner]
US 20160212432A1 · Wang · 2016 [cited by examiner]
US 20170374361A1 · Carmel · 2017 [cited by examiner]
US 20190116383A1 · Shaw · 2019 [cited by examiner]
US 20200014956A1 · Rosewarne · 2020 [cited by examiner]
US 20200029093A1 · Zhou · 2020 [cited by examiner]
US 20200269133A1 · Sun · 2020 [cited by examiner]
US 20200389647A1 · Mayer-Patel · 2020 [cited by examiner]
US 20210144408A1 · Giladi · 2021 [cited by examiner]
US 20220038747A1 · Lee · 2022 [cited by examiner]
US 20220116441A1 · Liu · 2022 [cited by examiner]
US 20220327692A1 · Park · 2022 [cited by examiner]
US 20230037591A1 · Villegas · 2023 [cited by examiner]
US 20230169325A1 · Xie · 2023 [cited by examiner]
US 20230262240A1 · Murra · 2023 [cited by examiner]
US 20240040160A1 · Meardi · 2024 [cited by examiner]