B. Mahesh
* ******.***@*****.***
CAREER OBJECTIVE: To seek a position to utilize my skills and abilities in a company that offers a challenging role and an exciting career in Embedded Systems and DSP.
Total Professional Experience- 7.1 Years
Organization: Samsung India Software Operations
Duration: 1 year (Nov 2009 – till data)
Designation: Lead Engineer
Organization: Wipro Technologies
Duration: 5 years (Nov 2004 – Oct 2009)
Designation: Module Leader
Organization: SANDS Utility Services (India) Pvt .Ltd, Chennai.
Duration: 1.1 year (Sep 2003 – Oct 2004)
Designation: Research and Development Engineer.
TECHNICAL SKILLS
Area Specifics
Development, Porting and Optimization of DSP Algorithm’s, Video, Image, Audio and Speech Codec on various Embedded Platforms.
Imaging Algorithms - JPEG, 2D-FFT, DWT, Noise Reduction Filter, Face Detection Algorithm (Pine), SVM-Classifier, Edge detection algorithm.
Video Algorithms - MPEG-2, H.264
Audio/Speech Algorithms - MP3, AAC, DTS, AC3, WMA, Bass/Treble Filters, 6 band Equilizers, Adaptive Filter, Speech Encryption, Speech Recognition.
Preprocessing and Post-processing algorithms were experimented and implemented.
Integration of the DSP module with other modules of the Media player framework. Bug fixing in the Transmit and Receive path of Audio of Media Server and client application.
Exposed to multimedia frameworks like Openmax, Stagefright, MoCCA, QNX-MME.
Programming languages ‘C/C++’, Texas Instruments TMS320c54xx Assembly, ADSP-BF533 and latest quad-core Assembly and MIPS32 Assembly.
Development tools TI’s Code Composer Studio, VDSP++IDE, Codewarrior IDE , Microsoft Visual Studio, SANDS make DSPIK IDE, CVS, Perforce, Clearcase.
Processor TI’s TMS320C54xx(fixed point), TMS320C62xx, DM642;
ADI's ADSP21xx, SHARC, BF533, Quadcore;
MIPS32, SH4, ARM
Platform/OS Android, QNX, VxWorks, Windows Mobile, Linux
Projects at a Glance
1. Adaptive HTTP Streaming support as per 3GPP standard.
The project is an attempt to develop a 3GPP way of Adaptive HTTP streaming that provides an entire system for streaming including storage, transport, and media rate adaptation to available link bitrates for android platform (2.2 API-Level 8) and its integration plan with Stagefright media framework.
2. Openmax Media player framework development for Mobile application.
Development of Streaming Media Player in OpenMax-IL framework on Android Platform and Windows Mobile. Developed audio/video OpenMax-IL source, decoder and sink components to play mp4/3gp format into Android/Windows Mobile Platform. Tested and Analyzed performance of OpenMax framework with PVPlayer.
3. Media player application for Car Infotainment
The Media player application supports playback of Audio files present in devices like USB, SDCARD, CD/DVD, Media players and IPods. An application is designed to handle Media playback from driver, passenger and rear users. Media application uses the interfaces provided by mme and qdb components.
4. Face Detection Algorithm - Analysis and Estimation
The project involves partition of H/W and s/W part of the code. The size and MCPS information for the s/w portion of the code is estimated in C6416 platform.
5. Imaging application development for Mobile handset
Implementations are done complying to Openmax standard. Image playback application is developed and integrated to Exif Writer. Development of Image reader component to handle multiple formats. Development of Image decoder component to support open source LibPNG, LibGiff formats.
6. AAC Encoder Porting and Optimization
Optimization of AAC-LC 5.1 Channel Audio encoder and porting on to TMS DM648 platform.
7. WMA Decoder Integration - Support
Implementation of Fast Forward and Fast Rewind in WMA. Modification of ASF header object to ignore the optional meta data information. Compliance testing.
8. Face recognition - Imaging Research Work The project involves identification and implementation of algorithm for classifying the gender.
9. Porting and Optimization of MPEG2 Video Codec Assembly coding and optimization of MPEG2 video codec on latest proprietary ADI DSP architecture.
10. MP3 Audio Player Middleware for Verizon Video Applications
Design and implementation of Audio Player middleware in Motorola's DCT2500 SetTopBox. Interface of Audio player with the HTTP and RTSP streaming protocol. Porting and Optimization of Wipro's MP3 decoder IP on MIPS32 platform supported by DCT2500/DCT6400.
11. Porting and Optimization of DTS-5.1 Channel Decoder on BF533
Porting and Optimization of the DTS 5.1 Decoder code to INTEL Micro Signal Architecture and validation using Blackfin BF-533 Ez-Kit Lite board using Visual DSP 4.0 IDE. Optimization of DTS 5.1 Decoder in terms of memory as well as MCPS.
12. H.264 Encoder. Porting and optimization of H.264 video encoder in TMS320c6416/DM642
13. JPEG Compression and Decompression. Baseline JPEG Compression and decompression algorithm was implemented.
14. Finger Print Recognition This project involves both hardware and software development. A PC support hardware is developed by our team. Algorithm for identifying the parameters or feature in the fingerprint has been developed in ADSP-21065L platform.
15. Speech Recognition System
The system will record three seconds of speech signal and extract the spectral features using Mel Frequency Cepstral Coeffecient method. Then recognition is done based on the difference between the extracted and stored feature.
PROJECTs in detail
1. Adaptive HTTP Streaming support as per 3GPP standard
Description The project is an attempt to develop a 3GPP way of Adaptive HTTP streaming that provides an entire system for streaming including storage, transport, and media rate adaptation to available link bitrates for android platform (2.2 API-Level 8) and its integration plan with Stagefright media framework.
Role Programmer and Lead
Operating System(s) Android 2.2 API-Level 8
Contribution Implemented: MPD Parser, Fragmented MP4 parser.
Start Date 01/06/2010
End Date Till date
Period 6 months
Team Size 2
Other Information Followed Design, implementation, testing.
Environment and
tools Linux used for build. Android SDK integrated to Eclipse. CQ is used for Bug Tracking;
2. Openmax Media player framework development for Mobile application
Description Development of Streaming Media Player in OpenMax-IL framework on Android Platform and Windows Mobile. Developed audio/video OpenMax-IL source, decoder and sink components to play mp4/3gp format into Android/Windows Mobile Platform. Tested and Analyzed performance of OpenMax framework with PVPlayer.
Role Programmer and Lead
Operating System(s) Android 2.1 API-Level 7
Contribution Developed audio/video OpenMax-IL source, decoder and sink components to play mp4/3gp format into Android Platform.
Tested and Analyzed performance of OpenMax framework with PVPlayer.
Start Date 05/11/2009
End Date 01/06/2010
Period 8 months
Team Size 3
Other Information Analysis, Design, Implementation, Testing, Bug Fixing.
Environment and
tools Linux used for build. Android SDK integrated to Eclipse. VC++ integrated with Windows Mobile SDK. CQ is used for Bug Tracking;
3. Media player application for Car Infotainment
Description The Media player application supports playback of Audio files present in devices like USB, SDCARD, CD/DVD, Media players and IPods. An application is designed to handle Media playback from driver, passenger and rear users. Media application uses the interfaces provided by mme and qdb components.
Role Programmer
Operating System(s) QNX
Skills VC++,Maintenance,C++,Perforce,EMBEDDED,Automobiles
Environment QNX Momentics OS; Car computing architecture; LINT is used for Analysing the code; ELVIS is used for Bug Tracking;
Contribution Implemented few logics to handle: Synchronizing to media, Copying, Ripping, Edit/Delete of files present in Media. These requires understanding of MME and QDB components provided by QNX.
Start Date 01/12/2008
End Date 25/05/2009
Period 6
Team Size 4
Other Information * Followed Wipro's quality process. * Documented code changes and static analysis tool results. * Reports were generated and shared with Customer on weekly meeting.
4. Face Detection Algorithm - Analysis and Estimation
Description The project involves partition of H/W and s/W part of the code. The size and MCPS information for the s/w portion of the code is estimated in C6416 platform.
Role Project Leader
Operating System(s) DSP BIOS
Skills Product design,C,.NET Framework,ASIC DESIGN,Consumer Goods,Embedded Systems
Environment Visual C - VC8, TI-CCS for C6416
Contribution 1) Profiling C code 2) Changes in HW/SW partitioning and fine tuning 3) Working out some more details of HW/SW interfaces through external memory 4) Finalizing MCPS & Memory requirements
Start Date 20/09/2008
End Date 19/11/2008
Period 2
Team Size 1
Other Information This is a scoping and estimation project.
5. Imaging application development for Mobile handset
Description - Implementations are done complying to Openmax standard. - Image playback application is developed and integrated to Exif Writer. - Development of Image reader component to handle multiple formats. - Development of Image decoder component to support open source LibPNG, LibGiff formats.
Role Project Engineer
Operating System(s) DSP BIOS
Skills C,Perforce,DSP MULTIMEDIA-CODECS,EMBEDDED,Embedded Systems
Environment A250 Imageon processor (ARM core) with Nucleus OS.
Contribution Application designing, Coding in C, Testing for different platforms, Openmax compliance test for the coded modules.
Start Date 16/05/2008
End Date 15/09/2008
Period 3
Team Size 2
Other Information The entire mobile application is in Openmax standard. Each component is referred to an independent module that can perform a specific task or role.
6. AAC Encoder Porting and Optimization
Description Optimization of AAC-LC 5.1 Channel Audio encoder and porting on to TMS DM648 platform.
Role Module Leader
Operating System(s) DSP BIOS
Skills CCS,Product design,C/C++,DSP MULTIMEDIA-CODECS,Embedded Systems
Environment CCS Version 3.3 for DM648 using DSP/BIOS
Contribution 1. Float to fixed conversion 2. C optimization 3. Compliance testing 4. Integration to the player application
Start Date 18/02/2008
End Date 13/05/2008
Period 3
Team Size 4
Other Information Achieving the target MIPS and memory figures for integration is the most challenging.
7. WMA Decoder Integration - Support
Description 1. Implementation of Fast Forward and Fast Rewind in WMA. 2. Modification of ASF header object to ignore the optional meta data information. 3. Compliance testing.
Role Project Engineer
Operating System(s) VxWorks
Skills Process Development & Integration,C/C++,DSP MULTIMEDIA-CODECS,Embedded Systems
Environment ADIT Proprietary Target Board for development of Car Entertainment system.
Contribution 1. Customized the WMA decoder to decode each packet at a time. 2. Implemented packet skipping to help Fast forward and Rewind. 3. Integration of the customization to the Audio player middleware.
Start Date 06/11/2007
End Date 15/02/2008
Period 3
Team Size 1
Other Information This is a support work for customization and integration of the WMA decoder to the target car infotainment design.
8. Face recognition - Imaging Research Work
Description The project involves identification and implementation of algorithm for classifying the gender.
Role Module Leader
Operating System(s) Windows-XP
Skills C/C++,VS.NET for Windows Installer,DSP MULTIMEDIA-CODECS
Environment Visual C
Contribution Development of classification of algorithm in C, research and guidance in identifying the algorithm. There were two approaches suggested and implemented,(SMO based and Matrix based).
Start Date 20/08/2007
End Date 20/10/2007
Period 2
Team Size 2
Other Information Classification algorithm developed is Proprietary.
9. Porting and Optimization of MPEG2 Video Codec
Description Assembly coding and optimization of MPEG2 video codec on latest proprietary ADI DSP architecture.
Role Project Engineer
Operating System(s) DSP BIOS
Skills Image Processing,Assembly Language,CVS,MPEG,DSP MULTIMEDIA-CODECS,Electronic Goods,Embedded Systems
Environment VDSP5.0
Contribution 1. Identification of scope for optimization in dequantization module of MPEG2 video decoder. 2. Implementation of the optimized dequantization design.
Start Date 11/06/2007
End Date 17/08/2007
Period 2
Team Size 4
Other Information The project involves understanding of the video decoding blocks and designing it in an efficient way to map the DSP architecture, such that performance figure is improved. Taken up dequantization (Intra and Non intra) module for design and coding it in assembly.
10. MP3 Audio Player Middleware for Verizon Video Applications
Description Design and implementation of Audio Player middleware in Motorola's DCT2500 SetTopBox. Interface of Audio player with the HTTP and RTSP streaming protocol. Porting and Optimization of Wipro's MP3 decoder IP on MIPS32 platform supported by DCT2500/DCT6400.
Role Project Engineer
Operating System(s) VxWorks
Skills platform SDK,MIPS Assembler,Assembly Language,C/C++,.NET Framework,Clear Case,Streaming,DSP MULTIMEDIA-CODECS,EMBEDDED,Embedded Systems
Environment Cygwin Compilation environment which supports DCT2500 support libraries. Code warrior for DCT6400 ASTB
Contribution 1. Audio Player Middleware development with basic trick modes, FF and FR support. 2. Integrating the Audio player middleware with HTTP/RTSP streamer and Media Manager application, that handles Music, Video and Image support. 3. ID3 header parser to extract song information from MP3 files. 3. Porting of the MP3 decoder code on MIPS32 platform in Cygwin environment which supports DCT2500 compilation. 4. Memory optimization of the decoder. 5. MIPS32 Assembly language implementation to improve the Performance of the MP3 decoder code. 6. Implementation of Audio post processing features like Bass Treble, Equalizer and balance control.
Start Date 21/01/2006
End Date 10/06/2007
Period 17
Team Size 4
Other Information The MP3 Audio Player is one of the add-on features for the STB, which enables the user to listen to any MP3 song present in the remote server. Motorola's DCT2500 and DCT6400 are the Settopboxes which has a programmable MIPS32 processor.
11. Porting and Optimization of DTS-5.1 Channel Decoder on BF533
Description Porting and Optimization of the DTS 5.1 Decoder code to INTEL Micro Signal Architecture and validation using Blackfin BF-533 Ez-Kit Lite board using Visual DSP 4.0 IDE. Optimization of DTS 5.1 Decoder in terms of memory as well as MCPS.
Role Project Engineer
Operating System(s) DSP BIOS
Skills Process Development & Integration,C/C++,VC2,DSP MULTIMEDIA-CODECS,Embedded Systems
Environment Visual DSP 4.0 IDE for BF533
Contribution 1. Converted DTS Floating point C – code to fixed point code. Modules converted are as follows: • Scaling • Inverse-ADPCM • Synthesis QMF • Post processing 2. Assembly language implementation is done for following modules: • Synthesis QMF • Interpolation IIR • Post processing 3. Assembly optimization implemented in DTS code. • Implementation of optimized 32x32 multiplications. • Issuing parallel tasks. Most of the load and store instructions are paralleled with ALU operations. • Used stack for temporary storage purpose, which can be stored and loaded in parallel with an arithmetic instruction. • Optimizing loops by loading inputs in parallel with the ALU operation inside the loop and the final iteration performed outside the loop with the loaded values. • Effectively using if condition assignment statements, which removes unwanted jumps. • Circular buffer implementation in Synthesis QMF, Interpolation IIR and Inverse ADPCM coefficient buffers.
Start Date 01/04/2005
End Date 01/01/2006
Period 9
Team Size 3
Other Information The major challenge in this project was to effectively handle Assembly level optimization for required MCPS number. Implementation of optimized multiplication (32x32bit=64bit result) and accumulation in important blocks gave significant breakthrough.
12. H.264 Encoder
Description Porting and optimization of H.264 video encoder in TMS320c6416/DM642
Role Project Engineer
Operating System(s) DSP BIOS
Skills Assembly Language,C/C++,DSP MULTIMEDIA-CODECS,Embedded Systems
Environment .NET Visual C++, CCS ver 3.0
Contribution 1. Linear assembly implementation is done for following module. • ME module (SAD calculations) • Buffer copying. 2. C++ level optimization: • Loop unrolling performed. • C++ compiler level optimization - Identifications of functions and modules executable in –o3 optimization mode and enabled optimization mode for those files alone. • Divisions are replaced with shift operations. 3. Assembly optimization: • Effectively using load and store parallel instructions in buffer copying. • SUBABS4 instruction in SAD calculations.
Start Date 01/11/2004
End Date 28/02/2005
Period 4
Team Size 5
Other Information Contributed towards the final optimization phase. The compiler optimization is more significant in many functions than assembly implementation.
13. JPEG Compression and Decompression
Description Baseline JPEG Compression and decompression algorithm was implemented.
Role Project Engineer
Operating System(s) DSP BIOS
Skills Assembly Language,C/C++,DSP MULTIMEDIA-CODECS,Embedded Systems
Environment ADSP-21065L EZ-KITLITE
Contribution Algorithm implementation in assembly language: • Conversion of RGB to YUV. • Sub-sampling U and V for 4:2:0 - format. • DCT implementation. • Quantization and zigzag scanning. • Huffman encoding.
Start Date 01/04/2004
End Date 03/10/2004
Period 6
Team Size 2
Other Information A baseline JPEG algorithm was implemented for demonstration purpose
14. Finger Print Recognition
Description This project involves both hardware and software development. A PC support hardware is developed by our team. Algorithm for identifying the parameters or feature in the fingerprint has been developed in ADSP-21065L platform.
Role Project Engineer
Operating System(s) DSP BIOS
Skills Assembly Language,C/C++,MPEG,Embedded Systems
Environment ADSP-21065L floating point DSP VDSP++ Software tool.
Contribution Involved in Algorithm implementation in assembly. • Image enhancement. • 2D-FFT implementation. • Energy calculations. • Feature extraction and comparison.
Start Date 05/11/2003
End Date 15/02/2004
Period 3
Team Size 4
Other Information This project is implemented as one of our internal project.
15. Speech Recognition System
Description The system will record three seconds of speech signal and extract the spectral features using Mel Frequency Cepstral Coeffecient method. Then recognition is done based on the difference between the extracted and stored feature.
Role Project Engineer
Operating System(s) DSP BIOS
Skills Assembly Language,EMBEDDED,Embedded Systems
Environment ADSP-2181 EZ-Kit Lite
Contribution MFCC Algorithm implementation. • Framing and windowing • 256 point FFT implementation. • Energy calculation. • 20 filter banks of MFCC. • Training and testing part.
Start Date 30/09/2003
End Date 01/11/2003
Period 3
Team Size 2
Other Information This is a study project for internal purpose.
Year
Examination
Institution
Percentage /CGPA
In 3rd Sem
MS Software Systems
BITS Pilani
7.8 (until 2nd sem)
2003
BE - Electronics & Communication engineering
Thangavelu Engineering College, Chennai (Univ. of Madras)
77%
1999
XII th
Sri Chakravarthy International Mat. Academy.
75%
1997
X th
St.Joseph’s Matriculation Hr. Sec. School.
75%
Academic Qualifications
Professional Achievements
1. Participated in Tutorial on the National Level Technical Symposium on DSP organized by SANDS in association with IEE and Texas Instruments.
2. I have participated in a pre-final year project activity in ISRO/SHAR during my academics.
3. Presented a paper titled “Content Based Image Retrieval” in Wipro.
4. Presented a paper on “DTS for theatrical system”.
5. Represented SANDS for TI’s Developers Conference held during the year 2004.
PERSONAL INFORMATION
Languages Known: English, Tamil
Date of Birth: 20-09-1981
Gender: Male
Marital Status: Married