IP Library Granted Patent US 7,016,407
Granted Patent B2
US 7,016,407 · App. 09/837,496 · Granted Mar 21, 2006

Pre-processing of bit rate allocation in a multi-channel video encoder

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,016,407
App. No.
09/837,496
Granted
Mar 21, 2006
Kind
B2
Abstract

A method and apparatus for bit rate allocation, or statistical multiplexing, in a multi-channel video data encoder. A pre-processor in each channel determines a bit rate need prior to compression and encoding. A control processes the bit rate need in each channel to arrive at an allocated bit rate for each channel. The video data is then compressed and encoded according to the allocated bit rate. The bit rate demand accounts for various characteristics of the current picture data in each channel, including spatial activity, temporal activity, image size, frame rate, scene change, brightness, flash, fade, and horizontal pixel resolution. The system also biases the bit rate allocation according to inter-frame distance, whether the average spatial activity level is below a lower threshold, whether the inter-frame distance is above an upper threshold or below a lower threshold, whether the quantization of previous frames is above an upper threshold, the length of the Group of Pictures (GOP), and a user-selectable priority factor. The system also allocates any surplus bit rate among the channels to avoid having unused bandwidth.

Claims (63)

1. A method for determining a bit rate need of a plurality of variable rate video channels in a video encoder, comprising the steps of:

processing video data from a current picture in each respective channel to determine at least a spatial activity and a temporal activity thereof;

determining a bit rate demand for each current picture according to the associated spatial activity and temporal activity;

determining whether characteristics of the current pictures exist for adjusting the initial bit rate demand thereof, and if so, adjusting the initial bit rate demand,

determining an overall available bit rate for transmitting the current pictures in a multiplexed data stream;

determining, in an initial iteration, an initial allocated bit rate for each current picture according to a ratio of bit rate demand thereof to a sum of the bit rate demands from each current picture;

determining a bit rate surplus or deficit between the overall available bit rate and a sum of the initial allocated bit rates; and

adjusting, in at least one successive iteration, the initial allocated bit rate for at least some of the current pictures according to the surplus or deficit and a ratio of bit rate demand thereof to a sum of the bit rate demands thereof.

2. A method in accordance with claim 1 , comprising the further step of:

adjusting said initial bit rate demand for each current picture according to whether a scene change is detected for the current picture.

3. A method in accordance with claim 1 , comprising the further step of:

adjusting said initial bit rate demand for each current picture according to whether a fade is detected for the current picture.

4. A method in accordance with claim 1 , comprising the further step of:

adjusting said initial bit rate demand for each current picture according to whether a flash is detected for the current picture.

5. A method in accordance with claim 1 , comprising the further step of:

for at least one current picture, determining whether the associated spatial activity is below a lower threshold, and if so, increasing the associated temporal activity thereof, and adjusting the initial bit rate demand thereof according to the increased temporal activity thereof.

6. A method in accordance with claim 1 , comprising at least one of the further steps of, for at least one current picture:

adjusting the initial bit rate demand thereof upwards when the associated temporal activity exceeds an upper threshold; and

adjusting the initial bit rate demand thereof downwards when the associated temporal activity is less than a lower threshold.

7. A method in accordance with claim 1 , comprising the further step of:

for at least one current picture, adjusting the initial bit rate demand thereof upwards when a quantization level of at least one previous picture associated therewith of a same picture type exceeds an upper threshold.

8. A method in accordance with claim 1 , comprising at least one of the further steps of, for at least one current picture:

adjusting the initial bit rate demand thereof downwards when a length of an associated group of pictures exceeds a nominal level; and

adjusting the initial bit rate demand thereof upwards when a length of an associated group of pictures is less than a nominal level.

9. A method in accordance with claim 8 , comprising the further step of, for the at least one current picture:

tempering the upwards or downward adjusting of the initial bit rate demand thereof when the temporal activity thereof exceeds an upper threshold.

10. A method in accordance with claim 1 , comprising the further step of:

for at least one current picture, adjusting the initial bit rate demand thereof according to whether a horizontal pixel resolution thereof exceeds or is less than a nominal level.

11. A method in accordance with claim 1 , comprising the further step of:

for at least one current picture, adjusting the initial bit rate demand thereof upwards when an associated brightness level is less than a lower threshold.

12. A method in accordance with claim 1 , comprising the further step of:

for at least one current picture, adjusting the initial bit rate demand thereof according to a priority factor thereof which indicates a relative importance of the at least one current picture in the multiplexed data stream.

13. An apparatus for determining a bit rate need of a plurality of variable rate video channels in a video encoder, comprising:

means for processing video data from a current picture in each respective channel to determine at least a spatial activity and a temporal activity thereof;

means for determining a bit rate demand for each current picture according to the associated spatial activity and temporal activity;

means for determining whether characteristics of the current pictures exist for adjusting the initial bit rate demand thereof, and if so, adjusting the initial bit rate; means for determining an overall available bit rate for transmitting the current pictures in a multiplexed data stream;

means for determining, in an initial iteration, an initial allocated bit rate for each current picture according to a ratio of bit rate demand thereof to a sum of the bit rate demands from each current picture;

means for determining a hit rate surplus or deficit between the overall available bit rate and a sum of the initial allocated bit rates; and

means for adjusting, in at least one successive iteration, the initial allocated bit rate for at least some of the current pictures according to the surplus or deficit, and a ratio of bit rate demand thereof to a sum of the bit rate demands thereof.

14. The apparatus of claim 13 , further comprising:

means for adjusting said initial bit rate demand for each current picture according to whether a scene change is detected for the current picture.

15. The apparatus of claim 13 , further comprising:

means for adjusting said initial hit rate demand for each current picture according to whether a fade is detected for the current picture.

16. The apparatus of claim 13 , further comprising:

means for adjusting said initial bit rate demand for each current picture according to whether a flash is detected for the current picture.

17. The apparatus of claim 13 , further comprising:

means for determining, for at least one current picture, whether the associated spatial activity is below a lower threshold, and if so, increasing the associated temporal activity thereof, and adjusting the initial bit rate demand thereof according to the increased temporal activity thereof.

18. The apparatus of claim 13 , wherein, for at least one current picture, the apparatus further comprises:

means for adjusting the initial bit rate demand thereof upwards when the associated temporal activity exceeds an upper threshold; and

means for adjusting the initial bit rate demand thereof downwards when the associated temporal activity is less than a lower threshold.

19. The apparatus of claim 13 , further comprising:

means for adjusting, for at least one current picture, the initial bit rate demand thereof upwards when a quantization level of at least one previous picture associated therewith of a same picture type exceeds an upper threshold.

20. The apparatus of claim 13 , wherein, for at least one current picture, the apparatus further comprises:

means for adjusting the initial bit rate demand thereof downwards when a length of an associated group of pictures exceeds a nominal level; and

means for adjusting the initial bit rate demand thereof upwards when a length of an associated group of pictures is less than a nominal level.

21. The apparatus of claim 20 , wherein, for the at least one current picture, the apparatus further comprises:

means for tempering the upward or downward adjusting of the initial bit rate demand thereof when the temporal activity thereof exceeds an upper threshold.

22. The apparatus of claim 13 , further comprising:

means for adjusting, for at least one current picture, the initial bit rate demand thereof according to whether a horizontal pixel resolution thereof exceeds or is less than a nominal level.

23. The apparatus of claim 13 , further comprising:

means for adjusting, for at least one current picture, the initial bit rate demand thereof upward when an associated brightness level is less than a lower threshold.

24. The apparatus of claim 13 , further comprising:

means for adjusting, for at least one current picture, the initial bit rate demand thereof according to a priority factor thereof which indicates a relative importance of the at least one current picture in the multiplexed data stream.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034517/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2014
From: KAYE, JAMES E; HASKELL, PAUL E; MANANSALA, ARTHUR C
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 033568/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT CORPORATION
To: GENERAL INSTRUMENT HOLDINGS, INC.
Reel/Frame 030764/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT HOLDINGS, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 030866/0113 →