System for real time audio processing driven by interrupt and timer event
First Claim
1. A computer-implemented method for processing audio data, the method comprising:
- generating a capture interrupt event;
in response to the capture interrupt event, copying audio data input from a capture device into an audio buffer configured to store the audio data according to one or more specified parameters;
in response to a capture timer event, calculating an amount of audio data stored in the audio buffer, wherein the capture timer event is associated with a thread execution priority for encoding the audio data stored in the audio buffer;
comparing the amount of audio data stored in the audio buffer with a detected latency of an operating system associated with the capture device;
in response to the comparison indicating that the amount of audio data stored in the audio buffer satisfies a threshold, adjusting the thread execution priority for encoding the audio data stored in the audio buffer; and
providing the audio data stored in the audio buffer to an encoder based on the thread execution priority or the adjusted thread execution priority.
2 Assignments
0 Petitions
Accused Products
Abstract
Provided are methods and systems for processing audio using a combination of interrupts and timer events. Buffer queues and timer events are configured and utilized between audio capture and encoding processes, and also between audio decoding and playout processes to deliver a fixed-rate audio packet and higher quality audio output. Thread execution priorities may be assigned to the capture and/or playout timer events, and such priorities may be automatically adjusted to conserve processing resources. By configuring timer events to drive audio encoding and decoding processes, and utilizing buffer queues to absorb variances in the timing of audio capture and playout interrupts, the methods and systems provided are able to deliver improved audio quality while conserving processing resources.
7 Citations
20 Claims
-
1. A computer-implemented method for processing audio data, the method comprising:
-
generating a capture interrupt event; in response to the capture interrupt event, copying audio data input from a capture device into an audio buffer configured to store the audio data according to one or more specified parameters; in response to a capture timer event, calculating an amount of audio data stored in the audio buffer, wherein the capture timer event is associated with a thread execution priority for encoding the audio data stored in the audio buffer; comparing the amount of audio data stored in the audio buffer with a detected latency of an operating system associated with the capture device; in response to the comparison indicating that the amount of audio data stored in the audio buffer satisfies a threshold, adjusting the thread execution priority for encoding the audio data stored in the audio buffer; and providing the audio data stored in the audio buffer to an encoder based on the thread execution priority or the adjusted thread execution priority. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method for processing audio data, the method comprising:
-
in response to a playout timer event, calculating an amount of audio data stored in an audio buffer configured for storing audio data for payout according to one or more specified parameters, wherein the playout timer event is associated with a thread execution priority for decoding audio data received over a network; comparing the amount of audio data stored in the audio buffer with a detected latency of an operating system associated with the audio buffer; in response to the comparison indicating that the amount of audio data stored in the audio buffer satisfies a threshold, adjusting the thread execution priority for decoding audio data received over the network; and transmitting to a decoder for decoding the audio data received over the network according to the thread execution priority or the adjusted thread execution priority. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system for processing audio data, the system comprising:
-
at least one processor; and a non-transitory computer-readable medium coupled to the at least one processor having instructions stored thereon that, when executed by the at least one processor, causes the at least one processor to; generate a capture interrupt event; in response to the capture interrupt event, copy audio data input from a capture device into an audio buffer configured to store the audio data according to one or more specified parameters; in response to a capture timer event, calculate an amount of audio data stored in the audio buffer, wherein the capture timer event is associated with a thread execution priority for encoding the audio data stored in the audio buffer; compare the amount of audio data stored in the audio buffer with a detected latency of an operating system associated with the capture device; in response to the comparison indicating that the amount of audio data stored in the audio buffer satisfies a threshold, adjust the thread execution priority for encoding the audio data stored in the audio buffer; and transmit to an encoder for encoding the audio data stored in the audio buffer according to the thread execution priority or the adjusted thread execution priority. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system for processing audio data, the system comprising:
-
at least one processor; and a non-transitory computer-readable medium coupled to the at least one processor having instructions stored thereon that, when executed by the at least one processor, causes the at least one processor to; in response to a payout timer event, calculate an amount of audio data stored in an audio buffer configured for storing audio data for playout according to one or more specified parameters, wherein the playout timer event is associated with a thread execution priority for decoding audio data received over a network; compare the amount of audio data stored in the audio buffer with a detected latency of an operating system associated with the audio buffer; in response to the comparison indicating that the amount of audio data stored in the audio buffer satisfies a threshold, adjust the thread execution priority for decoding audio data received over the network; and transmit to a decoder for decoding the audio data received over the network according to the thread execution priority or the adjusted thread execution priority. - View Dependent Claims (17, 18, 19, 20)
-
Specification