IP Library Granted Patent US 10,021,400
Granted Patent B2
US 10,021,400 · App. 15/095,845 · Granted Jul 10, 2018

Method and apparatus for optimizing constant bit rate encoding

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 10,021,400
App. No.
15/095,845
Granted
Jul 10, 2018
Kind
B2
Abstract

A method and system is provided for encoding at least one video stream at a constant bit rate according to a target quality of the encoded video stream. In one embodiment a method includes identifying a target quality of an encoded at least one video stream as a probability that a bit rate of an unconstrained variable bit rate (VBR) encoded version of the temporal portion of the at least one video stream is less than a bit rate of a constant bit rate (CBR) encoded version of the temporal portion of the at least one video stream, determining a constant bit rate weighting factor W corresponding to the identified target quality of the encoded at least one video stream, determining a desired constant bit rate of the encoded at least one video stream as a ratio of the average unconstrained variable bit rate (VBR) of the temporal portion of the at least one video stream and the constant bit rate weighting factor W, and encoding the at least one video stream according to the desired constant bit rate of the encoded at least one video stream.

Claims (95)

1. A method of encoding at least one video stream at a constant bit rate according to a target quality of the encoded at least one video stream, comprising:

identifying the target quality of the encoded at least one video stream as a probability that a bit rate of an unconstrained variable bit rate (VBR) encoded version of a temporal portion of the at least one video stream is less than a bit rate of a constant bit rate (CBR) encoded version of the temporal portion of the at least one video stream;

determining a constant bit rate weighting factor W corresponding to the identified target quality of the encoded at least one video stream;

determining a desired constant bit rate of the encoded at least one video stream as a ratio of the average unconstrained variable bit rate (VBR) of the temporal portion of the at least one video stream and the constant bit rate weighting factor W; and

encoding the at least one video stream according to the desired constant bit rate of the encoded at least one video stream.

2. The method of claim 1 , wherein determining the constant bit rate weighting factor W corresponding to the identified target quality of the encoded at least one video stream comprises:

computing a relationship of a cumulative probability that the bitrate of a constant bit rate (CBR) encoded version of the temporal portion of the at least one video stream is less than the bitrate of the unconstrained variable bit rate (VBR) version of the temporal portion of the at least one video stream; and

determining the constant bit rate weighting factor W from the computed relationship of cumulative probability.

3. The method of claim 1 , wherein:

the at least one video stream comprises a plurality of video streams;

identifying a target quality of the encoded at least one video stream as the probability that a bit rate of the unconstrained variable bit rate (VBR) version of the temporal portion of the at least one video stream is less than the bit rate of the constant bit rate (CBR) encoded version of the temporal portion of the at least one video stream comprises:

identifying a target quality of a combined encoded version of the plurality of video streams as a probability that a bit rate of a variable bit rate (VBR) version of the temporal portion of the plurality video streams is less than a bit rate of the combined encoded version of the temporal portion of the plurality of video streams;

determining a constant bit rate weighting factor W corresponding to the identified target quality of the encoded video stream comprises:

determining a combined constant bit rate weighting factor W C corresponding to the identified target quality of the combined encoded version of the plurality of video streams;

determining a desired constant bit rate of the at least one encoded video stream as a ratio of an average variable bit rate (VBR) of the temporal portion of the at least one video stream and the constant bit rate weighting factor W comprises:

determining a desired combined constant bit rate of the combined encoded version of the plurality of video streams as a ratio of an average variable bit rate (VBR) of the temporal portion of the plurality of video streams and the combined constant bit rate weighting factor W C ;

encoding the at least one video stream according to the desired constant bit rate of the at least one encoded video stream comprises:

encoding the plurality of video streams according to the desired combined constant bit rate of the combined encoded version of the plurality of video streams.

4. The method of claim 3 , wherein determining the combined constant bit rate weighting factor Wc corresponding to the identified target quality of the encoded version of the plurality of video streams comprises:

computing a relationship of cumulative probability that the bitrate of the combined encoded version of the plurality of video streams is less than the bitrate of a variable bit rate (VBR) version of the temporal portion of the plurality of video streams; and

determining the combined constant bit rate weighting factor Wc from the computed relationship of cumulative probability.

5. The method of claim 4 , further comprising:

determining an optimal allocation of the plurality of video streams to a plurality of pools of a plurality of encoders, each encoding one of the plurality of video streams by minimizing an combined constant bit rate weighting factor for the plurality of pools.

6. The method of claim 4 , further comprising:

determining a first total constant bit rate weighting factor W TC1 for a first allocation of the plurality of video streams to a first plurality of pools; and

determining a second total constant bit rate weighting factor W TC2 for a second allocation of the plurality of video streams to a second plurality of pools, wherein each one of the plurality of video streams is a member of only one of the second plurality of pools; and

selecting the first configuration of the plurality of video streams in the first plurality of pools if the first total constant bit rate weighting factor W TC1 is less than the second total constant bit rate weighting factor W TC2 , and

selecting the second configuration of the plurality of video streams in the first plurality of pools if the first total constant bit rate weighting factor W TC1 is greater than the second total constant bit rate weighting factor W TC2 .

7. The method of claim 3 , wherein:

identifying a target quality of the combined encoded version of the plurality of video streams as the probability that the bit rate of a variable bit rate (VBR) version of the temporal portion of the plurality video streams is less than a bit rate of the combined encoded version of the temporal portion of the plurality of video streams comprises:

identifying a target quality of a statistically multiplexed encoded version of the plurality of video streams as a probability that a bit rate of a variable bit rate (VBR) version of the temporal portion of the plurality video streams is less than a bit rate of the statistically multiplexed encoded version of the temporal portion of the plurality of video streams;

determining the combined constant bit rate weighting factor W C corresponding to the identified target quality of the combined encoded version of the plurality of video streams comprises:

determining a statistical multiplexed constant bit rate weighting factor W SM corresponding to the identified target quality of the statistically multiplexed encoded version of the plurality of video streams;

determining a desired combined constant bit rate of the combined encoded version of the plurality of video streams as a ratio of an average variable bit rate (VBR) of the temporal portion of the plurality of video streams and the combined constant bit rate weighting factor We comprises;

determining a desired statistical multiplexer constant bit rate of the statistically multiplexed encoded version of the plurality of video streams as a ratio of an average variable bit rate (VBR) of the temporal portion of the plurality of video streams and the statistical multiplexer constant bit rate weighting factor W SM ;

encoding the plurality of video streams according to the desired combined constant bit rate of the combined encoded version of the plurality of video streams comprises:

encoding the plurality of video streams according to the desired statistical multiplexer constant bit rate of the statistically multiplexed encoded version of the plurality of video streams.

8. The method of claim 7 , wherein determining the statistical multiplexed constant bit rate weighting factor W SM corresponding to the identified target quality of the statistically multiplexed encoded version of the plurality of video streams comprises:

computing a relationship of cumulative probability that the bitrate of the statistically multiplexed encoded version of the plurality of video streams is less than the bitrate of a variable bit rate (VBR) version of the temporal portion of the plurality of video streams; and

determining the statistical multiplexed constant bit rate weighting factor W SM from the computed relationship of cumulative probability.

9. The method of claim 8 , further comprising:

determining an optimal allocation of the plurality of video streams to a plurality of pools by minimizing a combined statistically multiplexed constant bit rate weighting factor for the plurality of pools.

10. The method of claim 8 , further comprising:

determining a first total statistical multiplexed constant bit rate weighting factor W TSM1 for a first configuration of the plurality of video streams in a first plurality of pools; and

determining a second statistical multiplexer constant bit rate weighting factor W TSM2 for a second configuration of the plurality of video streams in a second plurality of pools, wherein each one of the plurality of video streams is a member of only one of the second plurality of pools; and

selecting the first configuration of the plurality of video streams in the first plurality of pools if the first statistical multiplexer constant bit rate weighting factor W TSM1 is less than the second statistical multiplexer constant bit rate weighting factor W TSM2 and selecting the second configuration of the plurality of video streams in the first plurality of pools if the first statistical multiplexer constant bit rate weighting factor W TSM1 is greater than the second statistical multiplexer constant bit rate weighting factor W TSM2 .

11. An apparatus for of encoding at least one video stream at a constant bit rate according to a target quality of the encoded at least one video stream, comprising:

a processor;

a memory communicatively coupled to the processor, the memory storing processor instructions comprising instructions for:

identifying the target quality of the encoded at least one video stream as a probability that a bit rate of an unconstrained variable bit rate (VBR) version of a temporal portion of the at least one video stream is less than a bit rate of a constant bit rate (CBR) encoded version of the temporal portion of the at least one video stream;

determining a constant bit rate weighting factor W corresponding to the identified target quality of the encoded at least one video stream;

determining a desired constant bit rate of the encoded at least one video stream as a ratio of an average variable bit rate (VBR) of the temporal portion of the at least one video stream and the constant bit rate weighting factor W; and

commanding an encoding of the at least one video stream according to the desired constant bit rate of the encoded at least one video stream.

12. The apparatus of claim 11 , wherein the instructions for determining the constant bit rate weighting factor W corresponding to the identified target quality of the encoded at least one video stream comprise instructions for:

computing a relationship of a cumulative probability that the bitrate of a constant bit rate (CBR) encoded version of the temporal portion of the at least one video stream is less than the bitrate of the unconstrained variable bit rate (VBR) version of the temporal portion of the at least one video stream; and

determining the constant bit rate weighting factor W from the computed relationship of cumulative probability.

13. The apparatus of claim 11 , wherein:

the at least one video stream comprises a plurality of video streams;

the instructions for identifying a target quality of the encoded at least one video stream as the probability that a bit rate of the unconstrained variable bit rate (VBR) version of the temporal portion of the at least one video stream is less than the bit rate of the constant bit rate (CBR) encoded version of the temporal portion of the at least one video stream comprise instructions for:

identifying a target quality of a combined encoded version of the plurality of video streams as a probability that a bit rate of a variable bit rate (VBR) version of the temporal portion of the plurality video streams is less than a bit rate of the combined encoded version of the temporal portion of the plurality of video streams;

the instructions for determining a constant bit rate weighting factor W corresponding to the identified target quality of the encoded video stream comprise instructions for:

determining a combined constant bit rate weighting factor W C corresponding to the identified target quality of the combined encoded version of the plurality of video streams;

the instructions for determining a desired constant bit rate of the at least one encoded video stream as a ratio of an average variable bit rate (VBR) of the temporal portion of the at least one video stream and the constant bit rate weighting factor W comprise instructions for:

determining a desired combined constant bit rate of the combined encoded version of the plurality of video streams as a ratio of an average variable bit rate (VBR) of the temporal portion of the plurality of video streams and the combined constant bit rate weighting factor W C ;

the instructions for commanding the encoding the at least one video stream according to the desired constant bit rate of the at least one encoded video stream comprise:

instructions for commanding the encoding the plurality of video streams according to the desired combined constant bit rate of the combined encoded version of the plurality of video streams.

14. The apparatus of claim 13 , wherein the instructions for determining the combined constant bit rate weighting factor Wc corresponding to the identified target quality of the combined encoded version of the plurality of video streams comprise instructions for:

computing a relationship of cumulative probability that the bitrate of the combined encoded version of the plurality of video streams is less than the bitrate of a variable bit rate (VBR) version of the temporal portion of the plurality of video streams; and

determining the combined constant bit rate weighting factor Wc from the computed relationship of cumulative probability.

15. The apparatus of claim 14 , wherein the instructions further comprise instructions for:

determining an optimal allocation of the plurality of video streams to a plurality of pools by minimizing an combined constant bit rate weighting factor for the plurality of pools.

16. The apparatus of claim 14 , wherein the instructions further comprise instructions for:

determining a first total constant bit rate weighting factor W TC1 for a first allocation of the plurality of video streams to a first plurality of pools, wherein each one of the plurality of video streams is a member of only one of the first plurality of pools;

determining a second total constant bit rate weighting factor W TC2 for a second allocation of the plurality of video streams to a second plurality of pools, wherein each one of the plurality of video streams is a member of only one of the second plurality of pools;

selecting the first configuration of the plurality of video streams in the first plurality of pools if the first total constant bit rate weighting factor W TC1 is less than the second total constant bit rate weighting factor W TC2 , and

selecting the second configuration of the plurality of video streams in the first plurality of pools if the first total constant bit rate weighting factor W TC1 is greater than the second total constant bit rate weighting factor W TC2 .

17. The apparatus of claim 13 , wherein:

the instructions for identifying a target quality of the combined encoded version of the plurality of video streams as the probability that the bit rate of a variable bit rate (VBR) version of the temporal portion of the plurality video streams is less than a bit rate of the combined encoded version of the temporal portion of the plurality of video streams comprise instructions for:

identifying a target quality of a statistically multiplexed encoded version of the plurality of video streams as a probability that a bit rate of a variable bit rate (VBR) version of the temporal portion of the plurality video streams is less than a bit rate of the statistically multiplexed encoded version of the temporal portion of the plurality of video streams;

the instructions for determining the combined constant bit rate weighting factor W C corresponding to the identified target quality of the combined encoded version of the plurality of video streams comprise instructions for:

determining a statistical multiplexed constant bit rate weighting factor W SM corresponding to the identified target quality of the statistically multiplexed encoded version of the plurality of video streams;

the instructions for determining a desired combined constant bit rate of the combined encoded version of the plurality of video streams as a ratio of an average variable bit rate (VBR) of the temporal portion of the plurality of video streams and the combined constant bit rate weighting factor W C comprise instructions for;

determining a desired statistical multiplexer constant bit rate of the statistically multiplexed encoded version of the plurality of video streams as a ratio of an average variable bit rate (VBR) of the temporal portion of the plurality of video streams and the statistical multiplexer constant bit rate weighting factor W SM ;

the instructions for commanding the encoding the plurality of video streams according to the desired combined constant bit rate of the combined encoded version of the plurality of video streams comprise instructions for:

commanding the encoding the plurality of video streams according to the desired statistical multiplexer constant bit rate of the statistically multiplexed encoded version of the plurality of video streams.

18. The apparatus of claim 17 , wherein the instructions for determining the statistical multiplexed constant bit rate weighting factor W SM corresponding to the identified target quality of the statistically multiplexed encoded version of the plurality of video streams comprise instructions for:

computing a relationship of cumulative probability that the bitrate of the statistically multiplexed encoded version of the plurality of video streams is less than the bitrate of a variable bit rate (VBR) version of the temporal portion of the plurality of video streams; and

determining the statistical multiplexed constant bit rate weighting factor W SM from the computed relationship of cumulative probability.

19. The apparatus of claim 18 , wherein the instructions further comprise instructions for:

determining an optimal allocation of the plurality of video streams to a plurality of pools by minimizing a combined statistically multiplexed constant bit rate weighting factor for the plurality of pools.

20. The apparatus of claim 18 , wherein the instructions further comprise:

determining a first total statistical multiplexed constant bit rate weighting factor W TSM1 for a first configuration of the plurality of video streams in a first plurality of pools, wherein each one of the plurality of video streams is a member of only one of the first plurality of pools; and

determining a second statistical multiplexer constant bit rate weighting factor W TSM2 for a second configuration of the plurality of video streams in a second plurality of pools, wherein each one of the plurality of video streams is a member of only one of the second plurality of pools; and

selecting the first configuration of the plurality of video streams in the first plurality of pools if the first statistical multiplexer constant bit rate weighting factor W TSM1 is less than the second statistical multiplexer constant bit rate weighting factor W TSM2 , and

selecting the second configuration of the plurality of video streams in the first plurality of pools if the first statistical multiplexer constant bit rate weighting factor W TSM1 is greater than the second statistical multiplexer constant bit rate weighting factor W TSM2 .

Assignments (9)
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 →
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 →
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 →
CHANGE OF NAME Recorded Jun 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049586/0470 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: MCCARTHY, SEAN T.
To: ARRIS ENTERPRISES LLC
Reel/Frame 038483/0300 →