# US 8,542,733 B2 · Multipass video rate control to match sliding window channel constraints

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

- Number: US 8,542,733 B2
- Document ID: US8542733B2
- Status: Granted
- Kind: B2
- Application number: 10/561,361
- Filed: 2004-03-01
- Published: 2006-07-27
- Granted: 2013-09-24
- Earliest claimed: 2003-06-26
- Assignees: Thomson Licensing
- Applicants: Jill MacDonald Boyce; Daniel Richard Girellini
- Inventors: Jill MacDonald Boyce; Daniel Richard Girellini
- Web page: https://patentgrep.com/patent/US8542733B2

## CPC

- H04N 19/587: involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
- H04N 19/124: Quantisation
- H04N 19/15: by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
- H04N 19/152: by measuring the fullness of the transmission buffer
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/164: Feedback from the receiver or from the transmission channel
- H04N 19/172: the region being a picture, frame or field
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/192: the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N 19/51: Motion estimation or motion compensation
- H04N 19/61: in combination with predictive coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An encoder and corresponding method are disclosed for performing video rate control to meet network traffic model restrictions, including pre-encoding the sequence of pictures for each of a plurality of quantization parameter values, selecting for each picture of the sequence one of the plurality of quantization parameter values responsive to the quantization parameter values and bitrate operating points of the neighboring pictures in the sliding time window, and encoding each picture of the sequence using the quantization parameter value selected for that picture.

## Claims

### Claim 1

An encoder for encoding a sequence of pictures as a plurality of block transform coefficients to meet network traffic model restrictions, the encoder comprising an iterative loop for selecting one of a plurality of quantization parameter values for each picture, said iterative loop comprising:
pre-encoding for pre-encoding the sequence of pictures for each of a plurality of quantization parameter values;
selecting means for selecting for each picture of the sequence one of the plurality of quantization parameter values responsive to the quantization parameter values and bitrate operating points of the neighboring pictures in a predetermined time window; and
encoding means for encoding each picture of the sequence using the quantization parameter value selected for that picture.

### Claim 2 (depends on 1)

An encoder as defined in claim 1, wherein the quantization parameter value selected for the time window encodes a window's worth of pictures at about a target picture rate.

### Claim 3 (depends on 1)

An encoder as defined in claim 1, wherein the quantization parameter value selected for the time window encodes a window's worth of pictures at about a target bitrate.

### Claim 4 (depends on 1)

An encoder as defined in claim 1, wherein the quantization parameter values selected for each picture in the video sequence and for the neighboring pictures in the same time window as the given picture are chosen to encode the pictures to be transmitted within a time window of preset duration to be encoded within a target number of bits.

### Claim 5 (depends on 1)

An encoder as defined in claim 1, wherein the sequence of video pictures comprises a group of pictures.

### Claim 6 (depends on 1)

An encoder as defined in claim 1, wherein the sequence of video pictures comprises pre-stored video content.

### Claim 7 (depends on 1)

An encoder as defined in claim 1, wherein a portion of sequence of video pictures to be transmitted within a preset time duration meets a network traffic model restricting the number of bits to be transmitted within the preset time duration.

### Claim 8 (depends on 1)

An encoder as defined in claim 1, wherein the selecting means for selecting one of the plurality of quantization parameter values for each picture of the video sequence comprises multi-pass encoding means to optimize the quantization parameter value selected to encode each picture.

### Claim 9 (depends on 1)

An encoder as defined in claim 1, wherein the pre-encoding means for pre-encoding the sequence of pictures for each of the plurality of quantization parameter values comprises means for re-using motion vector values.

### Claim 10 (depends on 1)

An encoder as defined in claim 1 in combination with a decoder for decoding encoded block transform coefficients that meet network traffic model restrictions to provide reconstructed pixel data, the decoder comprising a variable length decoder for decoding video data corresponding to the time window having a preset duration according to a network traffic model.

### Claim 11 (depends on 1)

A codec comprising an encoder as defined in claim 1, and a decoder for decoding encoded block transform coefficients that meet network traffic model restrictions to provide reconstructed pixel data, the decoder comprising a variable length decoder for decoding video data corresponding to a decoder time window having a preset duration according to the network traffic model.

### Claim 12

A computer program product comprising a computer useable medium having computer readable program code embodied thereon for use in a video encoder, the computer program product comprising:
program code for pre-encoding the sequence of pictures for each of a plurality of quantization parameter values;
program code for selecting for each picture of the sequence one of the plurality of quantization parameter values responsive to the quantization parameter values and bitrate operating points of the neighboring pictures in the sliding time window; and
program code for encoding each picture of the sequence using the quantization parameter value selected for that picture.

### Claim 13

A method of performing video rate control on a sequence of pictures to meet network traffic model restrictions, the method comprising:
pre-encoding the sequence of pictures for each of a plurality of quantization parameter values;
selecting for each picture of the sequence one of the plurality of quantization parameter values responsive to the quantization parameter values and bitrate operating points of the neighboring pictures in a predetermined time window; and
encoding each picture of the sequence using the quantization parameter value selected for that picture.

### Claim 14 (depends on 13)

A method as defined in claim 13 wherein the sequence of pictures comprises a sequence of video frames.

### Claim 15 (depends on 13)

A method as defined in claim 13 wherein the quantization parameter value selected for a predetermined time window encodes a window's worth of pictures at about a target bitrate.

### Claim 16 (depends on 13)

A method as defined in claim 13 wherein the quantization parameter values selected for each picture in the video sequence and for the neighboring pictures in the same predetermined time window as the given picture are chosen to encode the pictures to be transmitted within a time window of preset duration to be encoded within a target number of bits.

### Claim 17 (depends on 13)

A method as defined in claim 13 wherein the sequence of video pictures comprises a group of pictures.

### Claim 18 (depends on 13)

A method as defined in claim 13 wherein the sequence of video pictures comprises pre-stored video content.

### Claim 19 (depends on 13)

A method as defined in claim 13 wherein a portion of the sequence of video pictures to be transmitted within a preset time duration meets a network traffic model restricting the number of bits to be transmitted within the preset time duration.

### Claim 20 (depends on 13)

A method as defined in claim 13 wherein selecting one of the plurality of quantization parameter values for each picture of the video sequence comprises using multi-pass encoding techniques to optimize the quantization parameter value selected to encode each picture.

### Claim 21 (depends on 13)

A method as defined in claim 13 wherein pre-encoding the sequence of pictures for each of the plurality of quantization parameter values comprises re-using motion vector values.
