# US 9,438,918 B2 · Frame level rate control using motion estimated distortions

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

- Number: US 9,438,918 B2
- Document ID: US9438918B2
- Status: Granted
- Kind: B2
- Application number: 13/624,139
- Filed: 2012-09-21
- Published: 2013-10-24
- Granted: 2016-09-06
- Earliest claimed: 2012-04-23
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Ilya V. Brailovskiy; Jason D. Tanner; James M. Holland
- Web page: https://patentgrep.com/patent/US9438918B2

## CPC

- H04N 19/154: Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion (use of rate-distortion criteria H04N19/147)
- H04N 19/124: Quantisation
- H04N 19/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/142: Detection of scene cut or scene change
- H04N 19/172: the region being a picture, frame or field
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Described herein are techniques related to frame-level quantization parameter (QP) adjustment in video encoding. In particular, a method of implementing a bit rate control (BRC) algorithm is described to dynamically control the QP during the video encoding.

## Claims

### Claim 1

A device comprising:
one or more processors;
memory configured to the processors;
a video encoder configured to the processors and memory comprising
a video input to supply an image frame;
a motion estimator component to receive the image frame for encoding that includes intra (I) frame, a predictive (P) frame, and a bidirectional (B) frame encoding approaches;
a distortion estimator component to calculate a distortion ratio based on the I-frame, the P-frame, and the B-frame encoding approaches, wherein the distortion ratio includes a ratio of an adjusted average distortion over an adjusted current frame, wherein the adjusted average distortion includes historical average of I-frame, P-frame, or B-frame distortions for a given number of frames, wherein the adjusted current frame includes a frame level distortion of current image frame or summation of macro block distortions that define the adjusted current image frame, wherein the image frame is encoded without reference to any other image frame except the image frame;
a bit-rate control (BRC) component to dynamically adjust quantization parameter (QP) based on the distortion ratio; and
a mode decision component to generate encoded bit-streams representing the I-frame, the P-frame, and the B-frame encoding approaches, wherein the encoded bit-streams are transmitted using the dynamically adjusted QP.

### Claim 2 (depends on 1)

The device of claim 1 wherein the video encoder performs encoding in a single pass.

### Claim 3 (depends on 1, 2)

The device of claim 1 or 2 wherein the distortion ratio includes a ratio of an adjusted average distortion over an adjusted current frame, wherein the adjusted average distortion includes empirically defined threshold for the I frame; and estimated historical distortions for the P and B frames.

### Claim 4 (depends on 1, 2)

The device of claim 1 or 2 wherein the distortion ratio is compared to a threshold value for the dynamic adjustment of the QP, wherein the comparison is separately performed for different I-frame, P-frame, or B-frame types, which include different threshold values.

### Claim 5 (depends on 1, 2)

The device of claim 1 or 2 wherein the calculation of the distortion ratio is based on a reduced resolution.

### Claim 6 (depends on 1, 2)

The device of claim 1 or 2 wherein a final value of the QP at the mode decision component is fed back to the BRC component for the dynamic adjustment of the QP in a next image frame.

### Claim 7 (depends on 1, 2)

The device of claim 1 or 2 wherein the BRC component declares a scene change if the distortion ratio is greater than a threshold value for a particular I-frame, P-frame, or B-frame type, wherein the QP is reset to an initial value in case of scene change declaration.

### Claim 8 (depends on 1, 2)

The device of claim 1 or 2 wherein the BRC component declares no scene change if the distortion ratio is lesser than a threshold value for a particular I-frame, P-frame, or B-frame type, wherein value of the QP is maintained, decreased, or increased corresponding to amount of the calculated distortion ratio.

### Claim 9 (depends on 1, 2)

The device of claim 1 or 2 wherein the BRC component includes a look-up table for the dynamic adjustment of the QP if the distortion ratio is lesser than a threshold value for a particular I-frame, P-frame, or B-frame type.

### Claim 10

A video encoder that implements a bit-rate control (BRC) algorithm comprising:
a video input to supply an image frame;
a motion estimator component to received and process the image frame for encoding;
a distortion estimator component to calculate a distortion ratio based on adjusted average distortion of an intra (I) frame, predictive (P) frame, or bidirectional (B) frame distortions, and a frame-level distortion for the image frame, wherein the distortion ratio includes a ratio of an adjusted average distortion over an adjusted current frame, wherein the adjusted average distortion includes historical average of I-frame, P-frame, or B-frame distortions for a given number of frames, wherein the adjusted current frame includes a frame level distortion of current image frame or summation of macro block distortions that define the adjusted current image frame, wherein the image frame is encoded without reference to any other image frame except the image frame;
a BRC component to dynamically adjust a quantization parameter (QP) based on the distortion ratio; and
a mode decision component to generate encoded bit-streams based on the dynamically adjusted QP.

### Claim 11 (depends on 10)

The video encoder of claim 10 wherein the motion estimator component determines correlation between macro-blocks of the image frame to generate a representation of the macro-block for an I frame encoding approach, wherein the motion estimator component generates motion vectors representing displacement between the macro-blocks in inter-frame encoding approaches.

### Claim 12 (depends on 10, 11)

The video encoder of claim 10 or 11 wherein the distortion ratio is compared to a threshold value for the dynamic adjustment of the QP, wherein the comparison is separately performed for different I-frame, P-frame, or B-frame types, which include different threshold values.

### Claim 13 (depends on 10, 11)

The video encoder of claim 10 or 11 wherein the frame-level distortion is based on a reduced resolution of the image frame.

### Claim 14 (depends on 10, 11)

The video encoder of claim 10 or 11 wherein a final value of the QP that is used by the mode decision component is fed back to the BRC component as a reference QP during dynamic adjustment of the QP in a next image frame.

### Claim 15 (depends on 10, 11)

The video encoder of claim 10 or 11 wherein the BRC component declares a scene change if the distortion ratio is greater than a threshold value for a particular I-frame, P-frame, or B-frame type, wherein at least the QP is reset to an initial value in case of scene change declaration.

### Claim 16 (depends on 10, 11)

The video encoder of claim 10 or 11 wherein the BRC component declares no scene change if the distortion ratio is lesser than a threshold value for a particular I-frame, P-frame, or B-frame type, wherein a reference value of the QP is maintained, decreased, or increased corresponding to amount of the calculated distortion ratio.

### Claim 17 (depends on 10, 11)

The video encoder of claim 10 or 11 wherein the BRC component includes a look-up table for the dynamic adjustment of the QP if the distortion ratio is lesser than a threshold value for a particular I-frame, P-frame, or B-frame type.

### Claim 18 (depends on 10, 11)

The video encoder of claim 10 or 11 wherein the mode decision component generates the encoded bit-streams in a single passing.

### Claim 19

A method of implementing a bit-rate control (BRC) algorithm in video encoding comprising:
receiving an image frame;
calculating frame level distortion of the image frame;
calculating average distortion for intra (I) frame type, predictive (P) frame type, or bidirectional (B) frame type;
calculating a distortion ratio based on the calculated frame level distortion and the calculated average distortion, wherein the distortion ratio includes a ratio of an adjusted average distortion over an adjusted current frame, wherein the adjusted average distortion includes historical average of I-frame, P-frame, or B-frame distortions for a given number of frames, wherein the adjusted current frame includes a frame level distortion of adjusted current image frame or summation of macro block distortions that define the image frame, wherein the image frame is encoded without reference to any other image frame except the image frame;
comparing the distortion ratio to a configured threshold value that includes separate and different threshold values for the I frame, P frame, or B frame types;
adjusting a quantization parameter (QP) based on the distortion ratio.

### Claim 20 (depends on 19)

The method of any of claim 19, wherein the calculating frame level distortion includes the same image frame that is used as a reference frame.

### Claim 21 (depends on 19)

The method of any of claim 19, wherein the calculating average distortion includes historical average of I-frame, P-frame, or B-frame distortions for a given number of frames.

### Claim 22 (depends on 19)

The method of any of claim 19, wherein the calculating a distortion ratio is based on a reduced resolution of the received image frame.

### Claim 23 (depends on 19)

The method of any of claim 19, wherein comparing the distortion ratio includes declaration of a no scene change if the distortion ratio is lesser than the configured threshold value for a particular I-frame, P-frame, or B-frame type, wherein value of the QP is maintained, decreased, or increased corresponding to amount of the calculated distortion ratio.

### Claim 24 (depends on 19)

The method of any of claim 19, wherein comparing the distortion ratio includes a scene change declaration if the distortion ratio is greater than the configured threshold value for a particular I-frame, P-frame, or B-frame type, wherein the QP is reset to an initial value in case of scene change declaration.

### Claim 25 (depends on 19)

The method of any of claim 19, wherein the adjusting a QP includes utilization of a look-up table for dynamic adjustment of the QP if the distortion ratio is lesser than the configured threshold value for a particular I-frame, P-frame, or B-frame type.

### Claim 26 (depends on 19)

The method of any of claim 19, wherein the adjusting a QP includes adjusting a final value of the QP on previous I-frame, P-frame, or B-frame type if the distortion ratio is lesser than the configured threshold value.

### Claim 27 (depends on 19)

The method of any of claim 19, further comprising encoding and transmitting bit streams in a single passing, wherein the bit-streams represent series and combination of I-frame, P-frame, or B-frame encoding approaches.
