System and method for transcoding data from one video standard to another video standard
AssigneeSTMicroelectronics International N.V.
InventorsSumit Johar, Ravin Sachdeva
Life of this patent
Estimating the term…
Abstract
A system and method transcodes an input video bit stream having a first encoding profile into an output video bit stream having a second encoding profile. The system includes a first module and a second module. The system further includes a memory module. The first module decodes the input video bit stream for generating pixel data and macroblock specifications. The second module encodes the pixel data and the macroblock specifications for constructing the output video bit stream. The memory module includes a first buffer module and a second buffer module. The first buffer module stores the pixel data and the second buffer module stores the macroblock specifications.
Claims17
A system for encoding pixel data and macroblock specifications of a first encoding profile to construct an output video bit stream of a second encoding profile, said system comprising:
- a macroblock mapping module configured to receive the macroblock specifications and generate a prediction value in one of an inter mode and an intra mode, said macroblock specifications including a motion vector at a first pixel resolution value;
- a motion vector refinement module configured to generate the prediction value through a reference picture in the inter mode and refine the motion vector to a higher second pixel resolution;
- a transform module configured to transform a residual value, said residual value comprising a difference of the prediction value and a value of the pixel data;
- a second quantization module configured to quantize the residual value and generate a quantized transform coefficient;
- an entropy encoding module configured to entropy encode the quantized transform coefficient;
- a third quantization module configured to process the quantized transform coefficient to obtain dequantized data;
- a second inverse transformation module configured to generate a difference frame;
- a second picture buffer configured to store reconstructed frames;
- and
- a second motion compensation module configured to receive motion information from the motion vector refinement module and coupled to the picture buffer to produce a motion compensated frame.
A method for transcoding an input video bit stream having a first encoding profile into an output video bit stream having a second encoding profile comprising:
- decoding the input video bit stream to generate pixel data and macroblock specifications through a first module, said macroblock specifications including a motion vector at a first pixel resolution value;
- storing the pixel data and the macroblock specifications in a memory module;
- and
- encoding the pixel data and the macroblock specifications retrieved from the memory module for constructing the output video bit stream through a second module;
- wherein encoding comprises converting the motion vector at the first pixel resolution to a refined motion vector at a second pixel resolution that is higher than the first pixel resolution;
- wherein said encoding comprising:
- generating a prediction value in one of an inter mode and an intra mode through a macroblock mapping module;
- generating the prediction value in the inter mode using a reference picture through a motion vector refinement module;
- transforming a residual value through a transform module, said residual value comprises a difference of the prediction value and a value of the pixel data;
- quantizing the residual value for generating a quantized transform coefficient through a second quantization module;
- encoding the quantized transform coefficient through an entropy encoding module;
- processing the quantized transform coefficient to obtain dequantized data through a third quantization module;
- and
- generating a difference frame through a second inverse transformation module.
A method for transcoding an input video bit stream having a first encoding profile into an output video bit stream having a second encoding profile comprising:
- decoding the input video bit stream to generate pixel data and macroblock specifications through a first module;
- storing the pixel data and the macroblock specifications in a memory module;
- and
- encoding the pixel data and the macroblock specifications for constructing the output video bit stream through a second module;
- wherein said storing comprises storing the pixel data alternatively into a first global pixel data buffer and a second global pixel data buffer, and storing the macroblock specifications alternatively into a first global macroblock information buffer and a second global macroblock information buffer;
- wherein said decoding comprises:
- processing the input video bit stream to generate picture error data and the macroblock specifications;
- processing the picture error data to obtain dequantized data
- transforming the dequantized data to obtain an error frame;
- producing a motion compensation frame from the macroblock specifications, said motion frame being appended with the error frame to produce a final picture;
- and
- storing the final picture for a future reference in a first picture buffer.
A method for transcoding an input video bit stream having a first encoding profile into an output video bit stream having a second encoding profile,
- decoding the input video bit stream to generate pixel data and macroblock specifications through a first module;
- storing the pixel data and the macroblock specifications in a memory module;
- and
- encoding the pixel data and the macroblock specifications for constructing the output video bit stream through a second module;
- wherein said storing comprises storing the pixel data alternatively into a first global pixel data buffer and a second global pixel data buffer, and storing the macroblock specifications alternatively into a first global macroblock information buffer and a second global macroblock information buffer;
- wherein said encoding comprises:
- generating a prediction value in one of an inter mode and an intra mode through a macroblock mapping module;
- generating the prediction value in the inter mode using a reference picture through a motion vector refinement module;
- transforming a residual value through a transform module, said residual value comprises a difference of the prediction value and a value of the pixel data;
- quantizing the residual value for generating a quantized transform coefficient through a second quantization module;
- encoding the quantized transform coefficient through an entropy encoding module;
- processing the quantized transform coefficient to obtain dequantized data through a third quantization module;
- and
- generating a difference frame through a second inverse transformation module.
A system for transcoding an input video bit stream having a first encoding profile into an output video bit stream having a second encoding profile, comprising:
- a first module configured to decode the input video bit stream to generate pixel data and macroblock specifications;
- a memory module comprising:
- a first buffer module configured to store the pixel data;
- and
- a second buffer module configured to store the macroblock specifications;
- and
- a second module operatively coupled to the first module, said second module comprising a macroblock mapping module and a motion vector refinement module configured to encode the pixel data and the macroblock specifications to construct the output video bit stream;
- wherein the first buffer module of said memory module is configured to store the pixel data alternatively into a first global pixel data buffer and a second global pixel data buffer, and
- wherein the second buffer module of said memory module is configured to store the macroblock specifications alternatively into a first global macroblock information buffer and a second global macroblock information buffer;
- wherein the second module comprises:
- a transform module configured to transform a residual value, said residual value comprising a difference of a prediction value and a value of the pixel data;
- a second quantization module configured to quantize the residual value and generate a quantized transform coefficient;
- an entropy encoding module configured to encode the quantized transform coefficient;
- a third quantization module configured to process the quantized transform coefficient to obtain dequantized data;
- a second inverse transformation module configured to generate a difference frame;
- a second picture buffer configured to store reconstructed frames;
- and
- a second motion compensation module configured to receive motion information from the motion vector refinement module, said second motion compensation module being coupled to the second picture buffer and configured to produce a motion compensated frame.
Dependencies are inferred from the claim text.