Mix buffers and command queues for audio blocks

US2017200466A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017200466-A1
Application numberUS-201715469480-A
CountryUS
Kind codeA1
Filing dateMar 24, 2017
Priority dateFeb 15, 2012
Publication dateJul 13, 2017
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The subject disclosure is directed towards a technology that may be used in an audio processing environment. Nodes of an audio flow graph are associated with virtual mix buffers. As the flow graph is processed, commands and virtual mix buffer data are provided to audio fixed-function processing blocks. Each virtual mix buffer is mapped to a physical mix buffer, and the associated command is executed with respect to the physical mix buffer. One physical mix buffer mix buffer may be used as an input data buffer for the audio fixed-function processing block, and another physical mix buffer as an output data buffer, for example.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for executing a command relating to input audio data, the method comprising: selecting a command from a command queue as a selected command, the command queue comprising a plurality of commands; determining whether input audio data associated with the selected command is ready for processing by an audio fixed-function processing block and whether an output buffer associated with the selected command is ready to receive processed data; upon the input audio data not being ready or the output buffer not being ready, selecting another command from the queue as the selected command and returning to perform said determining; and upon the input audio data being ready and the output buffer being ready, executing the selected command, including processing the input audio data at the audio fixed-function processing block into output data for the output buffer. 2 . The method of claim 1 , wherein the input audio data is maintained in an input buffer that was formerly an output buffer for at least a first other audio fixed-function processing block, and wherein determining whether the input audio data associated with the selected command is ready for processing by the audio fixed-function processing block comprises evaluating state information that indicates that the input buffer is not in use. 3 . The method of claim 2 , wherein the output buffer is used by at least a second other audio fixed-function processing block, and wherein determining whether the output buffer associated with the selected command is ready to receive processed data comprises evaluating state information that indicates whether the output buffer is ready to receive the processed data. 4 . The method of claim 1 , further comprising using a mix buffer as the output buffer. 5 . The method of claim 4 , wherein using a mix buffer as the output buffer comprises writing processed output data to the mix buffer. 6 . The method of claim 4 , wherein using a mix buffer as the output buffer comprises waiting until the mix buffer becomes available before using the mix buffer as the output buffer. 7 . The method of claim 4 , wherein a state of the mix buffer is associated with a quantity of inputs to be received by the mix buffer, the method further comprising waiting for the quantity of inputs to be received before using the mix buffer. 8 . The method of claim 7 , wherein waiting for the quantity of inputs to be received comprises skipping to a next command in the command queue. 9 . The method of claim 4 , wherein an identifier of the mix buffer is a virtual identifier and wherein a physical buffer identifier is associated with the virtual identifier. 10 . In a computing environment, a system comprising: a memory storing a command queue, the command queue comprising a plurality of commands; an audio processing subsystem comprising one or more audio fixed function processing blocks; and one or more processors programmed to execute operations comprising: selecting a command from the command queue as a selected command; determining whether input audio data associated with the selected command is ready for processing by a first audio fixed function processing block of the one or more audio fixed function processing blocks and whether an output buffer associated with the selected command is ready to receive processed data; upon the input audio data not being ready or the output buffer not being ready, selecting another command from the command queue as the selected command and returning to perform said determining; and upon the input audio data being ready and the output buffer not being ready, executing the selected command, including processing the input audio data at the first audio fixed function processing block into output data for the output buffer. 11 . The system of claim 10 , wherein the input audio data is maintained in an input buffer that was formerly an output buffer for a second audio fixed function processing block of the one or more audio fixed function processing blocks, and wherein determining whether input audio data associated with the selected command is ready for processing by the first audio fixed-function processing block comprises evaluating state information that indicates that the input buffer is not in use. 12 . The system of claim 11 , wherein the output buffer is used by a third audio fixed function processing block of the one or more audio fixed function processing blocks, and wherein determining whether the output buffer associated with the selected command is ready to receive processed data comprises evaluating state information that indicates whether the output buffer is ready to receive the processed data. 13 . The system of claim 10 , wherein the output buffer comprises a mix buffer. 14 . The system of claim 10 , wherein the one or more processors comprise at least an application processor and an audio control processor, and the audio control processor is programmed to execute one or more operations of the operations. 15 . The system of claim 14 , wherein the audio control processor provides information that does not need real time processing to the application processor. 16 . One or more computer-readable media having computer-executable instructions which, when executed, perform operations comprising: selecting a command from a command queue as a selected command, the command queue comprising a plurality of commands; determining whether input audio data associated with the selected command is ready for processing by an audio fixed-function processing block and whether an output buffer associated with the selected command is ready to receive processed data, the output buffer representing a mix buffer; upon the input audio data not being ready or the output buffer not being ready, selecting another command from the queue as the selected command and returning to perform said determining; and upon the input audio data not being ready and the output buffer not being ready, executing the selected command, including processing the input audio data at the audio fixed-function processing block into output data for the output buffer. 17 . The one or more computer-readable media of claim 16 , wherein the input audio data is maintained in an input buffer that was formerly an output buffer for a first other audio fixed-function processing block, and wherein determining whether the input audio data associated with the selected command is ready for processing by the audio fixed-function processing block comprises evaluating state information that indicates that the input buffer in not in use. 18 . The one or more computer-readable media of claim 17 wherein the output buffer is used by a second other audio fixed-function processing block, and wherein determining whether the output buffer associated with the selected command is ready to receive processed data comprises evaluating state information that indicates whether the output buffer is ready to receive processed data. 19 . The one or more computer-readable media of claim 16 , wherein executing the selected command further comprises writing the output data to the mix buffer. 20 . The one or more computer-readable media of claim 16 , wherein the operations further comprise waiting until the mix buffer becomes available before using the mix buffer as the output buffer.

Assignees

Inventors

Classifications

  • Data buffering arrangements · CPC title

  • the ratio being rational · CPC title

  • A/D conversion, D/A conversion, sampling, slicing and digital quantisation or adjusting parameters thereof · CPC title

  • the ratio being arbitrary or irrational · CPC title

  • filtering or equalising, e.g. setting the tap weights of an FIR filter · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2017200466A1 cover?
The subject disclosure is directed towards a technology that may be used in an audio processing environment. Nodes of an audio flow graph are associated with virtual mix buffers. As the flow graph is processed, commands and virtual mix buffer data are provided to audio fixed-function processing blocks. Each virtual mix buffer is mapped to a physical mix buffer, and the associated command is exe…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G11B20/10046. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jul 13 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).