IP Library Granted Patent US 9,135,951
Granted Patent B2
US 9,135,951 · App. 11/546,000 · Granted Sep 15, 2015

System and method for dynamic audio buffer management

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 9,135,951
App. No.
11/546,000
Granted
Sep 15, 2015
Kind
B2
Abstract

An audio data processing circuit comprises a memory and a processing circuit. The processing circuit is configured to store audio data in the memory in at least one buffer, each buffer having a size. The processor is configured to detect a type of application providing the audio data and, based on the type of application detected, to change at least one of the size and number of buffers in which the processing circuit stores audio data.

Claims (28)

1. An audio data processing circuit for use in a mobile telephone, comprising:

a memory; and

a processing circuit configured to store audio data in the memory, the memory including at least one buffer, each buffer having a type and a size, wherein the processing circuit is configured to identify an application providing the audio data as one of a high latency application and a low latency application, and based upon the type of application identified, to select a type of buffer from the group of an operating system buffer, an audio driver buffer and a direct memory access buffer, and to change the size or the number of buffers in which the processing circuit stores the audio data, wherein the processing circuit is configured to detect that a phone call application is providing the audio data and to change the size or the number of buffers based upon the detected phone call application.

2. The circuit of claim 1 , wherein the processing circuit is configured to identify a gaming application as a low latency application.

3. The circuit of claim 1 , wherein the processing circuit is configured to identify a gaming application as a low latency application.

4. The circuit of claim 1 , wherein the processing circuit is configured to read the audio data from the at least one buffer and to store the audio data in a second at least one buffer, each of the second at least one buffers having a size, wherein, based on the type of application detected, the processing circuit is configured to change the size or the number of the second at least one buffers in which the processing circuit stores audio data.

5. The circuit of claim 4 , wherein the processing circuit is configured to read the audio data from the second at least one buffer and to store the audio data in a third at least one buffer, each of the third at least one buffers having a size, wherein, based on the type of application detected, the processing circuit is configured to change the size or the number of the third at least one buffers in which the processing circuit stores audio data.

6. The circuit of claim 1 , wherein the application providing the audio data is configured to send a message identifying itself as a high latency or low latency type.

7. The circuit of claim 1 , wherein the processing circuit is configured to monitor an audio channel to detect whether the application is a low latency application.

8. A method of audio buffer management in a mobile telephone, comprising:

providing audio data from a first application;

identifying a characteristic of the first application, wherein the characteristic represents whether the first application is a high latency application or a low latency application;

selecting a type of buffer for a first at least one buffer from the group of an operating system buffer, an audio driver buffer and a direct memory access buffer based on the characteristic of the first application;

setting a size or a number of the first at least one buffer based on the characteristic of the first application;

storing the audio data from the first application in the first at least one buffer;

providing audio data from a second application;

identifying a characteristic of the second application, wherein the characteristic represents a different latency than the first application;

selecting a type of buffer for a second at least one buffer from the group of an operating system buffer, an audio driver buffer and a direct memory access buffer based on the characteristic of the second application;

setting a size or a number of the second at least one buffer based on the characteristic of the second application; and

storing the audio data from the second application in the second at least one buffer.

9. The method of claim 8 , further comprising monitoring an audio channel to detect whether the application is a low latency application.

10. A mobile computing device, comprising:

a display;

a user input device;

a memory;

an audio output; and

a processing circuit configured to run an application which provides video data to the display, audio data to the audio output, and receives user input data from the user input device, wherein the processing circuit configured to store audio data in the memory, the memory including at least one buffer, each buffer having a type and a size, to identify an application providing the audio data as one of the high latency application and a low latency application and, based upon the type of application identified, to select a type of buffer from the group of an operating system buffer, an audio driver buffer and a direct memory access buffer, and to change the size or the number of buffers in which the processing circuit stores audio data, wherein the mobile computing device is a smartphone.

11. The mobile computing device of claim 10 , wherein the processing circuit is configured to monitor an audio channel to detect whether the application is a low latency application.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2014
From: HEWLETT-PACKARD COMPANY; HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.; PALM, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 032177/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031837/0239 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: PALM, INC.
Reel/Frame 031837/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031837/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2013
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: PALM, INC.
Reel/Frame 030341/0459 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2010
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 025204/0809 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2010
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: PALM, INC.
Reel/Frame 024630/0474 →
SECURITY AGREEMENT Recorded Jan 4, 2008
From: PALM, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 020319/0568 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2007
From: SIERRA, FRANKIE
To: PALM, INC.
Reel/Frame 019488/0383 →