Digital video signal encoder and encoding method
First Claim
1. A method for implementing conditional replenishment in encoding a motion video signal which includes two or more frames, each of which includes one or more pixel blocks which each include two or more sub-portions, the method comprising:
- comparing each sub-portion of a first pixel block of a first frame of the motion video signal to a corresponding sub-portion of a corresponding pixel block of a second frame of the motion video signal to form a corresponding sub-portion distortion value;
comparing the greatest of the sub-portion distortion values of the pixel block to a predetermined threshold; and
encoding the pixel block only if the greatest of the sub-portion distortion values is greater than the predetermined value.
3 Assignments
0 Petitions
Accused Products
Abstract
A motion video signal encoder maximizes image quality without exceeding transmission bandwidth available to carry the encoded motion video signal by comparing encoded frames of the motion video signal to a desired size of frame. If the size of encoded frames differ from the desired size, quantization is adjusted to produce encoded frames closer in size to the desired size. In addition, a cumulative bandwidth balance records an accumulated amount of available bandwidth. The cumulative bandwidth balance is adjusted as time elapses to add to the available bandwidth and as each frame is encoded to thereby consume bandwidth. If the cumulative bandwidth balance deviates from a predetermined range, quantization is adjusted as needed to either improve image quality to more completely consume available bandwidth or to reduce image quality to thereby consume less bandwidth. Rapid changes in the amount of change or motion in the motion video signal are detected by comparing the amount of change between two consecutive frames and the amount of change between the next two consecutive frames. Quantization is precompensated according to the measured rapid change. Conditional replenishment is improved by dividing macroblocks into quadrants and measuring differences between corresponding quadrants of macroblocks. As a result, sensitivity to changes along edges and corners of macroblocks is increased. In addition, sensitivity to changes in a particular macroblock is increased when an adjacent macroblock contains sufficient change to be encoded and therefore not a candidate for conditional replenishment.
154 Citations
27 Claims
-
1. A method for implementing conditional replenishment in encoding a motion video signal which includes two or more frames, each of which includes one or more pixel blocks which each include two or more sub-portions, the method comprising:
-
comparing each sub-portion of a first pixel block of a first frame of the motion video signal to a corresponding sub-portion of a corresponding pixel block of a second frame of the motion video signal to form a corresponding sub-portion distortion value; comparing the greatest of the sub-portion distortion values of the pixel block to a predetermined threshold; and encoding the pixel block only if the greatest of the sub-portion distortion values is greater than the predetermined value. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for implementing conditional replenishment in encoding a motion video signal, which includes two or more frames, each of which includes two or more pixel blocks, the method comprising:
-
associating a corresponding threshold with each of the pixel blocks; determining that a first of the pixel blocks of a first of the frames is sufficiently different from a corresponding pixel block of a second of the frames that the first pixel block is encoded in encoding the first frame; and for each of one or more adjacent ones of the pixel blocks of the first frame which are adjacent to the first pixel block; reducing the corresponding threshold of the adjacent pixel block; and determining whether the adjacent pixel block is sufficiently different from a corresponding adjacent pixel block of the second frame according to the corresponding threshold as reduced. - View Dependent Claims (8, 9)
-
-
10. A computer readable medium for implementing conditional replenishment in encoding a motion video signal which includes two or more frames, each of which includes one or more pixel blocks which each include two or more sub-portions, wherein the computer readable medium (i) is useful in association with a computer which includes a processor and a memory and (ii) includes computer instructions which are configured to cause the computer to perform the steps of:
-
comparing each sub-portion of a first pixel block of a first frame of the motion video signal to a corresponding sub-portion of a corresponding pixel block of a second frame of the motion video signal to form a corresponding sub-portion distortion value; comparing the greatest of the sub-portion distortion values of the pixel block to a predetermined threshold; and encoding the pixel block only if the greatest of the sub-portion distortion values is greater than the predetermined value. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer readable medium for implementing conditional replenishment in encoding a motion video signal which includes two or more frames, each of which includes two or more pixel blocks, wherein the computer readable medium (i) is useful in association with a computer which includes a processor and a memory and (ii) includes computer instructions which are configured to cause the computer to perform the steps of:
-
associating a corresponding threshold with each of the pixel blocks; determining that a first of the pixel blocks of a first of the frames is sufficiently different from a corresponding pixel block of a second of the frames that the first pixel block is encoded in encoding the first frame; and for each of one or more adjacent ones of the pixel blocks of the first frame which are adjacent to the first pixel block; reducing the corresponding threshold of the adjacent pixel block; and determining whether the adjacent pixel block is sufficiently different from a corresponding adjacent pixel block of the second frame according to the corresponding threshold as reduced. - View Dependent Claims (17, 18)
-
-
19. A computer system comprising:
-
a processor; a memory operatively coupled to the processor; and a motion video signal encoder (i) which executes in the processor from the memory, (ii) which implements conditional replenishment in encoding a motion video signal which includes two or more frames, each of which in turn includes one or more pixel blocks which each include two or more sub-portions; and
(iii) which, when executed by the processor, performs the steps of;comparing each sub-portion of a first pixel block of a first frame of the motion video signal to a corresponding sub-portion of a corresponding pixel block of a second frame of the motion video signal to form a corresponding sub-portion distortion value; comparing the greatest of the sub-portion distortion values of the pixel block to a predetermined threshold; and encoding the pixel block only if the greatest of the sub-portion distortion values is greater than the predetermined value. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A computer system comprising:
-
a processor; a memory operatively coupled to the processor; and a motion video signal encoder (i) which executes in the processor from the memory;
(ii) which implements conditional replenishment in encoding a motion video signal which includes two or more frames, each of which includes two or more pixel blocks; and
(iii) which, when executed by the processor, performs the steps of;associating a corresponding threshold with each of the pixel blocks; determining that a first of the pixel blocks of a first of the frames is sufficiently different from a corresponding pixel block of a second of the frames that the first pixel block is encoded in encoding the first frame; and for each of one or more adjacent ones of the pixel blocks of the first frame which are adjacent to the first pixel block; reducing the corresponding threshold of the adjacent pixel block; and determining whether the adjacent pixel block is sufficiently different from a corresponding adjacent pixel block of the second frame according to the corresponding threshold as reduced. - View Dependent Claims (26, 27)
-
Specification