Контроллер Kinect версии 2.0 появится в игровой приставке восьмого поколения Microsoft Xbox One, официальные продажи которой начнутся в конце ноября. Как выглядит мир «глазами» нового контроллера и какие улучшения от него ожидать?
В Xbox One сделана ставка на мультиплеер, поэтому во второй версии контроллера число одновременно регистрируемых им людей увеличено до шести. Такое изменение потребовало уменьшить фокусное расстояние камеры. Поле зрения Kinect 2.0 стало на шестьдесят градусов больше, но более широкий угол привёл к уменьшению масштаба. Поначалу это ухудшало распознавание мелких движений. Чтобы устранить этот недостаток, понадобился целый ряд других изменений.
Если первая версия Kinect довольствовалась разрешением 640×480, то вторая будет оперировать кадрами Full HD. Более мощная инфракрасная подсветка выполняет сразу две функции — обеспечение работы в условиях низкой освещённости и устранение через алгоритмы фильтрации бликов от внешних источников света.
Kinect 2.0 делает новый снимок каждые 14 мс, в то время как первая версия ограничивалась периодом в 65 мс. Улучшение временного разрешения в четыре с половиной раза позволяет регистрировать более быстрые движения. Технически контроллер способен фиксировать складки на одежде и распознавать движения губ. По алгоритму анализа изображений, сходному с описанным исследователями из MIT в прошлом году, возможно даже определение частоты сердечных сокращений пользователя. Вопрос лишь в том, где и как будут использоваться эти возможности.
Вместе с Microsoft Research над второй версией Kinect трудились специалисты другой известной в Кремниевой долине компании — Architecture & Silicon Management (ASM). Её старший директор по техническому обеспечению Сунил Ачарья (Sunil Acharya) так комментирует в блоге Microsoft главные сложности проекта:
Новый контроллер Kinect 2.0 передаёт игровой консоли поток данных на уровне 6,5 Мбит/с. Основная трудность состояла в том, чтобы максимально снизить его влияние на производительность. Ведь львиная доля ресурсов была зарезервирована для процессов первой необходимости — расчёта графических моделей в играх, распознавания лиц, воспроизведения видео и аудио.
Главной изюминкой Kinect 2.0 стала новая TOF-камера — электронно-оптическая система, вычисляющая объёмную форму объекта и расстояние до него по времени возврата световых импульсов от множества точек на его поверхности. Фактически это разновидность лидара, которому вместо картографирования и навигации нашли игровое применение.
Для работы в условиях квартиры, где типичные расстояния не превышают нескольких метров, TOF-камера должна обеспечивать точность при вычислении задержки отражённых импульсов света не хуже одной десятимиллионной доли секунды. Один из разработчиков аппаратной части контроллера — Сайрус Бамджи (Cyrus Bamji) так прокомментировал эту проблему в блоге:
Внедряя новые технологии в коммерческий продукт, мы сталкиваемся с массой неявных особенностей, которые становятся очевидны только на конечном этапе разработки. Мы понимали, что размытие изображения в движении ухудшает точность работы, но не могли заранее оценить, насколько этот эффект окажется практически значим. В конечном счёте важно будет только то, как разные технические детали повлияют на впечатления пользователя от продукта.
Времени на разработку отводилось весьма мало, поскольку Microsoft планирует сорвать куш, выпустив новую приставку перед рождественскими каникулами:
Мы сразу знали, что наше время сильно ограничено. С другой стороны, нам предоставлялись все преимущества совместной работы с Microsoft Research, их технические знания и прежний опыт.
Основные консультации группе Бамджи давали старший специалист отдела прикладных исследований Microsoft Research Эял Крупка (Eyal Krupka) и его коллега Трэвис Перри (Travis Perry). Именно благодаря их вкладу затянувшаяся доработка Kinect 2.0 была завершена в срок.