Claims
- 1. A bit allocation method for use with video sequences, the method comprising:
receiving a clip bit budget for at least a first clip; determining a scene quantity for the first clip; determining a quantity of predicted frames in a first scene in the first clip; and calculating a bit budget for the first scene based at least in part on the scene quantity for the first clip, the first clip bit budget, a quantity of intracoded frames in the first scene, and the quantity of predicted frames in the first scene.
- 2. The bit allocation method as defined in claim 1, wherein each scene in the first clip begins with an intracoded frame.
- 3. The bit allocation method as defined in claim 1, wherein the bit budget is calculated based at least in part by multiplying the clip bit budget by a sum of the number of predicted frames and a first constant, and dividing by a sum of the quantity of intracoded and predicted frames in the clip and the number of clip scenes multiplied by a second constant.
- 4. The bit allocation method as defined in claim 1, wherein the first scene is a GOV.
- 5. The bit allocation method as defined in claim 1, wherein the first scene is a GOP.
- 6. The bit allocation method as defined in claim 1, wherein the predicted frames are P-VOPs.
- 7. The bit allocation method as defined in claim 1, further comprising adjusting a quantization parameter for a first predicted frame in the first scene based on the bit budget for the first scene and current bit usage.
- 8. The bit allocation method as defined in claim 7, wherein the adjustment of the quantization parameter is limited to a first range.
- 9. The bit allocation method as defined in claim 1, further comprising adjusting a quantization parameter for a first predicted frame in the first scene upwards at least partly in response to determining that current bit usage is greater then a value related to the bit budget for the first scene.
- 10. The bit allocation method as defined in claim 1, further comprising adjusting a quantization parameter for a first predicted frame in the first scene downwards at least partly in response to determining that current bit usage is less then a value related to the bit budget for the first scene.
- 11. The bit allocation method as defined in claim 1, further comprising adjusting a quantization parameter for a macroblock based at least in part on a channel rate.
- 12. A bit allocation method for use with video clip scenes, the method comprising:
calculating a bit budget for a first scene; calculating bit budgets for corresponding frames, including at least a first frame, within the first scene; and calculating bits budgets corresponding to macroblocks within the first frame.
- 13. The bit allocation method as defined in claim 12, wherein the first scene is a GOP.
- 14. The bit allocation method as defined in claim 12, wherein the first scene is a GOV.
- 15. The bit allocation method as defined in claim 12, wherein the bit budget for the first scene is based at least in part on a complexity determination for the first scene.
- 16. The bit allocation method as defined in claim 12, wherein the bit budget for the first scene is based at least in part on a complexity determination for the first scene and an average complexity of a plurality of scenes.
- 17. The bit allocation method as defined in claim 12, wherein the bit budget for the first scene is based at least in part on a buffer status.
- 18. The bit allocation method as defined in claim 12, wherein the bit budget for the first frame is based on quantization parameter-invariant criteria.
- 19. The bit allocation method as defined in claim 12, wherein the bit budget for the first frame is based at least in part on how may texture bits are in the first frame and how many motion vector bits there are for the first frame.
- 20. The bit allocation method as defined in claim 19, wherein the bit budget for the first frame is further based on a mean absolute difference value corresponding to the first frame relative to a second frame.
- 21. The bit allocation method as defined in claim 12, wherein the bit budget for the first frame is based at least in part on the bit budget for the first scene, a quantity of bits used for already coded frames in the first scene, a complexity of the first scene, and complexities of already coded frames in the first scene.
- 22. The bit allocation method as defined in claim 12, wherein all the macroblocks within the first frame are quantized using one quantization parameter value.
- 23. The bit allocation method as defined in claim 12, wherein a quantization parameter is varied for the first frame macroblocks based at least in part on current bit usage and budgeted bit usage.
- 24. An apparatus for allocating bits, comprising:
a first instruction configured to assign a first bit budget for a first scene based at least in part on how many intracoded frames are in the first scene, a complexity determination for the first scene, and how many interceded frames are in the first scene; and a second instruction configured to allocate bit budgets to frames within the first scene based at least in part on a current bit usage and a target bit usage.
- 25. The apparatus as defined in claim 24, further comprising varying quantization of macroblocks within the frames based at least in part of the current bit usage and the target bit usage.
- 26. The apparatus as defined in claim 24, wherein the first frame in the first scene is intracoded.
- 27. The apparatus as defined in claim 24, wherein the first instruction assigns a greater weight to the intracoded frames then to the interceded frames.
- 28. The apparatus as defined in claim 24, wherein the apparatus is an integrated circuit.
- 29. A bit budgeting apparatus, comprising:
a first instruction configured to receive a bit budget for at least a first video sequence; a second instruction configured to determine a scene quantity for the first video sequence; a third instruction configured to determine a quantity of predicted frames in a first scene in the first video sequence; and a fourth instruction configured to determine a bit budget for the first scene based at least in part on the scene quantity for the first clip, the first clip bit budget, a quantity of intracoded frames in the first scene, and the quantity of predicted frames in the first scene.
- 30. The apparatus as defined in claim 29, wherein the first scene is a GOV.
- 31. The apparatus as defined in claim 29, wherein the bit budget for the first scene is based at least in part on a buffer status.
- 32. The apparatus as defined in claim 29, further comprising a fifth instruction configured to determine a bit budget for a first frame based at least in part on how may texture bits are in the first frame and how many motion vector bits there are for the first frame.
- 33. The apparatus as defined in claim 29, further comprising a fifth instruction configured to determine quantization parameters for macroblocks in a first frame in the first scene.
- 34. The apparatus as defined in claim 29, wherein the apparatus is an integrated circuit.
PRIORITY CLAIM
[0001] This application claims the benefit under 35 U.S.C. 119(e) of U.S. Provisional Application No. 60/273,443, filed Mar. 5, 2001, U.S. Provisional Application No. 60/275,859, filed Mar. 14, 2001, and U.S. Provisional Application No. 60/286,280, filed Apr. 25, 2001, which are incorporated herein in their entirety.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60273443 |
Mar 2001 |
US |
|
60275859 |
Mar 2001 |
US |
|
60286280 |
Apr 2001 |
US |