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 an encoding parameter such that encoding the first frame according to the encoding 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 encoding parameter as adjusted.
- 2. The method of claim 1 wherein the second frame is subsequent to the first frame in the motion video signal.
- 3. The method of claim 1 where in the encoding parameter is a numerical representation of a compromise between consumed bandwidth and image quality of the motion video signal as encoded.
- 4. The method of claim 1 wherein the step of adjusting comprises:
determining a difference between the encoded size and the desired size; and adjusting the encoding parameter by an amount which is proportional to the difference.
- 5. A method for encoding a motion video signal, the method comprising:
initializing a cumulative bandwidth error record which stores data representing accumulated deviation of consume bandwidth from available bandwidth; encoding a first frame of the motion video signal to form an encoded frame; determining a consumed bandwidth of the encoded frame; adjusting the cumulative bandwidth error record according to the consumed bandwidth; adjusting an encoding parameter such that encoding subsequent frames of the motion video signal according to the encoding parameter as adjusted consumes bandwidth in a manner which compensates for a deviation from zero by the cumulative bandwidth error record; and encoding a second frame of the motion video signal according to the encoding parameter as adjusted.
- 6. The method of claim 5 wherein the step of adjusting the cumulative bandwidth error record comprises:
adding to the cumulative bandwidth error record an amount of available bandwidth which is available for the encoded frame; and subtracting from the cumulative bandwidth error record an amount of consumed bandwidth which is consumed by the encoded frame.
- 7. The method of claim 6 wherein the amount of available bandwidth is the amount of bandwidth available for a time difference between the first frame and a preceding frame.
- 8. The method of claim 5 wherein the second frame is subsequent to the first frame in the motion video signal.
- 9. The method of claim 5 wherein the step of adjusting the encoding parameter comprises:
determining that the cumulative bandwidth error record represents a non-negative cumulative bandwidth error; and decreasing the quantization parameter by an amount which is proportional to the cumulative bandwidth error to increase bandwidth consumed by encoding of subsequent frames of the motion video signal.
- 10. The method of claim 5 wherein the step of adjusting the encoding parameter comprises:
determining that the cumulative bandwidth error record represents a non-positive cumulative bandwidth error; and increasing the quantization parameter by an amount which is proportional to the cumulative bandwidth error to decrease bandwidth consumed by encoding of subsequent frames of the motion video signal.
- 11. 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; filtering the first and second differences to form a filtered difference; adjusting an encoding parameter in accordance with the second difference and the filtered difference; and encoding the third frame according to the encoding parameter as adjusted.
- 12. The method of claim 11 wherein the first and second differences are absolute pixel differences.
- 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.
- 14. The method of claim 13 wherein the step of determining comprises:
measuring a difference between the first and second frames; filtering the difference with a previously filtered difference to form a filtered difference; comparing the filtered difference to a threshold; determining that the second frame represents the scene change if the filtered difference is greater than the threshold; and determining that the second frame does not represent the scene change if the filtered difference is not greater than the threshold.
- 15. The method of claim 14 wherein the difference is an absolute pixel difference.
- 16. The method of claim 14 wherein the threshold is proportional to the previously filtered difference.
- 17. 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 encode a motion video signal by performing 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 an encoding parameter such that encoding the first frame according to the encoding 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 encoding parameter as adjusted.
- 18. The computer readable medium of claim 17 wherein the second frame is subsequent to the first frame in the motion video signal.
- 19. The computer readable medium of claim 17 where in the encoding parameter is a numerical representation of a compromise between consumed bandwidth and image quality of the motion video signal as encoded.
- 20. The computer readable medium of claim 17 wherein the step of adjusting comprises:
determining a difference between the encoded size and the desired size; and adjusting the encoding parameter by an amount which is proportional to the difference.
- 21. 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 encode a motion video signal by performing the steps of:
initialing a cumulative bandwidth error record which stores data representing accumulated deviation of consume bandwidth from available bandwidth; encoding a first frame of the motion video signal to form an encoded frame; determining a consumed bandwidth of the encoded frame; adjusting the cumulative bandwidth error record according to the consumed bandwidth; adjusting an encoding parameter such that encoding subsequent frames of the motion video signal according to the encoding parameter as adjusted consumes bandwidth in a manner which compensates for a deviation from zero by the cumulative bandwidth error record; and encoding a second frame of the motion video signal according to the encoding parameter as adjusted.
- 22. The computer readable medium of claim 21 wherein the step of adjusting the cumulative bandwidth error record comprises:
adding to the cumulative bandwidth error record an amount of available bandwidth which is available for the encoded frame; and subtracting from the cumulative bandwidth error record an amount of consumed bandwidth which is consumed by the encoded frame.
- 23. The computer readable medium of claim 22 wherein the amount of available bandwidth is the amount of bandwidth available for a time difference between the first frame and a preceding frame.
- 24. The computer readable medium of claim 21 wherein the second frame is subsequent to the first frame in the motion video signal.
- 25. The computer readable medium of claim 21 wherein the step of adjusting the encoding parameter comprises:
determining that the cumulative bandwidth error record represents a non-negative cumulative bandwidth error; and decreasing the quantization parameter by an amount which is proportional to the cumulative bandwidth error to increase bandwidth consumed by encoding of subsequent frames of the motion video signal.
- 26. The computer readable medium of claim 21 wherein the step of adjusting the encoding parameter comprises:
determining that the cumulative bandwidth error record represents a non-positive cumulative bandwidth error; and increasing the quantization parameter by an amount which is proportional to the cumulative bandwidth error to decrease bandwidth consumed by encoding of subsequent frames of the motion video signal.
- 27. 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 encode a motion video signal by performing 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; filtering the first and second differences to form a filtered difference; adjusting an encoding parameter in accordance with the second difference and the filtered difference; and encoding the third frame according to the encoding parameter as adjusted.
- 28. The computer readable medium of claim 27 wherein the first and second differences are absolute pixel differences.
- 29. 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 encode a motion video signal by performing 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.
- 30. The computer readable medium of claim 29 wherein the step of determining comprises:
measuring a difference between the first and second frames; filtering the difference with a previously filtered difference to form a filtered difference; comparing the filtered difference to a threshold; determining that the second frame represents the scene change if the filtered difference is greater than the threshold; and determining that the second frame does not represent the scene change if the filtered difference is not greater than the threshold.
- 31. The computer readable medium of claim 30 wherein the difference is an absolute pixel difference.
- 32. The computer readable medium of claim 30 wherein the threshold is proportional to the previously filtered difference.
- 33. 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, causes the computer to encode a motion video signal by performing 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 an encoding parameter such that encoding the first frame according to the encoding 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 encoding parameter as adjusted.
- 34. The computer system of claim 33 wherein the second frame is subsequent to the first frame in the motion video signal.
- 35. The computer system of claim 33 where in the encoding parameter is a numerical representation of a compromise between consumed bandwidth and image quality of the motion video signal as encoded.
- 36. The computer system of claim 33 wherein the step of adjusting comprises:
determining a difference between the encoded size and the desired size; and adjusting the encoding parameter by an amount which is proportional to the difference.
- 37. 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, causes the computer to encode a motion video signal by performing the steps of: initializing a cumulative bandwidth error record which stores data representing accumulated deviation of consume bandwidth from available bandwidth; encoding a first frame of the motion video signal to form an encoded frame; determining a consumed bandwidth of the encoded frame; adjusting the cumulative bandwidth error record according to the consumed bandwidth; adjusting an encoding parameter such that encoding subsequent frames of the motion video signal according to the encoding parameter as adjusted consumes bandwidth in a manner which compensates for a deviation from zero by the cumulative bandwidth error record; and encoding a second frame of the motion video signal according to the encoding parameter as adjusted.
- 38. The computer system of claim 37 wherein the step of adjusting the cumulative bandwidth error record comprises:
adding to the cumulative bandwidth error record an amount of available bandwidth which is available for the encoded frame; and subtracting from the cumulative bandwidth error record an amount of consumed bandwidth which is consumed by the encoded frame.
- 39. The computer system of claim 38 wherein the amount of available bandwidth is the amount of bandwidth available for a time difference between the first frame and a preceding frame.
- 40. The computer system of claim 37 wherein the second frame is subsequent to the first frame in the motion video signal.
- 41. The computer system of claim 37 wherein the step of adjusting the encoding parameter comprises:
determining that the cumulative bandwidth error record represents a non-negative cumulative bandwidth error; and decreasing the quantization parameter by an amount which is proportional to the cumulative bandwidth error to increase bandwidth consumed by encoding of subsequent frames of the motion video signal.
- 42. The computer system of claim 37 wherein the step of adjusting the encoding parameter comprises:
determining that the cumulative bandwidth error record represents a non-positive cumulative bandwidth error; and increasing the quantization parameter by an amount which is proportional to the cumulative bandwidth error to decrease bandwidth consumed by encoding of subsequent frames of the motion video signal.
- 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, causes the computer to encode a motion video signal by performing 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; filtering the first and second differences to form a filtered difference; adjusting an encoding parameter in accordance with the second difference and the filtered difference; and encoding the third frame according to the encoding parameter as adjusted.
- 44. The computer system of claim 43 wherein the first and second differences are absolute pixel differences.
- 45. 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, causes the computer to encode a motion video signal by performing 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.
- 46. The computer system of claim 45 wherein the step of determining comprises:
measuring a difference between the first and second frames; filtering the difference with a previously filtered difference to form a filtered difference; comparing the filtered difference to a threshold; determining that the second frame represents the scene change if the filtered difference is greater than the threshold; and determining that the second frame does not represent the scene change if the filtered difference is not greater than the threshold.
- 47. The computer system of claim 46 wherein the difference is an absolute pixel difference.
- 48. The computer system of claim 46 wherein the threshold is proportional to the previously filtered difference.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 08/819,507 by Albert S. Wang filed Mar. 14, 1997 and entitled “Digital Video Signal Encoder and Encoding Method” and that application is incorporated herein in its entirety by reference.
Divisions (1)
|
Number |
Date |
Country |
| Parent |
08841838 |
May 1997 |
US |
| Child |
09653124 |
Aug 2000 |
US |
Continuations (1)
|
Number |
Date |
Country |
| Parent |
09653124 |
Aug 2000 |
US |
| Child |
10803070 |
Mar 2004 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
08819507 |
Mar 1997 |
US |
| Child |
08841838 |
May 1997 |
US |