Multi-Channel Splitting Algorithm For AAC & AAC-LD Encoded Audio

Page 2


The multiple lower bit rate audio streams are subdivided into small, fixed length frames prefaced with a Telos Systems specific frame header. (See Figure 2). At the destination of the multi-channel audio transmission, the Unsplit Process uses the information in the Telos Systems specific frame header to reconstruct the original AAC or AAC-LD Encoded audio stream. The Telos Systems specific frame header contains information that identifies the sequence number of each frame (i.e. Frame Count field), as well as the relative word order in the original encoded stream (i.e. Channel ID number).

The Unsplit Process buffers the multiple audio streams and waits until every channel has received at least one frame with the same Frame Count value. Having located the most recently received frame that is common to each channel in each channel's receive buffer, the Unsplit Process determines the order in which the data is read from all the channel buffers. The Unsplit Process extracts the Telos Systems frame header, then copies the remaining frame data 24 bits at a time from each channel buffer into a single output buffer based on the Channel ID number in order to restore the original audio stream data sequence. (See Section 5.0). The data from this buffer is then sent to the AAC or AAC-LD Decoder.

The last key element is the responsibility of the end user who is configuring the AAC or AAC-LD Encoder. Any audio codec product wishing to transmit data to a Telos Systems Zephyr Xstream must configure the total aggregate bit rate output from the AAC or AAC-LD Encoder to account for the Telos Systems specific frame header. The equation for computing the total aggregate bit rate output from the Encoder is as follows:

   Total Capacity of          - (N channels * Overhead Factor) = Encoder Programmed Bit Rate (in bps) 
combined channels                                           channel

The Overhead Factor for a 64 Kbps physical channel is 1000 bps/chan, and for a 56 Kbps channel it is 875 bps/chan. This accounts for a 24-bit Telos Systems specific frame header being inserted every 1512 bits. Table I lists the Encoder Programmed bit rates for various types and numbers of physical channels.  

Number ofChannels

Bit Rate perChannel

Combined Capacityof Physical Channels

Encoder Programmed
Bit Rate

2

56,000 bps

112,000 bps

110,250 bps

2

64,000 bps

128,000 bps

126,000 bps

4

56,000 bps

224,000 bps

220,500 bps

4

64,000 bps

256,000 bps

252,000 bps

6

56,000 bps

336,000 bps

330,750 bps

6

64,000 bps

384,000 bps

378,000 bps

 Table 1

3.0 Algorithm Design Requirements

The Telos Systems Splitting Algorithm for AAC and AAC-LD encoded audio was designed to meet the following self-imposed technical requirements:

  1. The algorithm must work for both AAC and AAC-LD encoded audio using the same method. 

  2. Minimize the audio delay attributable to the Splitting/Unsplit Process to less than 10 milliseconds. 

  3. Minimize the reduction in channel payload capacity due to algorithm overhead to 1000 bits/sec or less per physical channel. 

  4. Support transmission of encoded audio over 2 to 6 ISDN B channels. [NOTE: The Zephyr Xstream platform currently only supports transmission over two ISDN B channels]. 

  5. Support transmission of encoded audio over Dual Port V.35 channels at either 112 or 128 Kbps. 

  6. Support inter-channel delay of transmitted audio with a maximum time difference of arrival up to 1.0 second. 

  7. Does not impact or restrict the transmission of Ancillary Data in the AAC encoded audio stream.

(more) more