# US 11,451,794 B2 · Parameterization for fading compensation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,451,794 B2
- Document ID: US11451794B2
- Status: Granted
- Kind: B2
- Application number: 17/369,800
- Filed: 2021-07-07
- Published: 2021-10-28
- Granted: 2022-09-20
- Earliest claimed: 2002-05-03
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Sridhar Srinivasan; Shankar Regunathan
- Web page: https://patentgrep.com/patent/US11451794B2

## CPC

- H04N 19/172: the region being a picture, frame or field
- H04N 19/17: the unit being an image region, e.g. an object
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/51: Motion estimation or motion compensation
- H04N 19/517: by encoding
- H04N 19/53: Multi-resolution motion estimation; Hierarchical motion estimation
- H04N 19/61: in combination with predictive coding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/85: using pre-processing or post-processing specially adapted for video compression
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N 19/93: Run-length coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Techniques and tools for performing fading compensation in video processing applications are described. For example, during encoding, a video encoder performs fading compensation using fading parameters comprising a scaling parameter and a shifting parameter on one or more reference images. During decoding, a video decoder performs corresponding fading compensation on the one or more reference images.

## Claims

### Claim 1

A computer system comprising:
one or more processing units;
memory; and
storage storing computer-executable instructions for causing the one or more processing units, when programmed thereby, to perform operations comprising:
receiving a current frame of a video sequence, the current frame including multiple portions;
encoding the current frame, thereby producing encoded data, wherein the encoding the current frame includes:
determining to activate fading compensation for the current frame;
encoding, in a video bitstream, a value of a frame-level on/off signal that indicates fading compensation is activated for the current frame; and
encoding the multiple portions of the current frame, wherein different portions, among the multiple portions of the current frame, use different sets of fading compensation parameters, and wherein the encoding the multiple portions of the current frame includes, for each of the multiple portions of the current frame:
determining the fading compensation parameters for the portion of the current frame;
encoding, in the video bitstream, the fading compensation parameters for the portion of the current frame; and
adjusting multiple pixel values from a reference frame based at least in part on the fading compensation parameters for the portion of the current frame; and
outputting, as part of the video bitstream, the encoded data.

### Claim 2 (depends on 1)

The computer system of claim 1, wherein the multiple portions are groups of macroblocks of the current frame or are fields of the current frame.

### Claim 3 (depends on 1)

The computer system of claim 1, wherein the frame-level on/off signal is a one-bit flag value.

### Claim 4 (depends on 1)

The computer system of claim 1, wherein the frame-level on/off signal is jointly coded with other frame-level information for the current frame, the other frame-level information including motion mode for the current frame.

### Claim 5 (depends on 1)

The computer system of claim 1, wherein the fading compensation parameters for the portion of the current frame include a scaling parameter and a shifting parameter for the reference frame.

### Claim 6 (depends on 1)

The computer system of claim 1, wherein the adjusting the multiple pixel values from the reference frame uses a linear mapping for a given pixel value, the linear mapping including multiplying the given pixel value by a scaling parameter and adding a shifting parameter to a result of the multiplying.

### Claim 7 (depends on 1)

The computer system of claim 1, wherein the encoding the fading compensation parameters for the portion of the current frame includes:
using fixed-length codes to indicate the fading compensation parameters for the portion of the current frame; or
entropy coding the fading compensation parameters for the portion of the current frame.

### Claim 8 (depends on 1)

The computer system of claim 1, wherein the multiple pixel values in the reference frame include luminance values or chrominance values.

### Claim 9

In a computer system, a method comprising:
receiving, as part of a video bitstream, encoded data for at least part of a video sequence; and
decoding, using at least some of the encoded data, a current frame of the video sequence, the current frame including multiple portions, wherein the decoding the current frame includes:
decoding a value of a frame-level on/off signal that indicates fading compensation is activated for the current frame;
determining to activate fading compensation for the current frame; and
decoding the multiple portions of the current frame, wherein different portions, among the multiple portions of the current frame, use different sets of fading compensation parameters, and wherein the decoding the multiple portions of the current frame includes, for each of the multiple portions of the current frame:
decoding the fading compensation parameters for the portion of the current frame; and
adjusting multiple pixel values from a reference frame based at least in part on the fading compensation parameters for the portion of the current frame.

### Claim 10 (depends on 9)

The method of claim 9, wherein the multiple portions are groups of macroblocks of the current frame or are fields of the current frame.

### Claim 11 (depends on 9)

The method of claim 9, wherein the frame-level on/off signal is a one-bit flag value.

### Claim 12 (depends on 9)

The method of claim 9, wherein the frame-level on/off signal is jointly coded with other frame-level information for the current frame, the other frame-level information including motion mode for the current frame.

### Claim 13 (depends on 9)

The method of claim 9, wherein the fading compensation parameters for the portion of the current frame include a scaling parameter and a shifting parameter for the reference frame.

### Claim 14 (depends on 9)

The method of claim 9, wherein the adjusting the multiple pixel values from the reference frame uses a linear mapping for a given pixel value, the linear mapping including multiplying the given pixel value by a scaling parameter and adding a shifting parameter to a result of the multiplying.

### Claim 15 (depends on 9)

The method of claim 9, wherein the decoding the fading compensation parameters for the portion of the current frame includes:
decoding fixed-length codes that indicate the fading compensation parameters for the portion of the current frame; or
entropy decoding the fading compensation parameters for the portion of the current frame.

### Claim 16 (depends on 9)

The method of claim 9, wherein the multiple pixel values in the reference frame include luminance values or chrominance values.

### Claim 17

One or more non-transitory computer-readable media having stored thereon computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations, the operations comprising:
receiving, as part of a video bitstream, encoded data for at least part of a video sequence; and
decoding, using at least some of the encoded data, a current frame of the video sequence, the current frame including multiple portions, wherein the decoding the current frame includes:
decoding a value of a frame-level on/off signal that indicates fading compensation is activated for the current frame;
determining to activate fading compensation for the current frame; and
decoding the multiple portions of the current frame, wherein different portions, among the multiple portions of the current frame, use different sets of fading compensation parameters, and wherein decoding the multiple portions of the current frame includes, for each of the multiple portions of the current frame:
decoding the fading compensation parameters for the portion of the current frame relative to the reference frame; and
adjusting multiple pixel values from a reference frame based at least in part on the fading compensation parameters for the portion of the current frame.

### Claim 18 (depends on 17)

The one or more computer-readable media of claim 17, wherein the frame-level on/off signal is a one-bit flag value.

### Claim 19 (depends on 17)

The one or more computer-readable media of claim 17, wherein the frame-level on/off signal is jointly coded with other frame-level information for the current frame, the other frame-level information including motion mode for the current frame.

### Claim 20 (depends on 17)

The one or more computer-readable media of claim 17, wherein the adjusting the multiple pixel values from the reference frame uses a linear mapping for a given pixel value, the linear mapping including multiplying the given pixel value by a scaling parameter and adding a shifting parameter to a result of the multiplying.
