Claims
- 1. A method for allocating bits for coding a sequence of pictures in a bitstream received at a digital video transcoder, comprising the steps of:
(a) providing an assumed length N′ of a particular group of pictures (GOP) of said bitstream; (b) providing an assumed bit budget as a function of said assumed length N′; (c) allocating bits for coding a first picture of said particular GOP in accordance with said assumed bit budget; (d) determining a picture type of a second picture that immediately follows said first picture; (e) adjusting said assumed bit budget according to said picture type of said second picture; and (f) allocating bits for coding said second picture in accordance with said adjusted bit budget.
- 2. The method of claim 1, wherein:
said assumed bit budget is proportional to said assumed length N′ and a bit rate of said bitstream, and inversely proportional to a frame rate of said bitstream.
- 3. The method of claim 1, wherein said first and second pictures are I-pictures, comprising the further steps of:
determining an actual distance M″ between said first picture and the next closest subsequent I-picture of said bitstream according to the picture type of said second picture; and adjusting said assumed bit budget in accordance with said actual distance M″.
- 4. The method of claim 3, wherein:
said actual distance M″ is determined according to a difference between a temporal reference of said second picture, in a display order of said bitstream, and a temporal reference of said first picture, in said display order.
- 5. The method of claim 1, wherein said adjusting step (e) comprises the step of:
adjusting said assumed bit budget by −(N′−1)*“bit rate”/“frame rate”, where “bit rate” is a bit rate of said bitstream, and “frame rate” is a frame rate of said bitstream.
- 6. The method of claim 1, comprising the further step of:
allocating bits for coding the remaining pictures in said particular GOP following said second picture in accordance with said adjusted bit budget.
- 7. The method of claim 1, comprising the further step of:
providing an assumed distance M′ between said first picture and the next closest subsequent P-picture of said bitstream, in a display order of said bitstream; wherein said bits are allocated for coding said first picture in said step (c) in accordance with said assumed distance M′.
- 8. The method of claim 7, wherein said first picture is an I-picture and said second picture is a P-picture, comprising the further steps of:
determining an actual distance M″ between said first picture and the next closest subsequent P-picture, in said display order, according to said picture type of said second picture; and adjusting said assumed length N′ of said GOP in accordance with said actual distance M″ to provide an adjusted assumed length N″; wherein: said adjusting step (e) is responsive to said adjusted assumed length N′.
- 9. The method of claim 8, wherein:
said assumed length N′ of said particular GOP is adjusted in said adjusting step thereof by a factor, M(N′/M′), to provide said adjusted assumed length N″, where M=M″.
- 10. The method of claim 8, wherein said adjusting step (e) comprises the step of:
adjusting said assumed bit budget by a factor (N″−N′)*“bit rate”/“frame rate”, where “bit rate” is a bit rate of said bitstream, and “frame rate” is a frame rate of said bitstream.
- 11. The method of claim 10, wherein said adjusting step (e) comprises the further step of:
adjusting said assumed bit budget by a factor, (M″−1)*“bit rate”/“frame rate”, where “bit rate” is a bit rate of said bitstream, and “frame rate” is a frame rate of said bitstream.
- 12. The method of claim 8, comprising the further step of:
allocating bits for coding the remaining pictures in said particular GOP following said second picture in accordance with said adjusted bit budget.
- 13. The method of claim 8, comprising the further steps of:
determining if N″>N, an actual length of said particular GOP, after coding N″ pictures in said particular GOP; and, if N″>N: further adjusting said adjusted bit budget according to N and N″; and allocating bits for coding pictures in said bitstream following the N″ coded pictures according to said further adjusted bit budget.
- 14. The method of claim 8, comprising the further steps of:
determining if N″<N, an actual length of said particular GOP, after coding N″ pictures in said particular GOP; and, if N″<N: further adjusting said adjusted bit budget according to M=M″; and allocating bits for coding pictures in said bitstream following the N″ coded pictures according to said further adjusted bit budget.
- 15. The method of claim 1, wherein said first picture is an I-picture and said second picture is a B-picture, comprising the further step of:
providing an assumed distance M′ between said first picture and the next closest subsequent P-picture of said bitstream, in a display order of said bitstream; wherein said bits are allocated for coding said second picture in accordance with said assumed distance M′.
- 16. The method of claim 15, comprising the further steps of:
determining an actual distance M″ between said first picture and the next closest subsequent P-picture, in said display order, according to said picture type of said second picture; and adjusting said assumed length N′ of said GOP in accordance with an actual distance M=M″ to provide an adjusted assumed length N″; wherein: said adjusting step (e) is responsive to said adjusted assumed length N′.
- 17. The method of claim 16, wherein:
said assumed length N′ of said particular GOP is adjusted in said adjusting step thereof by a factor, M(N′/M′), to provide said adjusted assumed length N″.
- 18. The method of claim 16, wherein said adjusting step (e) comprises the step of:
adjusting said assumed bit budget by a factor (N′−N′)*“bit rate”/“frame rate”, where “bit rate” is a bit rate of said bitstream, and “frame rate” is a frame rate of said bitstream.
- 19. The method of claim 16, comprising the further step of:
allocating bits for coding the remaining pictures in said particular GOP following said second picture in accordance with said adjusted bit budget.
- 20. The method of claim 16, comprising the further step of:
determining if N″>N, an actual length of said particular GOP, after coding N″ pictures in said particular GOP; and, if N″>N: further adjusting said adjusted bit budget according to N and N″; and allocating bits for coding pictures in said bitstream following the N″ coded pictures according to said further adjusted bit budget.
- 21. The method of claim 16, comprising the further steps of:
determining if N″<N, an actual length of said particular GOP, after coding N″ pictures in said particular GOP; and, if N″<N: further adjusting said adjusted bit budget according to M=M″; and allocating bits for coding pictures in said bitstream following the N″ coded pictures according to said further adjusted bit budget.
- 22. The method of claim 1, comprising the further step of:
allocating bits for coding a GOP following said particular GOP in accordance with said adjusted bit budget.
- 23. The method of claim 1, comprising the further step of:
accounting for changes in an actual distance M″ between I-pictures and/or P-pictures in said particular GOP by determining an actual distance M″ between an I-picture or P-picture that follows said first picture in said particular GOP, in a display order of said bitstream, and a subsequent I-picture or P-picture in said particular GOP; and adjusting said assumed bit budget in accordance with said actual distance M″.
- 24. An apparatus for allocating bits for coding a sequence of pictures in a bitstream received at a digital video transcoder, comprising:
(a) means for providing an assumed length N′ of a particular group of pictures (GOP) of said bitstream; (b) means for providing an assumed bit budget as a function of said assumed length N′; (c) means for allocating bits for coding a first picture of said particular GOP in accordance with said assumed bit budget; (d) means for determining a picture type of a second picture that immediately follows said first picture; (e) means for adjusting said assumed bit budget according to said picture type of said second picture; and (f) means for allocating bits for coding said second picture in accordance with said adjusted bit budget.
- 25. The apparatus of claim 24, wherein:
said assumed bit budget is proportional to said assumed length N′ and a bit rate of said bitstream, and inversely proportional to a frame rate of said bitstream.
- 26. The apparatus of claim 24, wherein said first and second pictures are I-pictures, further comprising:
means for determining an actual distance M″ between said first picture and the next closest subsequent I-picture of said bitstream according to the picture type of said second picture; and means for adjusting said assumed bit budget in accordance with said actual distance M″.
- 27. The apparatus of claim 26, wherein:
said actual distance M″ is determined according to a difference between a temporal reference of said second picture, in a display order of said bitstream, and a temporal reference of said first picture, in said display order.
- 28. The apparatus of claim 24, wherein said adjusting means (e) comprises:
means for adjusting said assumed bit budget by −(N′−1)*“bit rate”/“frame rate”, where “bit rate” is a bit rate of said bitstream, and “frame rate” is a frame rate of said bitstream.
- 29. The apparatus of claim 24, further comprising:
means for allocating bits for coding the remaining pictures in said particular GOP following said second picture in accordance with said adjusted bit budget.
- 30. The apparatus of claim 24, further comprising:
means for providing an assumed distance M′ between said first picture and the next closest subsequent P-picture of said bitstream, in a display order of said bitstream; wherein said bits are allocated for coding said first picture by said coding means (c) in accordance with said assumed distance M′.
- 31. The apparatus of claim 30, wherein said first picture is an I-picture and said second picture is a P-picture, further comprising:
means for determining an actual distance M″ between said first picture and the next closest subsequent P-picture, in said display order, according to said picture type of said second picture; and means for adjusting said assumed length N′ of said GOP in accordance with said actual distance M″ to provide an adjusted assumed length N″; wherein: said adjusting means (e) is responsive to said adjusted assumed length N′.
- 32. The apparatus of claim 31, wherein:
said assumed length N′ of said particular GOP is adjusted by said adjusting means thereof by a factor, M(N′/M′), to provide said adjusted assumed length N″, where M=M″.
- 33. The apparatus of claim 31, wherein said adjusting means (e) comprises:
means for adjusting said assumed bit budget by a factor (N″−N′)*“bit rate”/“frame rate”, where “bit rate” is a bit rate of said bitstream, and “frame rate” is a frame rate of said bitstream.
- 34. The apparatus of claim 33, wherein said adjusting means (e) comprises:
means for adjusting said assumed bit budget by a factor, (M″−1′)*“bit rate”/“frame rate”, where “bit rate” is a bit rate of said bitstream, and “frame rate” is a frame rate of said bitstream.
- 35. The apparatus of claim 31, further comprising:
means for allocating bits for coding the remaining pictures in said particular GOP following said second picture in accordance with said adjusted bit budget.
- 36. The apparatus of claim 31, further comprising:
means for determining if N″>N, an actual length of said particular GOP, after coding N″ pictures in said particular GOP; means for further adjusting said adjusted bit budget according to N and N″ if N″>N; and means for allocating bits for coding pictures in said bitstream following the N″ coded pictures according to said further adjusted bit budget if N″>N.
- 37. The apparatus of claim 31, further comprising:
means for determining if N″<N, an actual length of said particular GOP, after coding N″ pictures in said particular GOP; means for further adjusting said adjusted bit budget according to M=M″ if N″<N; and means for allocating bits for coding pictures in said bitstream following the N″ coded pictures according to said further adjusted bit budget if N″<N.
- 38. The apparatus of claim 24, wherein said first picture is an I-picture and said second picture is a B-picture, further comprising:
means for providing an assumed distance M′ between said first picture and the next closest subsequent P-picture of said bitstream, in a display order of said bitstream; wherein said bits are allocated for coding said second picture in accordance with said assumed distance M′.
- 39. The apparatus of claim 38, further comprising:
means for determining an actual distance M″ between said first picture and the next closest subsequent P-picture, in said display order, according to said picture type of said second picture; and means for adjusting said assumed length N′ of said GOP in accordance with an actual distance M=M″ to provide an adjusted assumed length N″; wherein: said adjusting means (e) is responsive to said adjusted assumed length N′.
- 40. The apparatus of claim 39, wherein:
said assumed length N′ of said particular GOP is adjusted by said adjusting means thereof by a factor, M(N′/M′), to provide said adjusted assumed length N″.
- 41. The apparatus of claim 39, wherein said adjusting means (e) comprises:
means for adjusting said assumed bit budget by a factor (N″−N′)*“bit rate”/“frame rate”, where “bit rate” is a bit rate of said bitstream, and “frame rate” is a frame rate of said bitstream.
- 42. The apparatus of claim 39, further comprising:
means for allocating bits for coding the remaining pictures in said particular GOP following said second picture in accordance with said adjusted bit budget.
- 43. The apparatus of claim 39, further comprising:
means for determining if N″>N, an actual length of said particular GOP, after coding N″ pictures in said particular GOP; means for further adjusting said adjusted bit budget according to N and N″ if N″>N; and means for allocating bits for coding pictures in said bitstream following the N″ coded pictures according to said further adjusted bit budget if N″>N.
- 44. The apparatus of claim 39, further comprising:
means for determining if N″<N, an actual length of said particular GOP, after coding N″ pictures in said particular GOP; means for further adjusting said adjusted bit budget according to M=M″ if N″<N; and means for allocating bits for coding pictures in said bitstream following the N″ coded pictures according to said further adjusted bit budget if N″<N.
- 45. The apparatus of claim 24, further comprising:
means for allocating bits for coding a GOP following said particular GOP in accordance with said adjusted bit budget.
- 46. The apparatus of claim 24, further comprising:
means for accounting for changes in an actual distance M″ between I-pictures and/or P-pictures in said particular GOP by determining an actual distance M″ between an I-picture or P-picture that follows said first picture in said particular GOP, in a display order of said bitstream, and a subsequent I-picture or P-picture in said particular GOP; and means for adjusting said assumed bit budget in accordance with said actual distance M″.
- 47. A method for allocating bits for coding a sequence of pictures in a bitstream received at a digital video transcoder, comprising the steps of:
(a) providing a length of groups of pictures (GOPs) of said bitstream; (b) providing a distance between each I-picture and a next successive P-picture in said GOPs; (c) maintaining a count of a number of remaining I-, P- and B-pictures, respectively, in each GOP as each picture in said GOPs is coded; (d) providing an assumed bit budget in response to said steps (a), (b) and (c) for coding pictures in said GOPs; (e) verifying, and adjusting, if necessary, said length after each I-picture in said GOPs is coded; (f) verifying, and adjusting, if necessary, said distance after each I-picture and/or P-picture in said GOPs is coded; (g) verifying, and adjusting, if necessary, the count of the number of remaining I-, P- and B-pictures, in response to said steps (e) and (f); and (g) adjusting, if necessary, said assumed bit budget in response to said steps (e), (f) and (g).
- 48. The method of claim 47, wherein:
said distance is assumed when initially coding said GOPs and is corrected to an actual distance within a time for coding two pictures in said bitstream.
- 49. The method of claim 47, wherein:
said length is assumed when initially coding said GOPs and is corrected to an actual length within a time for coding one GOP in said bitstream.
- 50. An apparatus for allocating bits for coding a sequence of pictures in a bitstream received at a digital video transcoder, comprising:
(a) means for providing a length of groups of pictures (GOPs) of said bitstream; (b) means for providing a distance between each I-picture and a next successive P-picture in said GOPs; (c) means for maintaining a count of a number of remaining I-, P- and B-pictures, respectively, in each GOP as each picture in said GOPs is coded; (d) means for providing an assumed bit budget in response to said means (a), (b) and (c) for coding pictures in said GOPs; (e) means for verifying, and adjusting, if necessary, said length after each I-picture in said GOPs is coded; (f) means for verifying, and adjusting, if necessary, said distance after each I-picture and/or P-picture in said GOPs is coded; (g) means for verifying, and adjusting, if necessary, the count of the number of remaining I-, P- and B-pictures, in response to said means (e) and (f); and (g) means for adjusting, if necessary, said assumed bit budget in response to said means (e), (f) and (g).
- 51. The apparatus of claim 50, wherein:
said distance is assumed when initially coding said GOPs and is corrected to an actual distance within a time for coding two pictures in said bitstream.
- 52. The apparatus of claim 50, wherein: said length is assumed when initially coding said GOPs and is corrected to an actual length within a time for coding one GOP in said bitstream.
Parent Case Info
[0001] This application is a divisional of co-pending U.S. patent application Ser. No. 09/198,867, filed on Nov. 24, 1998.
Divisions (1)
|
Number |
Date |
Country |
| Parent |
09198867 |
Nov 1998 |
US |
| Child |
10131414 |
Apr 2002 |
US |