Motion video signal encoder and encoding method
First Claim
1. A method for encoding a motion video signal, the method comprising:
- determining a desired size for a first frame of the motion video signal;
encoding the first frame of the motion video signal to form an encoded frame;
determining an encoded size of the encoded frame;
comparing the encoded size to the desired size;
adjusting a quantization parameter such that encoding the first frame according to the quantization parameter as adjusted would form a different encoded frame having a size closer to the desired size than the encoded size is to the desired size; and
encoding a second frame of the motion video signal according to the quantization parameter as adjusted.
1 Assignment
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.
-
Citations
45 Claims
-
1. A method for encoding a motion video signal, the method comprising:
-
determining a desired size for a first frame of the motion video signal;
encoding the first frame of the motion video signal to form an encoded frame;
determining an encoded size of the encoded frame;
comparing the encoded size to the desired size;
adjusting a quantization parameter such that encoding the first frame according to the quantization parameter as adjusted would form a different encoded frame having a size closer to the desired size than the encoded size is to the desired size; and
encoding a second frame of the motion video signal according to the quantization parameter as adjusted. - View Dependent Claims (2, 3)
-
-
4. A method for encoding a motion video signal, the method comprising:
-
initializing an accumulated bandwidth record;
encoding a first frame of the motion video signal to form an encoded frame;
determining a consumed bandwidth of the encoded frame;
adjusting the accumulated bandwidth record according to the consumed bandwidth;
comparing the accumulated bandwidth record to a desired range of acceptable accumulated bandwidth;
adjusting a quantization parameter such that encoding subsequent frames of the motion video signal according to the quantization parameter as adjusted consumes bandwidth in a manner which compensates for a deviation from the desired range of acceptable bandwidth by the accumulated bandwidth record; and
encoding a second frame of the motion video signal according to the quantization parameter as adjusted. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A method for encoding a motion video signal, the method comprising:
-
measuring a first difference between first and second frames of the motion video signal;
measuring a second difference between the second frame and a third frame of the motion video signal;
determining a third difference between the first and second differences;
comparing the third difference to a predetermined threshold;
adjusting a quantization parameter if the third difference is greater than the predetermined threshold; and
encoding the third frame according to the quantization parameter as adjusted. - View Dependent Claims (10, 11, 12)
-
-
13. A method for encoding a motion video signal, the method comprising:
-
comparing first and second frames of the motion video signal to one another;
determining whether the second frame represents a scene change in a motion video image represented by the motion video image;
encoding the second frame as an independent frame upon a condition in which the second frame represents the scene change in the motion video image; and
encoding the second frame as a motion-compensated frame upon a condition in which the second frame does not represent the scene change in the motion video image. - View Dependent Claims (14, 15)
-
-
16. A computer readable medium useful in association with a computer which includes a processor and a memory, the computer readable medium including computer instructions which are configured to cause the computer to perform the steps of:
-
determining a desired size for a first frame of the motion video signal;
encoding the first frame of the motion video signal to form an encoded frame;
determining an encoded size of the encoded frame;
comparing the encoded size to the desired size;
adjusting a quantization parameter such that encoding the first frame according to the quantization parameter as adjusted would form a different encoded frame having a size closer to the desired size than the encoded size is to the desired size; and
encoding a second frame of the motion video signal according to the quantization parameter as adjusted. - View Dependent Claims (17, 18)
-
-
19. A computer readable medium useful in association with a computer which includes a processor and a memory, the computer readable medium including computer instructions which are configured to cause the computer to perform the steps of:
-
initializing an accumulated bandwidth record;
encoding a first frame of the motion video signal to form an encoded frame;
determining a consumed bandwidth of the encoded frame;
adjusting the accumulated bandwidth record according to the consumed bandwidth;
comparing the accumulated bandwidth record to a desired range of acceptable accumulated bandwidth;
adjusting a quantization parameter such that encoding subsequent frames of the motion video signal according to the quantization parameter as adjusted consumes bandwidth in a manner which compensates for a deviation from the desired range of acceptable bandwidth by the accumulated bandwidth record; and
encoding a second frame of the motion video signal according to the quantization parameter as adjusted. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A computer readable medium useful in association with a computer which includes a processor and a memory, the computer readable medium including computer instructions which are configured to cause the computer to perform the steps of:
-
measuring a first difference between first and second frames of the motion video signal;
measuring a second difference between the second frame and a third frame of the motion video signal;
determining a third difference between the first and second differences;
comparing the third difference to a predetermined threshold;
adjusting a quantization parameter if the third difference is greater than the predetermined threshold; and
encoding the third frame according to the quantization parameter as adjusted. - View Dependent Claims (25, 26, 27)
-
-
28. A computer readable medium useful in association with a computer which includes a processor and a memory, the computer readable medium including computer instructions which are configured to cause the computer to perform the steps of:
-
comparing first and second frames of the motion video signal to one another;
determining whether the second frame represents a scene change in a motion video image represented by the motion video image;
encoding the second frame as an independent frame upon a condition in which the second frame represents the scene change in the motion video image; and
encoding the second frame as a motion-compensated frame upon a condition in which the second frame does not represent the scene change in the motion video image. - View Dependent Claims (29, 30)
-
-
31. A computer system comprising:
-
a processor;
a memory operatively coupled to the processor; and
a motion video signal encoder which executes in the processor from the memory and which, when executed by the processor, performs the steps of;
determining a desired size for a first frame of the motion video signal;
encoding the first frame of the motion video signal to form an encoded frame;
determining an encoded size of the encoded frame;
comparing the encoded size to the desired size;
adjusting a quantization parameter such that encoding the first frame according to the quantization parameter as adjusted would form a different encoded frame having a size closer to the desired size than the encoded size is to the desired size; and
encoding a second frame of the motion video signal according to the quantization parameter as adjusted. - View Dependent Claims (32, 33)
-
-
34. A computer system comprising:
-
a processor;
a memory operatively coupled to the processor; and
a motion video signal encoder which executes in the processor from the memory and which, when executed by the processor, performs the steps of;
initializing an accumulated bandwidth record;
encoding a first frame of the motion video signal to form an encoded frame;
determining a consumed bandwidth of the encoded frame;
adjusting the accumulated bandwidth record according to the consumed bandwidth;
comparing the accumulated bandwidth record to a desired range of acceptable accumulated bandwidth;
adjusting a quantization parameter such that encoding subsequent frames of the motion video signal according to the quantization parameter as adjusted consumes bandwidth in a manner which compensates for a deviation from the desired range of acceptable bandwidth by the accumulated bandwidth record; and
encoding a second frame of the motion video signal according to the quantization parameter as adjusted. - View Dependent Claims (35, 36, 37, 38)
-
-
39. A computer system comprising:
-
a processor;
a memory operatively coupled to the processor; and
a motion video signal encoder which executes in the processor from the memory and which, when executed by the processor, performs the steps of;
measuring a first difference between first and second frames of the motion video signal;
measuring a second difference between the second frame and a third frame of the motion video signal;
determining a third difference between the first and second differences;
comparing the third difference to a predetermined threshold;
adjusting a quantization parameter if the third difference is greater than the predetermined threshold; and
encoding the third frame according to the quantization parameter as adjusted. - View Dependent Claims (40, 41, 42)
-
-
43. A computer system comprising:
-
a processor;
a memory operatively coupled to the processor; and
a motion video signal encoder which executes in the processor from the memory and which, when executed by the processor, performs the steps of;
comparing first and second frames of the motion video signal to one another;
determining whether the second frame represents a scene change in a motion video image represented by the motion video image;
encoding the second frame as an independent frame upon a condition in which the second frame represents the scene change in the motion video image; and
encoding the second frame as a motion-compensated frame upon a condition in which the second frame does not represent the scene change in the motion video image. - View Dependent Claims (44, 45)
-
Specification