Method and apparatus for using frame rate up conversion techniques in scalable video coding
AssigneeQUALCOMM Incorporated
InventorsVijayalakshmi R. Raveendran, Gordon Kent Walker
Life of this patent
Estimating the term…
Abstract
A method for encoding a video stream includes partitioning the video stream into a main layer having a plurality of main layer frames, and an interpolated layer having a plurality of interpolated layer frames; interpolating a frame rate up conversion (FRUC) frame; and encoding the plurality of main layer frames in the interpolated layer with the assistance of the main FRUC frame. A video encoder implementing the method is also described.
Claims8
A video-encoder processor for encoding a video stream having a plurality of frames, the video encoder processor comprising:
- a frame rate-up-conversion (FRUC) module, the FRUC module generating a FRUC frame with reference to a first frame of the video stream;
- a rate distortion cost (RD_cost) calculation module coupled to the FRUC module and configured to:
- receive the FRUC frame and calculate a first cost based on a macroblock of the FRUC frame, wherein the first cost includes a cost of predicting a macroblock of a subsequent frame of the video stream from the macroblock of the FRUC frame;
- and
- receive the first frame and calculate a second cost based on a macroblock of the first frame, wherein the second cost includes a cost of predicting the macroblock of the subsequent frame of the video stream from the macroblock of the first frame;
- and
- a mode decision module coupled to the RD_cost calculation module, the mode decision module configured to:
- compare the first cost and the second cost;
- encode the macroblock of the subsequent frame using the macroblock of the FRUC frame if the first cost is less than the second cost;
- and
- encode the macroblock of the subsequent frame using the macroblock of the first frame if the first cost is greater than the second cost.
A method for encoding a video stream having a plurality of frames, the method comprising:
- generating a frame rate up conversion (FRUC) frame with reference to a first frame of the video stream;
- calculating a first cost as a F frame macroblock RD_cost based on a macroblock in one of the plurality of FRUC frames, wherein the first cost includes a cost of predicting a macroblock of a subsequent frame of the video stream from the macroblock in the FRUC frame;
- calculating a second cost as a RD_cost for a corresponding macroblock in a corresponding first frame;
- comparing the first cost and the second cost;
- selecting an encoding scheme for the subsequent frame of the video stream based on the result of the comparison;
- encoding the macroblock of the subsequent frame of the video stream using the macroblock in the corresponding first frame if the first cost is greater than the second cost;
- and
- encoding the macroblock of the subsequent frame of the video stream using the macroblock in the FRUC frame if the first cost is less than the second cost.
An apparatus for encoding a video stream having a frame, comprising:
- means for generating a frame rate up conversion (FRUC) frame with reference to a first frame of the video stream;
- means for calculating a first cost as a F frame macroblock RD_cost based on a macroblock of the FRUC frame, wherein the first cost includes a cost of predicting a macroblock of a subsequent frame of the video stream from the macroblock in the FRUC frame;
- means for comparing the calculated F frame macroblock RD_cost to a B frame macroblock RD_cost for a corresponding macroblock in a corresponding B frame;
- means for calculating a second cost as a RD_cost for a corresponding macroblock in a corresponding first frame;
- means for selecting an encoding scheme for the subsequent frame of the video stream based on the result of the comparison;
- and
- means for encoding the macroblock of the subsequent frame of the video stream using the macroblock in the corresponding first frame if the first cost is greater than the second cost;
- and
- means for encoding the macroblock of the subsequent frame of the video stream using the macroblock in the FRUC frame if the first cost is less than the second cost.
A non-transitory computer-readable medium having instructions stored thereon, the stored instructions, when executed by a processor, cause the processor to perform a method for encoding a video stream having a frame, the method comprising:
- generating a frame rate up conversion (FRUC) frame with reference to a first frame of the video stream;
- calculating a first cost as a F frame macroblock RD_cost based on a macroblock in one of the plurality of FRUC frames, wherein the first cost includes a cost of predicting a macroblock of a subsequent frame of the video stream from the macroblock in the FRUC frame;
- calculating a second cost as a RD_cost for a corresponding macroblock in a corresponding first frame;
- comparing the first cost and the second cost;
- selecting an encoding scheme for the subsequent frame of the video stream based on the result of the comparison;
- encoding the macroblock of the subsequent frame of the video stream using the macroblock in the corresponding first frame if the first cost is greater than the second cost;
- and
- encoding the macroblock of the subsequent frame of the video stream using the macroblock in the FRUC frame if the first cost is less than the second cost.
Dependencies are inferred from the claim text.