Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Develop and Implementation of the Speex Vocoder on the TI C64+ DSP"— Presentation transcript:

1 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

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

3 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

4 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. רשת האינטרנט נפוצה שימוש בתשתית האינטרנט במקום תשתית יעודית הורדת עליות ע"י שימוש ברשת זאת ע"י שמיש בדוחס דיבור חינמי ע"י שימוש במעבד מוצר מדף נפוץ

5 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 רשת נפוצה – לתת דוגמא את סקייפ ישנם התאמות שיש לבצע הרשת מבוססת פקטות מידע דיגיטאלי ורצוי בעל נפח קטן ככל האפשר שימוש באותה תשתית לשירותים שונים

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

7 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 תיאור מערכת הדיבור מהראות דרך מיתרי הקול ובסוף חלל הפה למה מקבילים לכל דבר

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

9 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

10 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 להזכיר שיש ווריאציות שונות למעבד

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

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

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

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

15 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;

16 Optimization Results

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

18 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%

19 Thank You For Listening


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

Similar presentations


Ads by Google