# US 11,451,793 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,793 B2
- Document ID: US11451793B2
- Status: Granted
- Kind: B2
- Application number: 17/369,764
- 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/US11451793B2

## 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 having multiple reference frames;
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 a portion of the current frame, wherein the encoding the portion of the current frame includes, for each of the multiple reference frames:
determining fading compensation parameters for the portion of the current frame relative to the reference frame;
encoding, in the video bitstream, the fading compensation parameters for the portion of the current frame relative to the reference frame; and
adjusting multiple pixel values from the reference frame based at least in part on the fading compensation parameters for the portion of the current frame relative to the reference 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.

### 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 encoding the portion of the current frame further includes encoding, in the video bitstream, information indicating which of the reference frames are adjusted for fading compensation for the portion of the current frame.

### Claim 5 (depends on 1)

The computer system of claim 1, wherein the encoding the portion of the current frame further includes encoding, in the video bitstream, information indicating which of the reference frames are used in motion compensation for respective macroblocks of the portion of the current 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 relative to the reference frame includes entropy coding the fading compensation parameters for the portion of the current frame relative to the reference 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 having multiple reference frames, 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 a portion of the current frame, wherein the decoding the portion of the current frame includes, for each of the reference frames:
decoding the fading compensation parameters for the portion of the current frame relative to the reference frame; and
adjusting multiple pixel values from the reference frame based at least in part on the fading compensation parameters for the portion of the current frame relative to the reference frame.

### Claim 10 (depends on 9)

The method of claim 9, wherein the multiple portions are groups of macroblocks 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 decoding the portion of the current frame further includes decoding, from the video bitstream, information indicating which of the reference frames are adjusted for fading compensation for the portion of the current frame.

### Claim 13 (depends on 9)

The method of claim 9, wherein the decoding the portion of the current frame further includes decoding, from the video bitstream, information indicating which of the reference frames are used in motion compensation for respective macroblocks of the portion of the current 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 relative to the reference frame includes entropy decoding the fading compensation parameters for the portion of the current frame relative to the reference 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 having multiple reference frames, 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 a portion of the current frame, wherein the decoding the portion of the current frame includes, for each of the reference frames:
decoding the fading compensation parameters for the portion of the current frame relative to the reference frame; and
adjusting multiple pixel values from the reference frame based at least in part on the fading compensation parameters for the portion of the current frame relative to the reference frame.

### Claim 18 (depends on 17)

The one or more computer-readable media of claim 17, wherein the decoding the portion of the current frame further includes decoding, from the video bitstream, information indicating which of the reference frames are adjusted for fading compensation for the portion of the current frame.

### Claim 19 (depends on 17)

The one or more computer-readable media of claim 17, wherein the decoding the portion of the current frame further includes decoding, from the video bitstream, information indicating which of the reference frames are used in motion compensation for respective macroblocks of the portion of 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.
