Develop and Implementation of the Speex Vocoder on the TI C64+ DSP

Slides:



Advertisements
Similar presentations
Is There a Real Difference between DSPs and GPUs?
Advertisements

Philips Research ICS 252 class, February 3, The Trimedia CPU64 VLIW Media Processor Kees Vissers Philips Research Visiting Industrial Fellow
DSPs Vs General Purpose Microprocessors
Lecture 4 Introduction to Digital Signal Processors (DSPs) Dr. Konstantinos Tatas.
Intel Pentium 4 ENCM Jonathan Bienert Tyson Marchuk.
KeyStone C66x CorePac Overview
VADA Lab.SungKyunKwan Univ. 1 L3: Lower Power Design Overview (2) 성균관대학교 조 준 동 교수
Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
Overview of Popular DSP Architectures: TI, ADI, Motorola R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
Implementation of the Convolution Operation on General Purpose Processors Ernest Jamro AGH Technical University Kraków, Poland.
1 Architectural Complexity: Opening the Black Box Methods for Exposing Internal Functionality of Complex Single and Multiple Processor Systems EECC-756.
 Understanding the Sources of Inefficiency in General-Purpose Chips.
Speech in Multimedia Hao Jiang Computer Science Department Boston College Oct. 9, 2007.
Blackfin ADSP Versus Sharc ADSP-21061
Speech Coding Nicola Orio Dipartimento di Ingegneria dell’Informazione IV Scuola estiva AISV, 8-12 settembre 2008.
Understanding the Internet Low Bit Rate Coder Jan Linden Vice President of Engineering Global IP Sound Presented by Jan Skoglund Sr. Research Scientist.
A System Solution for High- Performance, Low Power SDR Yuan Lin 1, Hyunseok Lee 1, Yoav Harel 1, Mark Woh 1, Scott Mahlke 1, Trevor Mudge 1 and Krisztian.
1 SHARC ‘S’uper ‘H’arvard ‘ARC’hitecture Nagendra Doddapaneni ER hit HAR ect VARD ure SUP Arc.
20 October 2003WASPAA New Paltz, NY1 Implementation of real time partitioned convolution on a DSP board Enrico Armelloni, Christian Giottoli, Angelo.
1 Real time signal processing SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic.
Kathy Grimes. Signals Electrical Mechanical Acoustic Most real-world signals are Analog – they vary continuously over time Many Limitations with Analog.
EE 445S Real-Time Digital Signal Processing Lab Spring 2012 Lab #3.1 Digital Filters Some contents are from the book “Real-Time Digital Signal Processing.
LPC Speech Coder on the TI C6x DSP Mark Anderson, Jeff Burke EE213A / EE298-2 Prof. Ingrid Verbauwhede.
Using Programmable Logic to Accelerate DSP Functions 1 Using Programmable Logic to Accelerate DSP Functions “An Overview“ Greg Goslin Digital Signal Processing.
FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair.
Packet and Circuit Switching
DSP Development System
Direct Channel Eye Pattern Correction in High Speed Links By Steve Chacko & Ellis Goldberg Furaxa Inc. The engineering metric for physical communication.
Digital Signal Processors for Real-Time Embedded Systems By Jeremy Kohel.
Real time DSP Professors: Eng. Julian Bruno Eng. Mariano Llamedo Soria.
1 Copyright © 2011, Elsevier Inc. All rights Reserved. Appendix E Authors: John Hennessy & David Patterson.
Computer Organization Computer Organization & Assembly Language: Module 2.
Motivation Mobile embedded systems are present in: –Cell phones –PDA’s –MP3 players –GPS units.
Basics and Architectures
RICE UNIVERSITY Implementing the Viterbi algorithm on programmable processors Sridhar Rajagopal Elec 696
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
A Reconfigurable Processor Architecture and Software Development Environment for Embedded Systems Andrea Cappelli F. Campi, R.Guerrieri, A.Lodi, M.Toma,
A RISC ARCHITECTURE EXTENDED BY AN EFFICIENT TIGHTLY COUPLED RECONFIGURABLE UNIT Nikolaos Vassiliadis N. Kavvadias, G. Theodoridis, S. Nikolaidis Section.
Page 0 of 23 MELP Vocoders Nima Moghadam SN#: Saeed Nari SN#: Supervisor Dr. Saameti April 2005 Sharif University of Technology.
A Simple Computer consists of a Processor (CPU-Central Processing Unit), Memory, and I/O Memory Input Output Arithmetic Logic Unit Control Unit I/O Processor.
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
TI DSPS FEST 1999 Implementation of Channel Estimation and Multiuser Detection Algorithms for W-CDMA on Digital Signal Processors Sridhar Rajagopal Gang.
DSP Processors We have seen that the Multiply and Accumulate (MAC) operation is very prevalent in DSP computation computation of energy MA filters AR filters.
Advanced Processor Technology Architectural families of modern computers are CISC RISC Superscalar VLIW Super pipelined Vector processors Symbolic processors.
VOCODERS. Vocoders Speech Coding Systems Implemented in the transmitter for analysis of the voice signal Complex than waveform coders High economy in.
LIST OF EXPERIMENTS USING TMS320C5X Study of various addressing modes of DSP using simple programming examples Sampling of input signal and display Implementation.
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
DIGITAL SIGNAL PROCESSORS. Von Neumann Architecture Computers to be programmed by codes residing in memory. Single Memory to store data and program.
DSP Architectures Additional Slides Professor S. Srinivasan Electrical Engineering Department I.I.T.-Madras, Chennai –
OPTIMIZING DSP SCHEDULING VIA ADDRESS ASSIGNMENT WITH ARRAY AND LOOP TRANSFORMATION Chun Xue, Zili Shao, Ying Chen, Edwin H.-M. Sha Department of Computer.
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Dec 1, 2005 Part 2.
Fundamentals of Programming Languages-II
SR: 599 report Channel Estimation for W-CDMA on DSPs Sridhar Rajagopal ECE Dept., Rice University Elec 599.
Case Study: Implementing the MPEG-4 AS Profile on a Multi-core System on Chip Architecture R 楊峰偉 R 張哲瑜 R 陳 宸.
Institut für Nachrichtengeräte und Datenverarbeitung Prof. Dr.-Ing. P. Vary On the Use of Artificial Bandwidth Extension Techniques in Wideband Speech.
1 Speech Compression (after first coding) By Allam Mousa Department of Telecommunication Engineering An Najah University SP_3_Compression.
EE 345S Real-Time Digital Signal Processing Lab Fall 2008 Lab #3 Generating a Sine Wave Using the Hardware & Software Tools for the TI TMS320C6713 DSP.
Presented by: Class Presentation of Custom DSP Implementation Course on: This is a class presentation. All data are copy rights of their respective authors.
Embedded Systems Design
Vector Processing => Multimedia
Digital Signal Processors
Introduction to Digital Signal Processors (DSPs)
STUDY AND IMPLEMENTATION
VLIW DSP vs. SuperScalar Implementation of a Baseline H.263 Encoder
Understanding the Internet Low Bit Rate Coder
Introduction to 5685x Series
Implementation of a De-blocking Filter and Optimization in PLX
Presentation transcript:

Develop and Implementation of the Speex Vocoder on the TI C64+ DSP Students – Eyal Tirkel Roy Nahum Supervisors – Prof. Ilan Shallom Mr. Amir Artsi Mr. Guy Shterlich

Presentation Overview Subject covered : Goal & Motivation Speex Vocoder DSP quick overview TI C64x+ DSP Optimization process Optimization results so far מטרות תאוריה אופן העבודה ותוצאות

Project Goal Develop and Implement a Speech VoCoder, Speex, on the TI C64+ DSP Probe the VoCoder and verify compatibility. Analyze and profile the VoCoder for complexity and real-time consumption of different parts in the code. Optimization in both C & Linear assembly for real-time processing with TI C64+ DSP. מימוש דוחס קול ספיקס על מעבד DSP לימוד תאוריה של עיבוד אות דיבור לימוד של ה ספיקס והמעבד הספציפי ביצוע אופטימיזציה להשגת ביצועיים מייטביים Codec Codec INTERNET

Motivation Usage of Internet Protocol (IP) for voice transfer is increasing rapidly, thus rising the need low bit-rate voice transmission while preserving quality. Reduce product costs : Algorithm - Speex is patent-free. Hardware - TI C64+ shelf fixed-point DSP. רשת האינטרנט נפוצה שימוש בתשתית האינטרנט במקום תשתית יעודית הורדת עליות ע"י שימוש ברשת זאת ע"י שמיש בדוחס דיבור חינמי ע"י שימוש במעבד מוצר מדף נפוץ

VoIP Voice over Internet Protocol – VoIP Transmission of voice on the widely spread IP network (i.e. Internet). Packets-based communication Same network for all services TV, web, phone רשת נפוצה – לתת דוגמא את סקייפ ישנם התאמות שיש לבצע הרשת מבוססת פקטות מידע דיגיטאלי ורצוי בעל נפח קטן ככל האפשר שימוש באותה תשתית לשירותים שונים

Speex - Overview Source-Filter Speech Model Minimal info needed from past frame CELP (Code Excited Linear Prediction) algorithm Analysis by Synthesis מהו ספיקס מזה ווקודר דוחס דיבור מבוסס על מודל דיבור למה חשוב לא להיות תלוי במידע קודם

Source-Filter Speech Model The vocal cords are the source of sound (excitation signal) The vocal tract acts as a filter to spectrally shape the various sounds Haaa תיאור מערכת הדיבור מהראות דרך מיתרי הקול ובסוף חלל הפה למה מקבילים לכל דבר

Speex Codec Concept Excitation Generator – pattern selected by code Filter - for Linear prediction AbS – מכיל מפענח פנימי LP – פילטר CE – קוד המייצג סידרת עירור

DSP – Digital Signal Processor Multiple arithmetic units executing in parallel Dedicated arithmetic operations (MAC etc.) SIMD (single instruction multiple data) optimized Memory streaming optimization (IDMA, cache) Hardware controlled looping Hardware modulo addressing for circular buffers Saturation arithmetic קשר לפרויקט DSP ביחס למעבד רגיל יעודי זול אריתמטיקה MAC SIMD DMA LOOPS

TI C64+ DSP TI C64+ DSP Highlights Up to 8000 MIPS Fixed-point architecture 32-bit register size VLIW architecture – Execute 8 instructions per cycle Two parallel data paths 64 general-purpose registers 8 functional units (2 Multipliers & 6 ALUs) Internal DMA להזכיר שיש ווריאציות שונות למעבד

TI C64+ DSP TI C64+ DSP Block Diagram סכמת בלוקים בלוקים היקפיים – Dma , cache PF – 256 ביט

TI C64+ DSP - example Paralleling Instructions: טעינת פקודה SPLOOP שני בנקים של אוגרים יחידות שונות

Optimization process - Profiling TI Profiling tool output לקשר בין החומר הקודם לאופטימיזציה להסביר מה זה פרופיליניג להציג את הדוגמא לציין כי זהו תהליך איטרטיבי

Optimization Process – Selecting functions Analyzing the profiling results can show which functions have a greater impact on overall performance. שמות פונקציות

Optimization Process – Optimizing methods Sample optimization method Consider convolution : Can be coded like: 𝑦[𝑛]= 𝑚=1 𝑀 𝑥 𝑚 ℎ[𝑛−𝑚] for (n=0; n<N; n++) { for (m=0; m<M; m++) y[n] = y[n] + x[m] * h[n-m]; } for (n=0; n<N; n++) { for (m=0; m<M; m++) tempreg = tempreg + x[m] * h[n-m]; } y[n] = tempreg;

Optimization Results

Optimization Results Encoder speed-up: 4.74 Decoder speed-up : 3.21

Why the hard work? 1Ghz TI C64x+ DSP Addition of 47 calls  460% Before: 13 concurrent voice calls After: 60 concurrent voice calls Addition of 47 calls  460%

Thank You For Listening