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
- Quantum Readiness Considerations for Suppliers and Manufacturers
- A Rad Hard ASIC Design Approach: Triple Modular Redundancy (TMR)
- Early Interactive Short Isolation for Faster SoC Verification
- The Ideal Crypto Coprocessor with Root of Trust to Support Customer Complete Full Chip Evaluation: PUFcc gained SESIP and PSA Certified™ Level 3 RoT Component Certification
- Advanced Packaging and Chiplets Can Be for Everyone
Most Popular
- System Verilog Assertions Simplified
- System Verilog Macro: A Powerful Feature for Design Verification Projects
- UPF Constraint coding for SoC - A Case Study
- Dynamic Memory Allocation and Fragmentation in C and C++
- Enhancing VLSI Design Efficiency: Tackling Congestion and Shorts with Practical Approaches and PnR Tool (ICC2)