IP Library Granted Patent US 8,331,442
Granted Patent B2
US 8,331,442 · App. 12/469,144 · Granted Dec 11, 2012

Optimal rate allocation for a group of channels

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 8,331,442
App. No.
12/469,144
Granted
Dec 11, 2012
Kind
B2
Abstract

The present invention relates generally to systems, methods, and computer program products for optimally allocating a fixed number of bits among a plurality of multi-media data channels. The optimal number of bits is determined by preprocessing each channel to calculate complexity data, and then the complexity data is used to determine the optimal number of bits to assign to each channel. The optimal number of bits may be determined by a closed loop controller in communication with one or more channel encoders, and the multi-media channels may contain video data conforming to the MPEG2 video format.

Claims (176)

1. A method for real-time encoding a plurality of data channels using a fixed number of total bits, comprising the steps of:

a. preprocessing each channel to generate complexity data by analyzing each channel before it is encoded;

b. aggregating the generated complexity data at a closed loop controller;

c. calculating, by the closed loop controller, a bit rate to assign to each channel based on the generated complexity data, wherein the bit rate assigned to each channel is determined by optimizing a channel distortion model comprising a function of a complexity measurement S i computed by summing frame complexities of an i th channel, a function of the time period boundaries of the first time period, and a function of the time period boundaries of the second time period, the distortion model being defined by the relation:

S

i

B

i

=

K

1

D

i

+

K

2

.

wherein B i is a number of bits, K 1 and K 2 are nonzero constants, and D i is distortion from an i th encoder;

d. communicating the calculated bit rate for each channel from the closed loop controller to an encoder; and

e. encoding each channel using the communicated bit rate.

2. The method of claim 1 , wherein each channel contains multi-media data.

3. The method of claim 2 , wherein the multi-media data is video data.

4. The method of claim 3 , wherein complexity data includes information about timing, frame type, and bit requirements for every video frame.

5. The method of claim 4 , wherein the video data has a variable bit rate.

6. The method of claim 5 , wherein the preprocessing step comprises the step of preprocessing each channel to generate complexity data by analyzing each channel for a first time period and a second time period ahead of the encoding process.

7. The method of claim 1 , wherein the first time period spans a time zero forward to an update time, a second time period adjoins the first time period and spans from the update time forward to twice the update time, and wherein video frames from time zero or earlier are encoded when the current time is twice the update time.

8. The method of claim 1 , wherein S i is computed by partitioning frames during the first time period and the second time period and summing the frame complexities C i within each partition.

9. The method of claim 8 , wherein the frame complexities C i are computed using inter-frame and intra-frame statistics.

10. The method of claim 9 , wherein the frames in the second time period are divided into M groups.

11. The method of claim 10 , wherein the number of groups M is equal to the number of channels, and the channel complexity S i is the sum of all complexities for that channel in the second time period.

12. The method of claim 10 , wherein the number of groups M is equal to the number of full or partial Groups of Pictures (GOPs) for the channel in the second time period.

13. The method of claim 10 , wherein there are M models for the rate, total target rate R T , update time T μ and the number of bits B i allocated to group M i is represented by the relation:

i

=

1

M

B

i

=

R

T

T

μ

.

14. The method of claim 13 , wherein the distortion model is used to minimize the maximum distortion on all channels in the second time period.

15. The method of claim 13 , wherein the distortion model is used to minimize the maximum distortion on all channels in the second time period by solving the distortion model using the relation:

B

i

=

(

S

i

j

=

1

M

S

j

)

R

T

T

μ

,

wherein T μ is an update interval and S j is a complexity measure in an interval j.

16. The method of claim 13 , wherein the distortion model is used to minimize the maximum error on all channels in the second time period.

17. The method of claim 13 , wherein the distortion model is used to minimize the maximum error on all channels in the second time period by solving the distortion model using the relation:

B

i

=

(

S

i

j

=

1

M

S

j

)

R

T

T

μ

,

wherein T μ is an update interval and S j is a complexity measure in an interval j.

18. A method for determining a number of bits to allocate to a group of frames in a video channel in a plurality of video channels, comprising the steps of:

a. partitioning the video channel into two time intervals before encoding, the time intervals comprising a first interval and a second interval;

b. calculating a first frame complexities within the first interval and a second frame complexities within the second interval;

c. summing the first frame complexities;

d. summing the second frame complexities;

e. dividing the second interval into a number of groups of frames;

f. modeling the bit rate for the groups of frames in the second interval based on summing complexity data, wherein the bit rate for the video channel is modeled using a channel distortion model comprising a function of a complexity measurement S i computed by summing frame complexities of an i th channel, a function of the time period boundaries of the first time period, and a function of the time period boundaries of the second time period, the distortion model being defined by the relation:

S

i

B

i

=

K

1

D

i

+

K

2

.

wherein B i is a number of bits, K 1 and K 2 are nonzero constants, and D i is distortion from an i th encoder; and

g. determining the number of bits to allocate to each of the groups of frames based on the model.

19. The method of claim 18 , wherein the partitioning step comprises the step of partitioning the video channel into two time intervals before encoding, wherein the first interval spans a time zero forward to an update time, the second interval spans the update time forward to twice the update time, and wherein video frames from time zero or earlier are encoded when the current time is twice the update time.

20. The method of claim 18 , wherein the calculating step comprises the step of calculating a first frame complexities by preprocessing frames in the first interval, and calculating a second frame complexities by preprocessing frames in the second interval.

21. The method of claim 20 , wherein complexity data includes inter-frame statistics and intra-frame statistics.

22. The method of claim 21 , wherein the inter-frame statistics and intra-frame statistics include macroblock intra-frame complexity, macroblock inter-frame complexity, and estimated motion vector information.

23. The method of claim 18 , wherein the dividing step comprises the step of dividing the second interval into a number of groups of frames equal to the number of video channels in the plurality of video channels.

24. The method of claim 18 , wherein the dividing step comprises the step of dividing the second interval into a number of groups of frames equal to the number of full or partial Groups of Pictures in the second interval.

25. The method of claim 18 , wherein the modeling step comprises the step of modeling the bit rate for the groups of frames such that the total distortion over the plurality of channels is minimized.

26. The method of claim 18 , wherein the modeling step comprises the step of modeling the bit rate for the groups of frames such that the maximum distortion over the plurality of channels is minimized.

27. The method of claim 18 , further comprising the steps of:

a. transmitting the determined number of bits to the encoder; and

b. encoding the groups of frames in the second interval using the determined number of bits.

28. A system for real-time encoding a plurality of data channels using a fixed number of total bits, the system comprising:

a. means for preprocessing each channel to generate complexity data by analyzing each channel before it is encoded;

b. means for aggregating the generated complexity data;

c. means for calculating a bit rate to assign to each channel based on the generated complexity data, wherein the bit rate assigned to each channel is determined by optimizing a channel distortion model comprising a function of a complexity measurement S i computed by summing frame complexities of an i th channel, a function of the time period boundaries of the first time period, and a function of the time period boundaries of the second time period, the distortion model being defined by the relation:

S

i

B

i

=

K

1

D

i

+

K

2

.

wherein B i is a number of bits, K 1 and K 2 are nonzero constants, and D i is distortion from an i th encoder;

d. means for communicating the calculated bit rate for each channel to the encoder; and

e. means for encoding each channel using the communicated bit rate.

29. A system for determining a number of bits to allocate to a group of frames in a video channel in a plurality of video channels, the system comprising:

a. means for partitioning the video channel into two time intervals before encoding, the time intervals comprising a first interval and a second interval;

b. means for calculating a first frame complexities within the first interval and a second frame complexities within the second interval;

c. means for summing the first frame complexities;

d. means for summing the second frame complexities;

e. means for dividing the second interval into a number of groups of frames;

f. means for modeling the bit rate for the groups of frames in the second interval based on summing complexity data, wherein the bit rate for the video channel is modeled using a channel distortion model comprising a function of a complexity measurement S i computed by summing frame complexities of an i th channel, a function of the time period boundaries of the first time period, and a function of the time period boundaries of the second time period, the distortion model being defined by the relation:

S

i

B

i

=

K

1

D

i

+

K

2

.

wherein B i is a number of bits, K 1 and K 2 are nonzero constants, and D i is distortion from an i th encoder; and

g. means determining the number of bits to allocate to each of the groups of frames based on the model.

Assignments (13)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
CHANGE OF NAME Recorded Jun 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049586/0470 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
MERGER Recorded Apr 16, 2013
From: ARRIS GROUP, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 030228/0330 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2010
From: EG TECHNOLOGY, INC.
To: ARRIS GROUP, INC.
Reel/Frame 024864/0491 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2009
From: MONACO, JOSEPH WILSON
To: EG TECHNOLOGY, INC.
Reel/Frame 023118/0023 →