Dmitriy Kovalev

Software/Firmware Engineer @ Google | San Francisco, CA ☀

GitHub | StackOverflow | LinkedIn | Photography

Experience:

  • Main programming languages: C, C++, Python
  • Camera systems: USB/PCIe camera modules, camera arrays, industrial (Ximea, IDS) & consumer cameras (Canon EOS)
  • Image sensors (OV5647, IMX216, IMX377): I2C control and MIPI data transfer
  • Machine Learning: TensorFlow Lite & Convolutional Neural Networks
  • Embedded Systems: bootloaders, microcontrollers, logic analyzers, board bring-up
  • Linux Kernel: sound & video subsystems, I2C/GPIO/PWM/SPI drivers
  • Video compression and video codecs (e.g. VP8, VP9, or H.264)
  • Image/video processing, RAW pipeline
  • Hardware manufacturing and testing
  • Web & Node.js: HTML/CSS, JavaScript, WebSockets, React
  • Custom IDEs based on Eclipse or IntelliJ IDEA platforms (Java)

Interests:

  • Embedded systems
  • Camera systems
  • Video processing/compression/streaming
  • Robotics, drones, satellites
  • Software-defined radio
  • Photography

Open source contributions:

Experience

Software/Firmware Engineer @ Google

November 2012 — Present | San Francisco, CA ☀

Coral

Low-power TPU (Tensor Processing Unit) chips for embedded systems. Closely worked on:

Source code: https://github.com/google-coral.

AIY

Do-it-yourself Artificial Intelligence. Closely worked on:

  • Vision Kit — AI accelerator for Raspberry Pi based on Movidius Myriad 2 chip.
  • Voice Kit — Sound card which enables Google Assistant functionality on Raspberry Pi.

Source code: https://github.com/google/aiyprojects-raspbian.

Google Clips

Google Clips is an intelligent wearable camera based on Movidius Myriad 2 chip for on-device ML. Firmware development. Manufacturing: EVT, PVT, DVT (factory testing, quality control, calibration).

Daydream

Worked on several Virtual Reality projects:

  • Multi-sensor camera systems (hardware/firmware/software).
  • Google Cardboard.
  • WebVR Boilerplate.
  • Chrome Rover. Designed and built remotely controlled robot which streams stereo video via WebRTC to the Google Chrome browser running on the phone inside Google Cardboard which also controls camera movements. The demo was demonstrated at Google I/O 2014 at Cardboard booth.

VP9

VP9 is an open source widely used video codec. List of my commits and statistics from GitHub mirror.

Software Engineer @ Guidewire Inc

October 2011 — November 2012 (1 year 2 months) | San Mateo, CA ☀

Worked on IntelliJ IDEA-based IDE for Gosu programming language.

Software Engineer @ Xored Software

October 2006 — October 2011 (5 years 1 month) | Novosibirsk, Russia ❄

Developed applications on Eclipse platform. Worked with almost all Eclipse technologies (RCP, EMF, GEF, DLTK, SWT, JFace, Xtext, etc) at that time. Official committer on DLTK project. Eclipse Summit presenter in 2007, EclipseCon presenter in 2008.

iTest

iTest is an Eclipse-based integrated test environment offering a unified approach for developing, automating, and maintaining test cases.

DLTK (Dynamic Langauges Toolkit)

DLTK is an official Eclipse Foundation project which gives a framework for creating custom IDEs for dynamic languages like Python, Tcl, or Ruby. It's been included in every major Eclipse release since 2007.

Q7

Q7 is a functional and UI testing tool for Eclipse-based applications.

ACE (Application Composition Environment)

Eclipse-based IDE for building, testing, and debugging event-driven applications for Starview, Inc.

Vozone

Eclipse-based service designer tool for British Telecom.

September 2010 — January 2011, (5 months) | Novosibirsk, Russia ❄

Teaching Data Compression course for master students (in Russian).

September 2009 — January 2010 (5 months) | Novosibirsk, Russia ❄

Teaching Data Compression course for master students (in Russian).

Software Engineer @ SWsoft(→ Parallels → Odin → CloudBlue)

July 2005 — October 2006 (1 year 4 months) | Novosibirsk, Russia ❄

Software Engineer @ SWsoft NSU Lab

September 2004 — June 2005 (10 months) | Novosibirsk, Russia ❄

Software Engineering Intern @ UnisoftPlus

July 2004 — August 2004 (2 months) | Novosibirsk, Russia ❄

Software Engineering Intern @ Novosoft

March 2004 — June 2004 (4 months) | Novosibirsk, Russia ❄

Worked on HandyPassword which is a password manager plug-in for Internet Explorer.

Publications

Vestnik NSU. Series: Information Technologies | Novosibirsk, Russia

IT Security for the Next Generation — International Round 2010 | Krakow, Poland

The XII International Symposium “Problems of redundancy in information and control systems”, 2009 | Saint-Petersburg, Russia

International Scientific Students Conference | Novosibirsk, Russia

  • Kovalev, D., “Fast video coding algorithm”, 2008
  • Kovalev, D., “Economical information coding with appliance of a map fixed point”, 2007
  • Kovalev, D., “Generalization of Huffman coding with the use of numeral systems”, 2006
  • Kovalev, D., “Video compression with fixed average compression ratio”, 2005

Education 🎓

Online

Master (2005 — 2007), Computer Science

Thesis: “Theory and practice of fast video codec design”.

Bachelor (2005 — 2007), Computer Science

Thesis: “Fixed average compression ratio video compression”.