Method and apparatus for multi-rate encoding of video sequences
AssigneeIntel Corporation
InventorsAndre Zaccarin, Boon-Lock Yeo
Life of this patent
Estimating the term…
Abstract
A method and apparatus for multi-rate encoding of video sequences. The input data stream is received at a first bit rate. A domain transformation is performed on the input data and the transformed data is encoded into a series of output data streams each with a different bit rate.
Claims32
A method comprising:
- receiving an input data stream at a first bit rate;
- performing a first domain transformation of the input data stream;
- and
- encoding the input data stream into a plurality of output data streams having a plurality of bit rates by utilizing the first domain transformation of the input data stream.
An apparatus for generating a plurality of multi-rate encoded video streams comprising:
- a domain transform stage, having a signal input and a transform output, wherein the signal input is coupled to receive an input stream of video frames;
- a motion estimation stage, having a first input, a second input, a third input, a fourth input, and an output, wherein the first input is coupled to receive the input stream, the second input is coupled to receive a prior video frame, the third input is coupled to receive the transform output, the fourth input is coupled to receive a prior transformed video frame, and the output is motion vector data;
- a first encoder stage, having a first input, a second input, a first output, and a second output, wherein the first input is coupled to receive the transform output, the second input is coupled to receive the motion vector data, the first output is first coefficient data, and the second output is a delayed first encoder stage signal;
- and
- a plurality of subsequently cascaded encoder stages each having a first input, a second input, a third input, a first output, and a second output, wherein the first input is coupled to receive the transform output, the second input is coupled to receive the motion vector data, the third input is coupled to receive a prior encoder stage delayed signal, the first output is coefficient data for that stage, and the second output is a delayed encoder signal for that stage.
A machine-readable medium having stored thereon instructions, which when executed by a processor, causes said processor to perform the following:
- receive an input data stream at a first bit rate;
- perform a first domain transformation of the input data stream;
- and
- encode the input data stream into a plurality of output data streams having a plurality of bit rates by utilizing the first domain transformation of the input data stream.
A system comprising:
- a multi-rate encoder having an input and a plurality of outputs, wherein the input is connected to a video input stream;
- and
- a plurality of receivers having inputs, wherein the inputs are coupled to receive the multi-rate encoder plurality of outputs.
An apparatus comprising:
- a domain transformation block having an input and an output, the input coupled to receive an input data stream at a first bit rate, and the domain transformation block generating a transformation on the output;
- a motion estimation block having a plurality of inputs and outputs, the inputs coupled to receive the input data stream at the first bit rate and the transformation, and the motion estimation block generating a motion vector and an entropy coded motion vector on the outputs;
- and
- a plurality of bit rate encoding blocks having a plurality of inputs and outputs, the inputs coupled to receive the transformation and the motion vector, and the outputs generating entropy coded coefficient data at a plurality of bit rates.
An apparatus comprising:
- means for receiving an input data stream at a first bit rate;
- means for performing a first domain transformation of the input data stream;
- and
- means for encoding the input data stream into a plurality of output data streams having a plurality of bit rates by utilizing the first domain transformation of the input data stream.
A method comprising:
- inputting data;
- transforming the data;
- subtracting the transformed data and a first stage transformed predicted data to obtain a first stage difference;
- quantizing the first stage difference;
- receiving the first stage quantized difference into a first stage entropy coder;
- outputting first coefficient data from the first stage entropy coder;
- de-quantizing the first stage quantized difference;
- summing the first stage de-quantized difference and the first stage transformed predicted data to obtain a first stage summation result;
- delaying the first stage summation result;
- creating the first stage transformed predicted data by combining motion vector data and the delayed first stage summation result;
- creating the motion vector data by combining the data, a prior version of the data, the first stage transformed data, and the delayed first stage summation result;
- receiving the motion vector data into a second entropy coder;
- outputting motion vector entropy coded data from the second entropy coder;
- (a) inputting the transformed data into stage N;
- (b) subtracting the transformed data and a stage N transformed predicted data to obtain a stage N difference;
- (c) quantizing the stage N difference;
- (d) receiving the stage N quantized difference into a stage N entropy coder;
- (e) outputting stage N coefficient data from the stage N entropy coder;
- (f) de-quantizing the stage N quantized difference;
- (g) summing the stage N de-quantized difference and the stage N transformed predicted data to obtain a stage N summation result;
- (h) delaying the stage N summation result;
- (i) creating the stage N transformed predicted data by combining the motion vector data, a delayed stage M summation, and a stage M transformed predicted data;
- (j) repeating the sequence (a)-(i) K-1 times for K streams of encoding.
An apparatus comprising:
- a first block for receiving an input data stream at a first bit rate;
- a second block for performing a first domain transformation of the input data stream;
- and
- a third block for encoding the input data stream into a plurality of output data streams having a plurality of bit rates by utilizing the first domain transformation of the input data stream.
Dependencies are inferred from the claim text.