Patentable/Patents/US-6937653
US-6937653

Rate control apparatus and method for real-time video communication

PublishedAugust 30, 2005
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A rate control apparatus for real-time video communication includes: an initialization unit for setting an initial value required for rate control according to a transmission speed and the number of input frames; a target bit calculation unit for obtaining the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits in consideration of a buffer state and a transmission speed; a rate control and encoder unit for executing rate control and encoding using the maximum allowable number of bits and the minimum allowable number of bits; a stuffing control unit for comparing the size of a bit stream from the rate control and encoding unit with the target number of encoding bits from the target bit calculation unit for thereby outputting stuffing bits; a buffering unit for storing a combination of the bit stream from the rate control encoding unit and the stuffing bits from the stuffing control unit for thereby outputting them to the target bit calculation unit; a frame skip unit for outputting a frame skip signal according to the buffer occupied state signal from the buffering unit; and a control logic unit for controlling an encoding process of each of the above elements and determining whether or not the next input frame is encoded according to the frame skip signal from the frame skip unit.

Patent Claims
29 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A rate control apparatus for real-time video communication, the rate control apparatus comprising: an initialization means for setting an initial value required for rate control according to a transmission speed and the number of input frames; a target bit calculation means for obtaining the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits in consideration of a buffer state and a transmission speed; a rate control and encoder means for executing rate control and encoding using the maximum allowable number of bits and the minimum allowable number of bits; a stuffing control means for comparing the size of a bit stream from the rate control and encoding means with the target number of encoding bits from the target bit calculation means for thereby outputting stuffing bits; a buffering means for storing a combination of the bit stream from the rate control encoding means and the stuffing bits from the stuffing control means for thereby outputting them to the target bit calculation means; a frame skip means for outputting a frame skip signal according to the buffer occupied state signal from the buffering means; and a control logic means for controlling an encoding process of each of the above elements and determining whether or not the next input frame is encoded according to the frame skip signal from the frame skip means, wherein the rate control and encoder means controls such that the length of a bit stream does not exceed the maximum allowable number of bits by not encoding picture information, in a case that the total number of encoding bits of the bit stream accumulated until the currently encoded macro-block is reached.

2

2. The apparatus as recited in claim 1 , wherein the target bit calculation means obtains the minimum allowable number of bits by Min_bit=max {B fd +B a −B d , B a −B fe , 0}, and the maximum allowable number of bits by MFax_bit={B fd , B e −B fe }, wherein B fd denotes the stuffed state of the decoder buffer, B a denotes the number of bits of the bit stream transmitted from the buffer during encoding of one frame, B d denotes the size of the decoder buffer, B e denotes the size of the encoder buffer, B fe denotes the stuffed state of the encode buffer, min { }denotes a function for outputting the minimum value of elements, and max { }denotes a function for outputting the maximum value of elements.

3

3. The apparatus as recited in claim 1 , wherein the stuffing control means outputs a meaningless stuffing bit stream to the buffer module as much as the number of bits more than the gap between the size of the bit stream and the minimum allowable number of bits, in a case that the size of the bit stream is smaller than the minimum allowable number of bits by comparing the minimum allowable number of bits from the target bit calculation means with the size of the bit stream from the macro-block rate control and encoder means.

4

4. The apparatus as recited in claim 1 , wherein the rate control and encoder means ensures that the length of a bit stream does not exceed the maximum allowable number of bits by discarding the bit stream for the currently encoded macro-block, in a case that the total number of bits of the bit stream accumulated until the currently encoded macro-block is reached.

5

5. The apparatus as recited in claim 4 , wherein the rate control and encoder means adds a bit stream representing that the current macro-block is not encoded in a case that the bit stream for the current macro-block is discarded.

6

6. The apparatus as recited in claim 1 , wherein the rate control and encoder means comprises: a quantization parameter calculation means for determining a quantization parameter and a signal indicating whether or not picture information of the corresponding macro-block is encoded (texture_coded), upon receipt of the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits from the target bit calculation means, upon receipt of the size of the bit stream of the previous macro-block from the encoding means, and upon receipt of a model parameter from the model update means; an encoding module for determining the width of quantization of a transform coefficient according to the quantization parameter from the quantization parameter calculation means and for encoding pictures information according to the signal indicating whether or not picture information is encoded; a model update means for updating a model upon receipt of the size of the bit stream from the encoding means and upon receipt of the quantization parameter from the quantization parameter calculation means for thereby outputting a model parameter to the quantization parameter to the quantization parameter calculation means; a macro-block skip control means for determining whether or not a macro-block is skipped upon receipt of the size of the bit stream from the encoding means and upon receipt of the maximum allowable number of bits from the target bit calculation means for thereby outputting a macro-block skip signal; and a bit stream manipulation means for combining the macro-block skip signal from the macro-block skip control means and the bit stream from the encoding means.

7

7. The apparatus as recited in claim 6 , wherein the quantization parameter calculation means includes: a threshold calculation means for calculating a threshold according to the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits from the target bit calculation means; a quantization parameter calculation means for calculating a quantization parameter (QP) according to the target number of encoding bits (target_bit), maximum allowable number of bits (max _bit), and minimum allowable number of bits (min_bit) from the target bit calculation means and a model parameter from the model update means; a latch means for storing the number of accumulated bits; an adding means for adding the size of the bit stream of the previous macro-block and the number of accumulated bits from the latch means for thereby outputting the sum thereof to the latch means; and a comparing means for comparing the number of accumulated bits from the adding means with the threshold from the threshold calculation means for thereby determining whether or not a macro-block is encoded.

8

8. The apparatus as recited in claim 7 , wherein the threshold calculation means calculates a threshold by using all or parts of the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits from the target bit calculation means.

9

9. The apparatus as recited in claim 7 , wherein the quantization parameter calculation means obtains a quantization parameter by using all or parts of the target number of encoding bits, maximum allowable number of bits, and minimum allowable number f bits from the target bit calculation means.

10

10. The apparatus as recited in claim 7 , wherein the number of accumulated bits stored in the latch means is set to “0” so that the number of accumulated bits of the next frame can be stored after encoding of one frame is completed.

11

11. The apparatus as recited in claim 7 , wherein the comparing means compares the number of accumulated bits from the adding means, and then outputs a signal indicating whether or not picture information is encoded, so as to encode the picture information, in a case that the number of accumulated bits is less than the threshold, or outputs a signal indicating whether or not picture information is encoded, so as to avoid overflow of the buffer, in a case that the number of accumulated bits is larger than the threshold.

12

12. The apparatus as recited in claim 6 , wherein the encoding means comprises: a quantization means for quantizing a transform coefficient according to the quantization parameter from the quantization parameter calculation means; and a switching means for selecting either one of a meaningless data set to “0” and the quantized transform coefficient of the quantization means according to the signal indicating whether or not picture information is encoded from the quantization parameter calculation means for outputting the same.

13

13. The apparatus as recited in claim 6 , wherein the macro-block skip control means comprises: a latch means for storing the number of accumulated bits; an adding means for adding the size of the bit stream of the current macro-block from the encoding means and the number of accumulated bits from the latch means for thereby outputting the sum thereof to the latch means; and a comparing means for comparing the number of accumulated bits from the adding means with the maximum allowable number of bits from the target bit calculation means for thereby determining whether or not the current macro-block is transmitted.

14

14. The apparatus as recited in claim 13 , wherein the comparing means outputs a macro-block skip signal so that the bit stream for the current macro-block is directly transmitted, in a case that the number of accumulated bits from the adding means is less than the maximum allowable number of bits, or outputs a macro-block skip signal so that the bit stream for the current macro-block is not outputted, in a case that the number of accumulated bits from the adding means is larger than the maximum allowable number of bits.

15

15. The apparatus as recited in claim 13 , wherein the number of accumulated bits stored in the latch means is set to “0” so that the number of accumulated bits of the next frame can be stored after encoding of one frame is completed.

16

16. The apparatus as recited in claim 6 , wherein the bit stream manipulation means selects and outputs a macro-block skip bit stream when a macro-block skip signal for making the current macro-block not transmitted is inputted from the macro-block skip means, or selects and outputs a bit stream when a macro-block skip signal for transmitting the current macro-block is inputted therefrom, upon receipt of the encoded bit stream from the encoding means, or upon receipt of the macro-block skip bit stream indicating the current macro-block is not encoded.

17

17. A rate control method for real-time video communication, comprising the steps of: a) setting an initial value required for rate control according to the transmission speed of a transmission channel and the frame rate of an image to be encoded; b) obtaining the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits in consideration of the current state of a buffer and the transmission speed of the transmission channel; c) executing rate control and encoding using the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits; d) comparing the size of an encoded bit stream with the target number of encoding bits for thereby outputting meaningless stuffing bits; e) storing a combination of the encoded bit stream and the stuffing bits and making video information transmitted; and f) determining whether or not the next input frame is encoded according to a frame skip signal generated according to the current state of the buffer, wherein, in the step c), it is controlled such that the length of a bit stream does not exceed the maximum allowable number of bits by not encoding picture information, in a case that the total number of encoding bits of the stream accumulated until the currently encoded macro-block is reached exceeds a predetermined allowable limit calculated from the maximum allowable number of bits, target number of encoding bits, or minimum allowable number of bits.

18

18. The method as recited in claim 17 , wherein the minimum allowable number of bits is obtained by Min_bit=max {B fd +B a −B d −B fe , 0}, an the maximum allowable number of bits is obtained by Max_bit=min {B fd , B e −B fe }, wherein B fd denotes the stuffed state of the decoder buffer, B a denotes the number of bits of the bit stream transmitted from the buffer during encoding of one frame, B d denotes the size of the decoder buffer, B e denotes the size of the encoder buffer, B fe denotes the stuffed state of the encoder buffer, min { }denotes a function for outputting the minimum value of elements, and max { }denotes a function for outputting the maximum value of elements.

19

19. The method as recited in claim 17 , wherein, in the step d), a meaningless stuffing bit stream is outputted to the buffer module as much as the number of bits more than the gap between the size of the bit stream and the minimum allowable number of bits, in a case that the size of the bit stream is smaller than the minimum allowable number of bits by comparing the minimum allowable number of bits from the target bit calculation means with the size of the bit stream from the macro-block rate control and encoder means.

20

20. The method as recited in claim 17 , wherein, in the step c), it is ensured that the length of a bit stream does not exceed the maximum allowable number of bits by discarding the bit stream for the currently encoded macro-block, in a case that the total number of bits of the bit stream accumulated until the currently encoded macro-block is reached.

21

21. The method as recited in claim 20 , wherein, in the step c), a bit stream representing that the current macro-block is not encoded is added, in a case that the bit stream for the current macro-block is discarded.

22

22. The method as recited in claim 17 , wherein the step c) includes: c1) determining a quantization parameter and whether or not the corresponding macro-block is encoded, according to the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits, the size of the bit stream of the previous macro-block, and a model parameter; c2) determining a quantization width of a transform efficient according to the quantization parameter, and executing encoding according to the signal indicating whether or not encoding is executed; c3) generating a model parameter by updating a model according to the size of the encoded bit stream and the quantization parameter; c4) determining whether or not a macro-block is skip signal by comparing the size of the encoded bit stream with the maximum allowable number of bits; and c5) combining the macro-block skip signal and the encoded bit stream.

23

23. The method as recited in claim 22 , wherein the step g) includes: g1) obtaining a threshold according to the target number of encoding bits, maximum allowable number of bits, and minimum allowable of bits; g2) obtaining a quantization parameter according to the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits and the model parameter; g3) obtaining a new number of accumulated bits by adding the size of the encoded bit stream for the previous macro-block and the encoded bit stream for the previous macro-block and the number of accumulated bits; and g4) determining whether or not a macro-block is encoded by comparing the newly obtained number of accumulated bits with the obtained threshold.

24

24. The method as recited in claim 23 , wherein in the step g3), a signal indicating whether or not picture information is encoded is outputted so as to encode the picture information, in a case that the number of accumulated bits is less than the threshold, or a signal indicating whether or not picture information is encoded is outputted so as to avoid overflow of the buffer, in a case that the number of accumulated bits is larger than the threshold, by comparing the obtained number of accumulated bits with the threshold.

25

25. The method as recited in claim 22 , wherein the step c4) includes; c41) obtaining a new number of accumulated bits by adding the size of the encoded bit stream for the current macro-block and the number of bits accumulated until the previous macro-block is reached; and c42) determining whether or not the current macro-block is transmitted by comparing the obtained number of accumulated bits with the maximum allowable number of bits.

26

26. The method as recited in claim 25 , wherein, in the step g2), a macro-block skip signal is outputted so that the bit stream for the current macro-block is directly transmitted, in a case that the number of accumulated bits is less than the maximum allowable number of bits, or a macro-block skip signal is outputted so that the bit stream for the current macro-block is not outputted, in a case that the number of accumulated bits is larger than the maximum allowable number of bits.

27

27. The method as recited in claim 22 , wherein, in the step c5), a macro-block skip bit stream is selected and outputted when a macro-block skip signal for making the current macro-block not transmitted is inputted, or a bit stream is selected and outputted when a macro-block skip signal for transmitting the current macro-block is inputted, by combining the encoded bit stream and the macro-block skip bit stream indicating that the current macro-block is not encoded.

28

28. In a rate control apparatus having a process, for rate control for real-time video communication, a recording medium, which can be read by a computer having a program for realizing: a first function of setting an initial value required for rate control according to the transmission speed of a transmission channel and the frame rate of an image to be encoded; a second function of obtaining the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits in consideration of the current state of a buffer and the transmission speed of the transmission channel; a third function of executing rate control and encoding using the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits; a fourth function of comparing the size of an encoded bit stream with the target number of encoding bits for thereby outputting meaningless stuffing bits; a fifth function of storing a combination of the encoded bit stream and the stuffing bits and making video information transmitted; and a sixth function of determining whether or not the next input frame is encoded according to a frame skip signal generated according to the current state of the buffer, wherein the third function further comprises: a seventh function of determining a quantization parameter and whether or not the corresponding macro-block is encoded, according to the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits, the size of the bit stream of the previous macro-block, and a model parameter. an eighth function of determining a quantization width of a transform efficient according to the quantization parameter, and executing encoding according to the signal indicating whether or not encoding is executed; a ninth function of generating a model parameter by updating a model according to the size of the encoded bit stream and the quantization parameter; a tenth function of determining whether or not a macro-block is skipped for thereby generating a macro-block skip signal by comparing the size of the encoded bit stream with the maximum allowable number of bits; and an eleventh function of combining the macro-block skip signal and the encoded bit stream.

29

29. The recording medium as recited in claim 28 , wherein the seventh step comprises: a twelfth function of obtaining a threshold according to the target number of bits; maximum allowable number of bits, and minimum allowable number of bits; a thirteenth function of obtaining a quantization parameter according to the target number of encoding bits, maximum allowable number of bits, and minimum allowable number of bits and the model parameter; a fourteenth function of obtaining a new number of accumulated bits by adding the size of the encoded bit stream for the previous macro-block and the number of accumulated bits; and a fifteenth function of determining whether or not a macro-bock is encoded by comparing the newly obtained number of accumulated bits with the obtained threshold.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

May 18, 2001

Publication Date

August 30, 2005

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Rate control apparatus and method for real-time video communication” (US-6937653). https://patentable.app/patents/US-6937653

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.