IP Library Granted Patent US 12,477,111
Granted Patent B2
US 12,477,111 · App. 18/276,580 · Granted Nov 18, 2025

Parameterized noise synthesis for graphical artifact removal

Inventors: Danny Hong (New York, NY); Richard Xie (Cupertino, CA); Ramachandra Tahasildar (Cupertino, CA)
Assignee: GOOGLE LLC
H04N19/124H04N19/70
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,477,111
App. No.
18/276,580
Granted
Nov 18, 2025
Kind
B2
Abstract

Pre-encoding noise parameterization techniques mitigate or eliminate banding and other graphical artifacts in video frames for decoding and presentation by a client device. For one or more input video frames, a quantization parameter associated with the input video frames is identified. Noise synthesis parameters are determined based on the identified quantization parameter, and the input video frames are encoded for transmission. The encoded video frames are transmitted to the client device along with the determined noise synthesis parameters, for use by the client device in generating synthetic noise to add to resulting video frames decoded by the client device.

Claims (39)

1 . A computer-implemented method comprising:

for one or more input video frames:

identifying a quantization parameter (QP) for the one or more input video frames;

encoding, using the identified QP, the one or more input video frames for transmission to at least one client device;

determining, based at least in part on the identified QP and independent of any noise present in the one or more input video frames, one or more noise synthesis parameters; and

initiating transmission of one or more encoded video frames to the at least one client device based on the encoding of the one or more input video frames, wherein initiating the transmission includes providing the determined one or more noise synthesis parameters to the at least one client device.

2 . The computer-implemented method of claim 1 , further comprising generating the one or more input video frames via a game application.

3 . The computer-implemented method of claim 1 , wherein the one or more noise synthesis parameters are determined as a function of the identified QP.

4 . The computer-implemented method of claim 1 , further comprising pre-processing the one or more input video frames prior to the encoding.

5 . The computer-implemented method of claim 4 , further comprising identifying one or more video frame characteristics based on the pre-processing of the input video frames, and wherein the determining of the one or more noise synthesis parameters is further based in part on the one or more video frame characteristics.

6 . The computer-implemented method of claim 5 , wherein the one or more additional video frame characteristics include a variance of at least one of the one or more input video frames.

7 . The computer-implemented method of claim 1 , wherein encoding the one or more input video frames for transmission includes encoding the one or more input video frames in accordance with an AVI video coding standard.

8 . The computer-implemented method of claim 1 , wherein providing the determined noise synthesis parameters includes providing the determined noise synthesis parameters for use by the at least one client device in synthesizing noise to apply to the one or more transmitted video frames.

9 . A system comprising at least one processor and a memory coupled to the at least one processor and storing a set of executable instructions, that when executed by the at least one processor, manipulate the at least one processor to perform the method of claim 1 .

10 . A system, comprising:

a first processor to, for one or more input video frames:

identify a quantization parameter (QP) associated with the one or more input video frames;

encode, using the identified QP, the one or more input video frames for transmission to at least one client device;

determine, based at least in part on the identified QP and independent of any noise present in the one or more input video frames, one or more noise synthesis parameters; and

initiate transmission of one or more encoded video frames to the at least one client device based on the encoding of the one or more input video frames, wherein to initiate the transmission includes to provide the determined one or more noise synthesis parameters to the at least one client device.

11 . The system of claim 10 , wherein the first processor is further to pre-process the one or more input video frames.

12 . The system of claim 10 , wherein the first processor is further to identify one or more video frame characteristics based on the pre-processing of the input video frames, and wherein to determine the one or more noise synthesis parameters is further based on the one or more video frame characteristics.

13 . The system of claim 12 , wherein the one or more video frame characteristics include a variance of at least one of the one or more input video frames.

14 . The system of claim 10 , wherein to encode the one or more input video frames for transmission includes to encode the one or more input video frames in accordance with an AVI video coding standard.

15 . The system of claim 10 , wherein to provide the determined noise synthesis parameters includes to provide the determined noise synthesis parameters for the client device to synthesize noise to apply to the one or more input video frames.

16 . The system of claim 10 , further comprising a second processor to generate the one or more input video frames via a game application.

17 . The system of claim 16 , wherein the first processor is distinct from the second processor.

18 . A server computing system, comprising:

a set of one or more processors to:

generate one or more input video frames via execution of an application;

identify a quantization parameter (QP) associated with the one or more input video frames;

encode, using the identified QP, the one or more input video frames for transmission to at least one client device;

determine, based at least in part on the identified QP and independent of any noise present in the one or more input video frames, one or more noise synthesis parameters; and

initiate transmission of one or more encoded video frames to the at least one client device based on the encoding of the one or more input video frames; and

a network interface that is coupled to the set of one or more processors and that is configured to provide the one or more encoded video frames and the determined one or more noise synthesis parameters to one or more client computing systems via at least one computer network.

19 . The server computing system of claim 18 , wherein the set of one or more processors is further to manipulate the at least one processor to pre-process the one or more input video frames.

20 . The server computing system of claim 19 , wherein the set of executable instructions is further to manipulate the at least one processor to identify one or more video frame characteristics based on the pre-processing of the input video frames, and wherein to determine the one or more noise synthesis parameters is further based in part on the one or more video frame characteristics.

21 . The server computing system of claim 20 , wherein the one or more video frame characteristics include a variance of at least one of the one or more input video frames.

22 . The server computing system of claim 18 , wherein to encode the one or more input video frames for transmission includes to encode the one or more input video frames in accordance with an AVI video coding standard.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2023
From: HONG, DANNY; XIE, RICHARD; TAHASILDAR, RAMACHANDRA
To: GOOGLE LLC
Reel/Frame 064547/0793 →
Continuity (1)
Related Publication 20240129468A1 · Apr 18, 2024
References Cited (22)
US 20060256873A1 · Gomila et al. · 2006 [cited by applicant]
US 20070047658A1 · Tourapis et al. · 2007 [cited by applicant]
US 20080063085A1 · Wu · 2008 [cited by examiner]
US 20080152296A1 · Oh · 2008 [cited by examiner]
US 20090076828A1 · Li · 2009 [cited by examiner]
US 20100246689A1 · Filippini et al. · 2010 [cited by applicant]
US 20120087411A1 · Haskell · 2012 [cited by applicant]
US 20150010048A1 · Puri · 2015 [cited by examiner]
US 20200389673A1 · Helmrich · 2020 [cited by examiner]
US 20210144377A1 · Lei · 2021 [cited by examiner]
US 20220400270A1 · Meardi · 2022 [cited by examiner]
JP 2018082299A · 2018 [cited by applicant]
WO 2005032142A1 · 2005 [cited by applicant]
WO 2014078068A1 · 2014 [cited by applicant]
WO 2019166317A1 · 2019 [cited by applicant]
WO 2020188273A1 · 2020 [cited by applicant]
International Preliminary Report on Patentability mailed Aug. 24, 2023 for corresponding International Application No. PCT/US2021/017816, 9 pages. [cited by applicant]
International Search Report and Written Opinion mailed Nov. 5, 2021 for corresponding International Application No. PCT/US2021/017816, 15 pages. [cited by applicant]
Oh, B.T. et al., “Advanced Film Grain Noise Extraction and Synthesis for High-Definition Video Coding”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 19, Issue 12; Dec. 2009; pp. 1717-1729. [cited by applicant]
Norkin, A. et al., “Film Grain Synthesis for AV1 Video Codec”, IEEE Data Compression Conference; Mar. 27, 2018; https://norkin.org/pdf/DCC_2018_AV1_film_grain.pdf; 10 pages. [cited by applicant]
Translation of Japanese Notice of Reasons for Refusal mailed Feb. 26, 2025 for JP Application Number 2023-548606, 4 pages. [cited by applicant]
Communication pursuant to Article 94(3) EPC mailed Sep. 10, 2025, 10 pages. [cited by applicant]