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

by Anton Thimet & Joesph Zolyak


1.0 Introduction

The Telos Systems Zephyr Xstream Codec offers the end user multiple methods of transmitting MPEG4 AAC (Advanced Audio Coding) and AAC Low Delay (AAC-LD) encoded audio. These include:

· Single ISDN circuit over two B channels at 56 Kbps or 64 Kbps (i.e. 112 Kbps or 128 Kbps), · Single ISDN circuit over a single B channel at 56 Kbps or 64 Kbps, · Dual Port V.35 at 56 Kbps or 64 Kbps per port, · Single Port V.35 at 56, 64, 112, 128, 256, or 384 Kbps over one port, · AAC Ethernet streaming

This paper covers the method used by the Zephyr Xstream for transmitting and receiving AAC or AAC-LD encoded audio across multiple ISDN B channels or Dual Port V.35 channels. Transmitting an AAC or AAC-LD encoded audio stream over a single physical channel in the Zephyr Xstream DOES NOT use the splitting algorithm described in this document. The audio stream is transmitted over a single physical channel in exactly the same format as it was received from the AAC or AAC-LD Encoder.

2.0 Algorithm Overview

A top level block diagram of the Telos Systems Multi-channel Splitting Algorithm for AAC and AAC-LD encoded audio is shown in Figure 1. The term "Splitting", as it is used in the context of this document, refers to the process of taking an encoded high bandwidth audio stream and transmitting (inverse multiplexing) it over multiple, lower bandwidth physical channels. The term "Unsplitting" refers to the process of receiving (demultiplexing) the multiple physical channels back into the original encoded, high bandwidth audio stream. A "physical channel" is the transmission medium that is used to send and receive encoded audio between a source and destination location. The output of the splitting process is interfaced to external hardware, which in turn is responsible for handling the protocol details associated with the ISDN B channels or V.35 channels.

The underlying hardware architecture of the Zephyr Xstream has only a minor influence on the implementation details of the splitting algorithm. The Encoder and Decoder Processes are each implemented on a separate Motorola DSP56303 processor, while the Splitting and Unsplit Processes are executed on the same Motorola DSP56303 processor. The Enhanced Synchronous Serial Interface ports of the processor are configured to transmit 24-bit wide data streams between the processors, which accounts for why the splitting algorithm is centered on 24-bit wide values. The Encoder, Decoder, Splitting, and Unsplit Processes can be implemented on any type of processor so long as the data is transmitted across multiple physical channels using the format specified in this document.

There are three key elements in the splitting process. The first key element is dividing the original encoded high bit rate audio stream into multiple, lower bit rate audio streams. The second key element is the subdivision of the lower bit rate audio streams into fixed length frames prefaced with a Telos Systems specific frame header. The third key element is to reduce the total aggregate output bit rate of the AAC or AAC-LD Encoder to provide enough space to insert the Telos Systems frame header.

When dividing the original encoded audio stream, the Splitting Process treats each consecutive sequence of 24 bits as a separate value in the multi-channel stream. If the encoded audio is to be transmitted over two ISDN B channels, then every other consecutive 24 bits are assigned to each B channel for transmission. If the encoded audio is to be transmitted over four ISDN B channels, then every other fourth consecutive set of 24 bits is assigned to each B channel for transmission. (See Section 4.0 for further details). Dual Port V.35 channels are treated in the same fashion as if they were two ISDN B channels.

(more) more

View Previous PageTelos Home Page