Scalable video encoder/decoder with drift control
AssigneeAT&T Intellectual Property II, L.P.
InventorsAmy Ruth Reibman, Leon Bottou, Andrea Basso
Life of this patent
Estimating the term…
Abstract
A system, method and computer-readable media are introduced that relate to data coding and decoding. A computing device encodes received data such as video data into a base layer of compressed video and an enhancement layer of compressed video. The computing device controls drift introduced into the base layer of the compressed video. The computing device, such as a scalable video coder, allows drift by predicting the base layer from the enhancement layer information. The amount of drift is managed to improve overall compression efficiency.
Claims14
A decoder comprising:
- a processor;
- and
- a computer-readable storage medium having instructions stored which, when executed by the processor, cause the processor to perform operations comprising:
- receiving a coarse error prediction based on base layer information of data to be decoded and based on a macroblock type of the base layer information, the base layer information comprising motion vectors;
- receiving a first fine error prediction based on enhancement layer information, the first fine error prediction associated with a first portion comprising less than all enhancement bits from the data;
- receiving a second fine error prediction based on the enhancement layer information, the second fine error prediction associated with a remainder portion of the enhancement bits, wherein the first portion and the remainder portion comprise all of the enhancement bits;
- combining the coarse error prediction, the first fine error prediction, and the second fine error prediction according to the motion vectors and the macroblock type, resulting in a prediction;
- and
- generating a decoded video stream from the data by applying the prediction to the enhancement bits and base layer bits, such that errors in the enhancement layer are propagated to the base layer information based on the prediction and the macroblock type.
A method comprising:
- receiving a coarse error prediction based on base layer information of data to be decoded and based on a macroblock type of the base layer information, the base layer information comprising motion vectors;
- receiving a first fine error prediction based on enhancement layer information, the first fine error prediction associated with a first portion comprising less than all enhancement bits from the data;
- receiving a second fine error prediction based on the enhancement layer information, the second fine error prediction associated with a remainder portion of the enhancement bits, wherein the first portion and the remainder portion comprise all of the enhancement bits;
- combining the coarse error prediction, the first fine error prediction, and the second fine error prediction according to the motion vectors and the macroblock type, resulting in a prediction;
- and
- generating a decoded video stream from the data by applying the prediction to the enhancement bits and base layer bits, such that errors in the enhancement layer are propagated to the base layer information based on the prediction and the macroblock type.
A decoder comprising:
- a processor;
- and
- a computer-readable storage medium having instructions stored which, when executed by the processor, cause the processor to perform operations comprising:
- receiving a coarse prediction based on base layer information, the base layer information comprising base bits and control information, the control information comprising motion vectors and a macroblock type of the base bits;
- receiving a first fine error prediction based on enhancement layer information, the first fine error prediction associated with a first portion comprising less than all enhancement bits from the data;
- receiving a second fine error prediction based on the enhancement layer information, the second fine error prediction associated with a remainder portion of the enhancement bits, wherein the first portion and the remainder portion comprise all of the enhancement bits;
- and
- generating drift compensation values for the enhancement bits and the base bits by:
- when the control information indicates a first drift management option, configuring the drift compensation values to eliminate drift according to the coarse prediction;
- when the control information indicates a second drift management option, configuring the drift compensation values to allow drift according to the fine prediction, such that errors in an enhancement layer are propagated to the base layer information based on the prediction and the macroblock type;
- and
- when the control information indicates a third drift management option, configuring the drift compensation values to reduce drift based on the coarse prediction and the fine prediction.
Dependencies are inferred from the claim text.