C-based coprocessor design, part 2: Datapath customization
Update: Exar Corporation Acquires Altior Inc. to Provide Additional Growth in Data Compression (February 19, 2013)
Part 2 shows how CebaTech's C2R C-to-RTL compiler was used to customize and validate the datapath of a G723.1 and G729.A speech coding accelerator.By V. A. Chouliaras, Loughborough University, and Chad Spackman, CTO, CebaTech Inc.
April 24, 2008 -- dspdesignline.com
Customizing the LE2: The ITUVECTOR Plug-in Datapath
A unique aspect of the LE2 is its ability to adapt to various workloads through the use of C-designed plug-in vector datapaths. This section elaborates on the design of a custom vector ISA for accelerating the G723.1 and G729.A speech coding standards and the design of a custom datapath to implement that ISA.
The G.7231.1 [13] and the G.729A [14], standard speech coding algorithms, as recommended by the ITU-T, belong to the category of linear-prediction analysis-by-synthesis (LPAS) speech coders. The G.729A algorithm is used to code speech signals at 8 kbit/s using a reduced complexity version of the conjugate-structure, algebraic-code-excited linear-prediction (CS-ACELP) G.729 recommendation. The coder operates on speech frames of 10ms where the speech signal is analyzed to extract the code-excited linear-prediction (CELP) model parameters, which are then encoded and transmitted. The decoder receives the parameters, which are then used to reconstruct the speech signal.
The G.723.1 standard was developed to form part of the H.324 standard for multimedia compression and transmission. This recommendation specifies a dual-rate codec which operates at either 5.3 Kbit/s or 6.3 Kbit/s. Both these rates use different techniques to determine the parameters to encode and transmit. The higher bit-rate uses the maximum likelihood quantization (MPC-MLQ) method while the lower bit-rate, like the G.729A, uses the ACELP method. Such coding schemes have been widely adopted as they produce high quality speech at low bit-rates, despite a burden of higher computational complexity.
![]() |
E-mail This Article | ![]() |
![]() |
Printer-Friendly Page |
|
Related Articles
- C-based coprocessor design, part 1: SIMD architecture
- Providing memory system and compiler support for MPSoc designs: Customization of memory architectures (Part 2)
- Paving the way for the next generation audio codec for True Wireless Stereo (TWS) applications - PART 2 : Increasing play time
- Specifying a PLL Part 2: Jitter Basics
- Part 2: Opening the 5G Radio Interface
New Articles
- Why RISC-V is a viable option for safety-critical applications
- Dimensioning in 3D space: Object Volumetric Measurement by Leveraging Depth Camera-based Reconstruction on NVIDIA Edge devices
- What is JESD204B? Quick summary of the standard
- Post-Quantum Cryptography - Securing Semiconductors in a Post-Quantum World
- Analysis and Summary on Clock Generator Circuits and PLL Design
Most Popular
- System Verilog Assertions Simplified
- Enhancing VLSI Design Efficiency: Tackling Congestion and Shorts with Practical Approaches and PnR Tool (ICC2)
- System Verilog Macro: A Powerful Feature for Design Verification Projects
- Method for Booting ARM Based Multi-Core SoCs
- An Outline of the Semiconductor Chip Design Flow