IP Library Granted Patent US 8,577,060
Granted Patent B2
US 8,577,060 · App. 12/497,064 · Granted Nov 5, 2013

Method and apparatus for dynamically determining mix sets in an audio processor

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,577,060
App. No.
12/497,064
Granted
Nov 5, 2013
Kind
B2
Abstract

Methods and apparatus are disclosed for dynamically selecting the number of audio channels to mix per listener in an audio processor, such as a server-based three-dimensional audio mixer, as a function of any reasonable measurement of the load on the audio processor.

Claims (31)

1. A method of mixing a plurality of audio input channels to create at least one audio output channel for a given listener in an audio mixer comprising:

determining a processing load on the audio mixer;

selecting a number of audio input channels to mix in creating the at least one audio output channel as a function of the load on the audio processor; and

creating a mix of a multiplicity of the plurality of audio input channels on the at least one audio output channel; wherein said at least one audio output channel for said given listener is uniquely mixed for said given listener.

2. The method of claim 1 wherein the selecting a number comprises selecting a maximum number of audio input channels that may be mixed in creating the at least one audio output channel.

3. The method of claim 2 wherein the selecting comprises using a first value as the maximum number of audio channels when the processing load is below a first threshold and adjusting the maximum number of audio channels to a second value when the processing load is above the first threshold.

4. The method of claim 2 wherein the at least one output channel comprises a plurality of output channels and wherein the selecting comprises using a first value as the maximum number of audio channels for each of the audio output channels when the processing load is below a first threshold and adjusting the maximum number of audio channels to a second value for at least one of the audio output channels when the processing load is above the first threshold.

5. The method of claim 4 wherein the determining comprises determining a load on a processing thread of the audio mixer being used to mix audio for the audio output channels.

6. The method of claim 1 wherein the audio mixer is a three-dimensional audio mixer.

7. The method of claim 1 wherein the determining comprises determining at least one of memory bandwidth load in the audio mixer, CPU pipeline load in the audio mixer, bus bandwidth load in the audio mixer, and a total number of mix units being processed by the audio mixer.

8. The method of claim 1 wherein the audio mixer is located at a server on a communicating network.

9. The method of claim 8 wherein the audio mixer receives the plurality of audio input channels from clients on the communication network and sends the audio output channels to a plurality of clients on the communication network.

10. The method of claim 2 wherein the at least one output channel comprises a plurality of audio output channels and wherein the selecting comprises selecting a first value as the maximum number of audio channels to mix for all of the audio output channels when the processing load is below a predetermined threshold and selecting a second value as the maximum number of audio channels to mix for all of the audio output channels when the processing load is above the predetermined threshold.

11. The method of claim 2 wherein the at least one output channel comprises a plurality of audio output channels and wherein the selecting comprises, when the processing load is below a predetermined threshold, selecting a first value as the maximum number of audio channels to mix for all of the audio output channels and, when the processing load is below a predetermined threshold, adjusting the maximum number of audio output channels to mix to a different value for different ones of the audio output channels.

12. The method of claim 11 wherein the adjusting comprises choosing the maximum number of audio output channels to mix for each audio output channel as a further function of a level of service assigned to each audio output channel.

13. The method of claim 12 wherein each audio output channel corresponds to a subscriber account, the method further comprising:

assigning a level of service to each subscriber account.

14. A computer program product embodied in a non-transitory computer readable medium comprising:

first computer executable instructions for mixing a plurality of audio input channels to create content for at least one audio output channel for a given listener;

second computer executable instructions for determining a processing load on the first computer executable instructions; and

third computer executable instructions for selecting a number of audio input channels to mix in creating the at least one audio output channel as a function of the load on the audio processor, wherein the at least one audio output channel for said given listener is uniquely mixed for said given listener.

15. The computer program product of claim 14 wherein the second computer executable instructions select a maximum number of audio input channels that may be mixed in creating the at least one audio output channel.

16. The computer program product of claim 15 wherein the second computer executable instructions comprises computer executable instructions for selecting as the maximum number of audio channels to mix a first value when the processing load is below a first threshold and computer executable instructions for adjusting the maximum number of audio channels to a second value when the processing load is above the first threshold.

17. The computer program product of claim 15 wherein the at least one output channel comprises a plurality of output channels and wherein the computer executable instructions for selecting comprises computer executable instructions for using a first value as the maximum number of audio channels for each of the audio output channels when the processing load is below a first threshold and adjusting the maximum number of audio channels to a second value for at least one of the audio output channels when the processing load is above the first threshold.

18. The computer program product of claim 14 wherein the computer executable instructions for determining comprises computer executable instructions for determining at least one of a memory bandwidth load, a CPU pipeline load, a bus bandwidth load, and a total number of mix units being processed by the first computer executable instructions.

19. The computer program product of claim 14 wherein the at least one output channel comprises a plurality of output channels, the product further comprising:

computer executable instructions for receiving the plurality of input audio channels from clients via a communication network; and

computer executable instructions for sending the audio output content for the plurality of audio output channels to a plurality of clients via the communication network.

20. The computer program product of claim 15 wherein the at least one output channel comprises a plurality of audio output channels and wherein the computer executable instructions for selecting comprises computer executable instructions for selecting a first value as the maximum number of audio channels to mix for all of the audio output channels when the processing load is below a predetermined threshold and selecting a second value as the maximum number of audio channels to mix for all of the audio output channels when the processing load is above the predetermined threshold.

21. The computer program product of claim 15 wherein the at least one output channel comprises a plurality of audio output channels and wherein the computer executable instructions for selecting comprises computer executable instructions for, when the processing load is below a predetermined threshold, selecting a first value as the maximum number of audio channels to mix for all of the audio output channels and, when the processing load is below a predetermined threshold, adjusting the maximum number of audio output channels to mix to a different value for different ones of the audio output channels.

22. The computer program product of claim 21 wherein each audio output channel corresponds to a subscriber account and wherein the computer executable instructions for adjusting comprises computer executable instructions for choosing the maximum number of audio output channels to mix for each audio output channel as a further function of a level of service assigned to each audio output channel.

Assignments (18)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2024
From: AVAYA LLC
To: ARLINGTON TECHNOLOGIES, LLC
Reel/Frame 067022/0780 →
INTELLECTUAL PROPERTY RELEASE AND REASSIGNMENT Recorded Mar 25, 2024
From: CITIBANK, N.A.
To: AVAYA LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 066894/0117 →
INTELLECTUAL PROPERTY RELEASE AND REASSIGNMENT Recorded Mar 25, 2024
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: AVAYA LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 066894/0227 →
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2010
From: NORTEL NETWORKS LIMITED
To: AVAYA INC.
Reel/Frame 025342/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2009
From: WEINER, KEITH; SCOTT, FREDERICK; NEFF, WENDELL
To: NORTEL NETWORKS LIMITED
Reel/Frame 023188/0933 →