EP1005232A2

Rate control for an MPEG transcoder without a priori knowledge of picture type

Abstract

A rate control system suitable for use with a digital video transcoder, such as one conforming to the MPEG standard. The proposed rate control system starts coding with any reasonable set of assumed Group of Pictures (GOP) parameters, thereby avoiding a processing delay of about one GOP which would otherwise be incurred to extract the complete GOP structure information from a pre-compressed bit stream. In addition, the system avoids the need to store the data corresponding to the GOP, thereby reducing the memory required for transcoding. Encoding of a first picture in a sequence or GOP begins without a priori knowledge of the picture type of subsequent pictures. A reasonable set of GOP parameters is assumed to determine an encoding bit budget. The bit budget is gradually corrected as successive pictures are coded according to their picture types. Changes in the GOP structure of pre-compressed bitstreams can be addressed, for example, when switching channels, inserting commercials, and the like. Target rates with incorrect starting GOP parameters will converge within a few GOPs.

EP1005232A2, drawing sheet 1
Sheet 1 of 124

Term

Term ended

Projected expiry passed 25 October 2019, 6.9 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

76 claims: 37 independent, 39 dependent

  1. 1
    A method for allocating bits for coding pictures in a bitstream received at a digital video transcoder, comprising the steps of:(a) providing an assumed distance M' between a first picture of said bitstream and the next closest subsequent P-picture of said bitstream in a display order of said bitstream;(b) providing an assumed bit budget as a function of said assumed distance M';(c) coding said first picture in accordance with said assumed bit budget;(d) determining a picture type of a second picture that immediately follows said first picture in said bitstream in an encoding order of said bit stream;(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. 4
    The method of one of claims 1 to 3, wherein said first picture is a P-picture and said second picture is a B-picture, comprising the further step of:determining an actual distance M'' between said first picture and said next closest subsequent P-picture, in said display order, according to said picture type of said second picture.
  3. 7
    The method of one of claims 4 to 6, wherein:said adjusting step (e) comprises the step of adjusting said assumed bit budget by +(M''-M')*"bit rate"/"frame rate" , where "bit rate" is a bit rate of said bitstream, and "frame rate" is a frame rate of said bitstream.
  4. 11
    The method of one of claims 8 to 10, comprising the further step of:allocating bits for coding the remaining M''-1 pictures following said first picture in accordance with said adjusted bit budget.
  5. 12
    The method of one of claims 1 to 5 or 8 to 11, comprising the further step of:allocating bits for coding a series of M'' pictures following an initial M'' picture that includes said first and second pictures in said bitstream in accordance with said adjusted bit budget.
  6. 13
    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.
  7. 17
    The method of one of claims 13 to 16, 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.
  8. 18
    The method of one of claims 13 to 17, 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.
  9. 19
    The method of one of claims 13 to 18, 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'.
  10. 24
    The method of one of claims 20 to 23, 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.
  11. 25
    The method of one of claims 20 to 24, 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.
  12. 26
    The method of one of claims 20 to 24, 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.
  13. 31
    The method of one of claims 28 to 30, 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.
  14. 32
    The method of one of claims 28 to 31, 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.
  15. 33
    The method of one of claims 28 to 32, 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.
  16. 34
    The method of one of claims 13 to 33, comprising the further step of:allocating bits for coding a GOP following said particular GOP in accordance with said adjusted bit budget.
  17. 35
    The method of one of claims 13 to 34, 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''.
  18. 36
    An apparatus for allocating bits for coding pictures in a bitstream received at a digital video transcoder, comprising:(a) means for providing an assumed distance M' between a first picture of said bitstream and the next closest subsequent P-picture of said bitstream in a display order of said bitstream;(b) means for providing an assumed bit budget as a function of said assumed distance M';(c) means for coding said first picture in accordance with said assumed bit budget;(d) means for determining a picture type of a second picture that immediately follows said first picture in said bitstream in an encoding order of said bit stream;(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.
  19. 39
    The apparatus of one of claims 36 to 38, wherein said first picture is a P-picture and said second picture is a B-picture, further comprising:means for determining an actual distance M'' between said first picture and said next closest subsequent P-picture, in said display order, according to said picture type of said second picture.
  20. 42
    The apparatus of one of claims 39 to 41, wherein:said adjusting means (e) comprises means for adjusting said assumed bit budget by +(M''-M')*"bit rate"/"frame rate" , where "bit rate" is a bit rate of said bitstream, and "frame rate" is a frame rate of said bitstream.
  21. 43
    The apparatus of one of claims 36 to 42, wherein said first and second pictures are P-pictures, further comprising:means for determining an actual distance M'' between said first picture and said next closest subsequent P-picture, in said display order, according to said picture type of said second picture.
  22. 46
    The apparatus of one of claims 43 to 45, further comprising:means for allocating bits for coding the remaining M''-1 pictures following said first picture in accordance with said adjusted bit budget.
  23. 47
    The apparatus of one of claims 36 to 45, further comprising:means for allocating bits for coding a series of M'' pictures following an initial M'' pictures that includes said first and second pictures in said bitstream in accordance with said adjusted bit budget.
  24. 48
    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. 52
    The apparatus of one of claims 48 to 51, 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.
  26. 53
    The apparatus of one of claims 48 to 52, 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.
  27. 54
    The apparatus of one of claims 48 to 53, 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'.
  28. 59
    The apparatus of one of claims 55 to 58, 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.
  29. 60
    The apparatus of one of claims 55 to 59, 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.
  30. 61
    The apparatus of one of claims 55 to 59, 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.
  31. 66
    The apparatus of one of claims 63 to 65, 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.
  32. 67
    The apparatus of one of claims 63 to 66, 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.
  33. 68
    The apparatus of one of claims 63 to 66, 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.
  34. 69
    The apparatus of one of claims 48 to 68, further comprising:means for allocating bits for coding a GOP following said particular GOP in accordance with said adjusted bit budget.
  35. 70
    The apparatus of one of claims 48 to 69, 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''.
  36. 71
    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).
  37. 74
    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).
Independent claims37