Career Objective:
Seeking a career with a progressive organization where I can utilize my skills and knowledge to embraces new challenges for the business growth of the organization.
Summary:
More than 5 years of industrial experience working on embedded system software with expertise in following:
- A very fast learner to new technologies
- Expert in working with limited resources on embedded systems
- Well aware of CMMi level 3, DO-178 and FDA complianc processes
- Experienced in leading team of engineers and executing projects with aggressive deadline
- Design, development and testing of multi-threaded embedded applications (product applications) on Linux, windows and DSP/BIOS operating system
- Design, development and testing of multi-platform embedded applications working on various operating systems (like Monta Vista linux, windows and DSP/BIOS).
- Porting and platform optimization of applications and algorithms on various hardware platform
- Design, development, testing and porting of drivers on various hardware platform and operating systems
- Fluent in oral and written English communication
- Experienced working on product development and have good mind set to think from a product perspective
Skill Set:
Hardware Plaftorms known
nVidia's GTX8800 graphic processor,
TI’s Davinci technology processor (DM6446, DM355)
TI’s TMS320C64+ series processor (DM6437, DM648)
TI’s TMS320C64xx series processor (DM642, C6416)
Operating systems
Monta Vista Linux
Windows XP
DSP/BIOS
Software Tools or compliances known
Expert in C and C++
Device driver and application development on Linux
Device Driver and application development on DSP/BIOS
CUDA programming for NVIDIA’s processors
Code composer studio
Application development with Visual Studio (C++, C# and VB)
CMMi 3 processes
DO-178 processes for Avionics industry
FDA certification for medical appliances in US.
Experience Details:
Currently working as Project Lead at eInfochips Ltd. I have been working with eInfochips since May 2004.
Project Details:
1. Camera control unit for endoscope
The project involved development of application and driver development for endoscope on TI’s DM355 processor on Monta Visa Linux. Project had HD video capture, portable device size LCD for video display, JPEG and MPEG4 capture and display, touch screen to take inputs for user and a customized GUI running on Linux. This product also provided support for management for patient’s data base on various mass storage devices. This product will be FDA compliant product.
My Contribution:
I led the team of 4 engineers during the complete life cycle of the product. Life cycle of this project involved product requirement capturing, design, development, testing and verification testing of product.
I am involved in designing, development, validation and verification testing of client’s product.
I was one point contact for US client for this project and I was responsible for all the communication with client throughout the product life cycle.
I was involved in preparing required documents and taking measure to ensure that product is FDA compliant.
2. Video Quality Inspector
This IP measures video quality according to ITU-J.144 standard. It measures the objective video quality which is very close to human perception. It generates objective results like PSNR, SSIM and VQMg. This product involved porting of PC based video processing algorithm on to NVIDIA GTX 8800 graphic card. Algorithm is optimized to deliver 300 times faster results. VQI also involved adding support for detecting major video artifact in video stream. Analyzer is able to detection major line, column and block artifacts in real time for resolutions up to 1920 X 1080. This application captures live video, detects major video artifacts, sends the results over network and also keeps a copy of YUV frames that are found with major artifacts. This tool is designed for automating the testing of high end video devices.
This analyzer assembles hardware like DVS Centaurus video capture card, NVIDIA GTX 8800 graphic card and high end machine that can host these two hardware of x16 PCIe bus. This product is developed in 64bit Linux OS.
My Contribution:
I led a team of 4 engineers to complete this project successfully in confined time line. I was responsible for selection of appropriate hardware components for the system.
I was involved in designing, development, testing and debugging of optimized video quality inspector library and application to use that library.
3. Video management software
This project involved development of distributed processing system that deals with various types of surveillance devices like cameras, finger print readers, access card systems etc. This system is a machine independent system running on LAN. This involved development of libraries which will enable same application code can work on both windows and Linux without any code modification. These libraries also provide the back bone for inter processor communications over Ethernet. These libraries enabled system to be distributed processing system.
This system development involved development of interface application with cameras and other devices on Linux as well as windows and GUI development in C#.
My Contribution:
I was a involved in designing of libraries that enabled the system to become distributed processing system. This involved implementation of all fundamentals of distributed processing system.
I was responsible for development of network communication libraries and logging module.
4. Automated video quality measurement system
This product involved porting of PC based ITU J.144 compliant video quality measurement algorithm on to NVIDIA GTX 8800 graphic card. Algorithm was optimized to deliver 300 times faster results using CUDA programming technique. It also had support to detection major line, column and block artifacts in real time for resolutions up to 1920 X 1080. This application captures live video, detects major video artifacts and send the results over network to automation severs.
This system was completed by assembling hardware like DVS Centaurus video capture card, NVIDIA GTX 8800 graphic card and high end machine that can act as a host to these hardwares of x16 PCIe bus. Product also involved development of multi-threaded, time critical application on 64-bit operating system.
My Contribution:
I led the team of 4 engineers during the complete life cycle of the product. Life cycle of this project involved porting of algorithm, design, development and testing of a multi-threaded application on Linux.
Algorithm porting involved learning of CUDA programming and implementing video quality measurement algorithm on nVidia’s GTX 8800 processor in very short time.
5. Video test automation
The goal of this project is to develop the System Test Automation Suite, which extends client existing test Automation and builds upon the basic design and tools that are in use currently at client site. The purpose of developing, adding and enhancing the automation test suite is to test end-to-end integrated systems that are deployed by client at its customer sites. Our client manufactures encoders that convert base band video signal into MPEG digital video. Then the signal is piped through multiplexers and scramblers and RF edge devices, which are their own products. The sources are routed through analog audio video routers and IP switches and RF switches.
My Contribution:
I had to understand the system on client site in US and download stuff to India team
6. BSP porting for DM350
TI’s DM350 is a low cost ARM926EJ-S family digital media chip that was targeted for digital still camera, video surveillance camera, mobile system etc. The scope of this project was to develop PrOS (an ITRON complaint operating system) based BSP package for DM350. This package included drivers for peripherals such as MMCSD, McBSP, EDMA, PLL, NAND flash, UART, SPI and I2C. Support for Pr2File system was also a part of this project. Pre-silicon and post silicon development and testing was involved in this project.
My Contribution:
I was responsible for understanding of base port and porting
I was responsible for development and testing of driver for configuration of different PLL clock frequencies of ARM on PrOS.
I was responsible for release packaging and release procedure according to TI's standards.
7. BSP porting for DM6437 and DM648
DM6437 and DM648 are low cost media SoC from TI multi-media devices. This project involved porting of drivers for peripherals like video processing front end, video processing back end, VLYNQ, PCI, McBSP, McASP, NAND flash, UART and I2C. It involved separate pre-silicon and post silicon development for both the chips. It also involved preparation for 1 day bring up activity where, bring for all the peripherals in done in one day once the chip is rolled out. Development was to be done on DSP/BIOS 5.31 and code composer studio.
My Contribution
I was responsible for porting for UART and VLYNQ driver in pre-silicon as well as post silicon phase of the project
I was also responsible for designing, development and testing of PCI driver for both the chips. I did for first time bring up of PCI peripheral for DM648.
I went onsite for 2 weeks to accelerate the BSP development in the program.
I was responsible to Instrumentations of all the drivers. TI introduced support for instrumentation for the first time in this BSP. With the help of instrumentation, performance measurement, profiling and debugging of drivers becomes very easy.
I was also responsible of release packaging and procedure in all the releases.
8. Xilinx FPGA interface with DM642 EVM over EMIF
This project involves development of an MPEG4 demo application that demonstrates the interfacing of the EVMDM642 with the XEVM642 board through the use of Nuvation virtual sockets. This application also demonstrates the video on demand functionality using the XEVM642 board by Xilinx.
In this project the Ogg Vorbis streams was decoded on the EVMDM642 board while the MPEG4 Video stream was looped back from the XEVMDM642 board to the PC client application.
My Contribution:
I was responsible for requirement capturing, design, development and testing of DM642 software. I did this project single handed.
9. Porting of video surveillance demo on DM6446
The scope of this project was to use the DM642 based Content Analysis based algorithm on TI's upcoming DaVinci. The DaVinci has ARM and C64+ cores. The demand of the project was to split good amount of work from DM642 alone to ARM and C64+ core and improve the performance of the overall demo.
My Contribution:
I was involved in the designing of the new split system on DM6446.
Responsible for porting of JPEG library used in this code.
Responsible for porting and troubleshooting issues that came across while porting the DM642 code to DM6446 hardware.
10. OSD library on DM642
The project was to optimize a library called Window Manager - used for On Screen Display of IP-Set top box developed using TI's DM642. The library is a set of APIs used for various image processing operations like blending, scaling, conversion, etc. The original source used to consume 20% of processing time and the goal was to consume only 10% of time. We successfully brought it down to less than 5%. We also added support for active region, efficient buffer modeling, any size to any size of scaling and blackening of screen. We also developed an interactive demo application (using serial port on TI's EVM DM642) to demonstrate all the features that are supported by window manager.
My Contribution:
I was responsible for optimization of all the image processing kernels like image blending, image scaling and image conversion kernels.
I was also responsible for implementing of optimized buffer modeling to enhance the performance.
I was also responsible of integrating the support of any size to any size scaling for video images in window manager library.
I also went onsite for customer support. During this onsite activity major design changes were made to optimize the library. This design changes were made independently by me as per the client requirement.
11. Video surveillance algorithm porting on DM642 and development of multi-platform application for PC and DM642
This project involved porting and optimization of video surveillance algorithm on DM642 platform. We improved the performance of the system by 200 times. Video surveillance algorithm had object detection and tracking features. JPEG images along with the output of video surveillance algorithm were sent to a remote PC through network where a sophisticated tool was used to video the results.
This project also involved development of application that works on PC and DSP. Abstractions of platform specific code were implemented such that the actual application code is same for PC and DSP.
My Contribution
I was responsible porting of image processing algorithm from C++ to C. I was also responsible for applying various DM642 platform specific optimization techniques to obtain 200 times better performance in 3 months.
I was also responsible for development of abstraction layer required for PC and DSP. This abstraction layer made sure that the application code remained same for PC and DSP.
Educational Qualifications:
B. E. (Electronics & Communication), 2004, Dharmsinh Desai Institute of Technology Nadiad, Deemed University.
Personal Details:
Gender: Male
Matrimonial status: Married
Languages known: English, Gujarati, Hindi
Reference:
References will be provided on request.