×

INCREASED SPEED OF PROCESSING OF AUDIO SAMPLES RECEIVED OVER A SERIAL COMMUNICATIONS LINK BY USE OF CHANNEL MAP AND STEERING TABLE

  • US 20070260779A1
  • Filed: 04/14/2006
  • Published: 11/08/2007
  • Est. Priority Date: 04/14/2006
  • Status: Active Grant
First Claim
Patent Images

1. A method for processing sampled data received over a serial bus from a device, the method comprising:

  • receiving a device descriptor, the device descriptor containing channel ordering information describing a channel order within a frame of sample data;

    generating a channel map from the channel order, the channel map having beginning addresses for channels in a plurality of channel buffers;

    generating a sample buffer of data, the sample buffer of data indexed and having an initial index value, offset values associated with each index value and a stride size and a multiplier value related to the stride size;

    receiving packets containing data samples divided into frames; and

    while there are unprocessed packets among the received packets;

    loading a sample buffer with sample data from the received packet;

    selecting a frame within the packet according to a frame index value;

    selecting a beginning data sample within the frame;

    reading from the channel map a starting address for a buffer within the plurality of channel buffers from the channel map, the starting address located at an index within the channel map that corresponds to an index position within the frame in which the data sample is located;

    reading an address offset from the sample buffer;

    reading from the stride map a stride size associated with data samples stored in the sample buffer;

    generating an address within a buffer in the plurality of channel buffers by adding the starting address to the product of the offset value, the stride size multiplier value, and the size of the sample;

    writing data from the sample buffer into the buffer in the plurality of channel buffers at the generated address;

    if an end of frame is reached, then resetting the frame index value to an initial value, incrementing the sample buffer index;

    if an end of frame is not reached, then incrementing the sample frame index and incrementing the sample buffer index.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×