Video Processing Engineer

AppleCupertino, CaliforniaHybrid, On-siteFull-timeMid level, 2–5 yearsListed 55 minutes ago

Apply now

About this role

Do you love problem solving in a collaborative environment and then having the results of your efforts benefitting millions around the world? At Apple, our Architecture group is responsible for connecting our hardware and software into one unified system. Join this team, and you’ll collaborate with engineers across Apple to design how all of our technologies work in unison! You’ll drive development of our renowned system-on-a-chip architecture and develop algorithms to improve image quality and enable new use cases. You’ll develop forward-looking prototype systems as well as build and deploy software development tools that will be distributed to the Apple engineering community and help build the seamless technology experiences we’re known for worldwide.

This role will be responsible for investigating techniques for improving video processing solutions along the quality vs. power axes. State-of-the-art video processing solutions often involve the use of Machine Learning, but this can be computationally intensive and not practical. There exists a computational gap between Machine Learning techniques and traditional methods. The goal is to find operating points in between that can leverage the improved quality due to Machine Learning when needed and fall back to traditional, low-compute methods when not needed. Examples of video processing solutions that can benefit from using a hybrid solution comprised of traditional techniques and Machine Learning based techniques include (but not limited to) 1) Under Display Camera enhancement 2) Motion Estimation for Codec, GGM and MCTF 3) Face ID processing. The result of finding hybrid solutions is better video quality and/or longer battery life on the Phone, Pad and Mac. You will be responsible for investigating hybrid video processing techniques that can be translated into efficient SoC architectures. You will be expected to be able to translate architectures into specifications and C-models. You will also be expected to work cross-functionally with other Architects as well as Design and DV.

• Investigate and develop hybrid video processing architectures.
• Support chip architecture team and software teams to map algorithms into well-defined architectures that can be implemented in software and/or hardware.
• Generate architecture test vectors for quality validation.
• Write bit exact C-models of defined architectures.
• Support Design and Verification teams when verifying designs against bit exact C-models.

Minimum Qualifications

BS degree
Ability to program in the following languages: Python, PyTorch and/or C/C++
Understanding of image/video/signal processing fundamentals
Understanding of neural network fundamentals

Preferred Qualifications

MS or PhD degree or 3+ years of experience
Demonstrated ability of developing new image/video processing algorithms
Experience in developing neural network based image/video processing algorithms
Communication skills and ability to work across various groups
Understanding of fixed point representation and processing and/or ability to write bit-accurate software models
Understanding of pipelining and pixel processing architectures
Knowledge of computer architecture fundamentals