Method for adjusting the brightness and color of MPEG encoded video streams
AssigneeIntervideo, Inc.
InventorShahab Layeghi
Life of this patent
Estimating the term…
Abstract
A system and corresponding method for adjusting the brightness and color of MPEG encoded video images. A digital versatile disk player capable of decoding a previously encoded MPEG video signal and adjusting the brightness and color of the entire previously encoded MPEG video signal based on a subset of information contained in the encoded input signal. The brightness and color adjustments are performed while the encoded MPEG video signal is in the frequency (dct) domain before motion compensation is performed. The digital versatile disk player also determines whether the particular block to be decoded is of a predetermined type and decodes such block accordingly.
Claims14
A method of adjusting the visual brightness and color properties of a video stream, comprising the steps of:
- (a) receiving an input video signal, said input video signal comprising a plurality of encoded frames representing an encoded image;
- said encoded frames having a plurality of encoded macroblocks, wherein each encoded macroblock contains a pixel portion of an encoded image;
- (b) detecting whether the encoded macroblock to be decoded is coded with reference to other encoded macroblocks, and if the encoded macroblock is so coded, then designating the encoded macroblock as a non intra block and proceeding to the next encoded macroblock and repeating step (b);
- (c) designating the encoded macroblock that is coded independently of other encoded macroblocks as an encoded intra block;
- (d) extracting a plurality of luminance and chrominance blocks from the encoded intra block;
- (e) extracting a DC pixel component representative of a luminance property of each of said luminance blocks, and adjusting the DC pixel component of each of said luminance blocks such that the brightness is controlled;
- (f) detecting whether the adjusted DC pixel component of each of said luminance blocks is within boundaries of the range for the number of bits of arithmetic precision used for the pixel, and setting the adjusted DC pixel component to the nearest of said boundaries of said range if the adjusted DC pixel component is not within said range;
- (g) extracting a DC pixel component representative of a chrominance property of each of said chrominance blocks, and adjusting the DC pixel component of said chrominance blocks such that the color is controlled;
- (h) detecting whether the adjusted DC pixel component of each of said chrominance blocks is within the boundaries of the range for the number of bits of arithmetic precision used for the pixel, and setting the adjusted DC pixel component to the nearest of said boundaries of said range if the adjusted DC pixel component is not within said range;
- (i) outputting an adjusted video stream containing said luminance and chrominance blocks having corresponding adjusted DC pixel components;
- (j) proceeding to the next encoded macroblock in said video stream, and returning to step (b).
A method of adjusting the visual brightness and color properties of a video stream, comprising the steps of:
- (a) receiving an input video signal, said input video signal comprising encoded frames representing an encoded image;
- said encoded frames having a plurality of encoded macroblocks of compressed video data, wherein each encoded macroblock contains a pixel portion of the encoded image;
- (b) extracting an encoded macroblock from said encoded frames;
- and iteratively performing the following steps (c) to (n):
- (c) if said encoded macroblock to be decoded is coded with reference to other encoded macroblocks, then performing the following steps (c1) and (c2):
- (c1) accessing next encoded macroblock;
- (c2) returning to step (c);
- (d) designating said encoded macroblock as an intra block;
- (e) establishing a comp counter for storing values used in performing iteration;
- (f) setting said comp counter to an initial condition of 0;
- (g) extracting a luminance block from said encoded macroblock;
- (h) for comp less than 4, iteratively performing the following steps (h1) to (h6):
- (h1) extracting a DC pixel component representative of a luminance property of said luminance block;
- (h2) adding a brightness control factor to the DC pixel component of said luminance block, wherein the DC pixel component of said luminance block is adjusted and a brightness property is controlled;
- (h3) if the adjusted DC pixel component of said luminance block is greater than the maximum range then setting the adjusted DC pixel component to equal the maximum range;
- wherein the maximum range is the largest positive number that is represented by the number of bits used to represent the brightness property of a pixel;
- (h4) if the adjusted DC pixel component is less than the minimum value, then setting the adjusted DC pixel component to equal the minimum value, wherein the minimum value is the largest negative number that is represented by the number of bits used to represent the brightness of the pixel;
- (h5) incrementing said comp counter by one;
- (h6) extracting a different luminance block within on encoded intra block;
- (i) extracting a U chrominance block from said encoded macroblock, wherein comp equals 4;
- (j) performing the following steps (j1) to (j3):
- (j1) adding a UControl factor to a DC pixel component representative of a U chrominance property of said U chrominance block, wherein the DC pixel component of said U chrominance block is adjusted and a Cb color property is controlled;
- (j2) if the adjusted DC pixel component of said U chrominance block is greater than the maximum range then setting the adjusted DC pixel component to equal the maximum range;
- wherein the maximum range is the largest number that is represented by the number of bits used to represent the chrominance of the pixel;
- (j3) if the adjusted DC pixel component of the U chrominance block is less than the minimum range, then setting the adjusted DC pixel component to equal the minimum value, wherein the minimum value is the largest negative number that is represented by the number of bits used to represent the chrominance of the pixel;
- (k) incrementing said comp counter by one;
- wherein comp is equal to 5;
- (l) extracting a V chrominance block from the encoded macroblock, and performing the following steps (l1) to (l3):
- (l1) adding a VControl factor to a DC pixel component representative of a V chrominance property of said V chrominance block, wherein the DC pixel component of said V chrominance block is adjusted and a Cr color property is controlled;
- (l2) if the adjusted DC pixel component of said V chrominance block is greater than the maximum range then setting the adjusted DC pixel component to equal the maximum range;
- wherein the maximum range is the largest number that is represented by the number of bits used to represent the chrominance of the pixel;
- (l3) if the adjusted DC pixel component of the V chrominance block is less than the minimum range, then setting the adjusted DC pixel component to equal the minimum value, wherein the minimum value is the largest negative number that is represented by the number of bits used to represent the chrominance of the pixel;
- (m) outputting an adjusted video stream containing said luminance, U chrominance and V chrominance blocks, each having a corresponding adjusted DC pixel component;
- and
- (n) proceeding to the next macroblock in said input video signal.
Dependencies are inferred from the claim text.