Title: Senior Software Engineer / Video
Department: Gracenote Engineering
Reports To: Director, Video Technologies
Status: Full-time, exempt
Location: Emeryville, CA
NOTE FROM RECRUITER
The keys to this position are:
- Computer vision
- Machine learning
- Content Recognition
We are seeking full-time research and development engineers to join Gracenote's Video Engineering team. As part of the Video Engineering team, you have the opportunity to architect, implement, analyze, and improve cutting-edge algorithms identifying video content. Your responsibilities will involve creating and developing your own innovative ideas in focused efforts and as part of the productization team. If warranted, your work experience might include publication of papers at scientific conferences as well as patenting your ideas.
This position will focus on productization of video analysis and pattern recognition algorithms into various embedded platforms.
Gracenote has a variety of fingerprinting technologies used to identify multimedia signals, typically recorded music, film and TV audio tracks. These technologies are used millions of times a day worldwide on everything from consumer electronics to mobile devices to PCs. To stay competitive, these technologies need to be continually improved. You will work closely with Gracenote's Media Technology Lab to analyze current performance and accuracy, enhance fingerprint generation, automated video classification, and assist in productizing these technologies to various multimedia platforms such as embedded TV operating systems. You may also be called upon to perform other embedded C SDK integration, or develop related algorithms and tools.
The successful candidate is self-motivated, thorough, and highly talented, with in-depth understanding of video analysis and video pattern recognition technology and analytical and statistical techniques, excellent programming and other technical skills, an affinity for video and multimedia technology in general, experienced with digital media files, strong communication skills, an ability to self-manage, and a strong desire to work in the exciting field of digital media technology.
The Video Engineer role focuses on analysis and development of Gracenote's video content identification products, development of software components and tools, all geared toward enhancing Gracenote’s portfolio in the video content identification space. This includes staying up-to-date in the video analysis field, creating internal white papers and integrating video fingerprinting and signal classification components into products. We require independent problem-solving skills, and the ability to formulate and implement novel ideas and solutions. We expect our Engineers to be strong, creative partners and innovators in a team of highly skilled video professionals.
- M.S. or better in Computer Science or Electrical Engineering with a strong signal processing and/or pattern recognition/statistical processing background. A BS in CS/EE is acceptable if the experience and skill levels are high.
- 3 or more years of experience in research and development of video technologies
- Expert level knowledge of C, embedded C, and debugging techniques
- Experience with signal classification and pattern recognition methods and technologies with a focus on implementations
- Experience and skills in optimizing numerically intensive signal processing code
- Proficient knowledge of Windows, Mac or Linux platforms and tools (VC++, gcc, make)
- Experience working in research oriented environments and reading and interpreting scientific papers
- Can generate, enhance, and promote innovative ideas for useful new projects and technologies
- Strong communication and technical writing skills. Ideally having published at least one paper or contributed to at least one patent application. Language should not be a barrier to productivity.
- Familiarity with Matlab or comparable digital signal processing/analysis/modeling languages
- Video/image processing, multimedia signal analysis and feature extraction/data mining a plus
- Experience in developing embedded applications, and if not assembly language skills, at least awareness of what the compiler generates and how it can be expected to perform
- Experience with fuzzy matching and their related indexing schemes