Руководство по настройке драйвера камеры

В этом разделе описывается включение проверки подлинности лиц для инфракрасной камеры (IR) и предназначено для изготовителей оборудования (OEM) и независимых поставщиков оборудования (IHV), которые хотят предоставить эту функцию на своих устройствах.

FrameServer

На следующей схеме показано, как проверка подлинности лиц работает с новым стеком драйверов через FrameServer:

windows hello и frameserver.

DDIs аутентификации по лицу

В Windows 10 версии 1607 для поддержки Windows Hello доступны две новые конструкции DDI для проверки подлинности лиц:

  • KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE

    Этот идентификатор свойства используется для включения и настройки проверки подлинности лиц в драйвере с помощью следующих флагов:

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_DISABLED

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_ALTERNATIVE_FRAME_ILLUMINATION

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_BACKGROUND_SUBTRACTION

    Дополнительные сведения об этом элементе управления и использовании битовых флагов для настройки режима проверки подлинности лиц см. в разделе KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE .

  • MF_CAPTURE_METADATA_FRAME_ILLUMINATION

    Этот атрибут метаданных для камер IR указывает, что кадры используют активное освещение IR. Дополнительные сведения см. в таблице обязательных атрибутов метаданных в разделе атрибуты метаданных сбора статистики.

Поддержка USB-камеры

Чтобы включить проверку подлинности лиц для инфракрасной камеры на устройстве, необходимо предоставить правильно настроенный компонент DeviceMFT и единицу расширения USB Video Class (UVC).

Настройка компонента DeviceMFT

В качестве отправной точки для создания компонента DeviceMFT, поддерживающего проверку подлинности лиц на устройстве, можно использовать пример sampledevicemft .

Чтобы изменить пример драйвера, внесите следующие изменения в пример исходного кода:

  1. Добавление сведений о типе источника в компонент DeviceMFT

  2. Пометьте флаг освещения в компоненте DeviceMFT

  3. Настройте IKSControl в компоненте DeviceMFT для работы с модулем расширения UVC, который вы создадите в следующем разделе.

Создать модуль расширения для класса видео USB (UVC)

Чтобы создать модуль расширения UVC для устройства, следуйте инструкциям в разделе "Создание образца контроля модуля расширения". В этом разделе содержатся сведения о создании необходимых файлов проекта и ссылки на пример кода в следующих разделах:

Пример интерфейса для пунктов расширения UVC (содержит Interface.idl)

Пример библиотеки DLL модуля расширения (содержит Xuproxy.h и Xuproxy.cpp)

Пример записи реестра для расширяемых модулей UVC (содержит Xusample.rgs)

Пример приложения для модулей расширения UVC (содержит TestApp.cpp)

Поддержка событий автоматического обновления с помощью единиц расширения

Пример дескриптора модуля расширения

Предоставление INF-файла для UVC

Для получения дополнительной информации о том, как работают примеры модулей кода, см. раздел Архитектура блока расширения Plug-In.

Записи INF-файла

Чтобы зарегистрировать устройство UVC в KSCATEGORY_SENSOR_CAMERA, необходимо указать флаг промоции камеры датчика:

HKR,,SensorCameraMode,0x00010001,0x00000001

Чтобы скрыть эту камеру от обычного приложения камеры, так как он не имеет потоков RGB, используйте флаг пропуска перечисления следующим образом:

HKR,,SkipCameraEnumeration,0x00010001,0x00000001

При этом камера убирается из KSCATEGORY_VIDEO, что предотвратит ее перечисление путем устаревшего перечисления стандартными приложениями камеры.

Записи SkipCameraEnumeration и SensorCameraMode должны быть помещены в раздел DDInstall.HW файла INF.

Тесты HLK для KSCATEGORY_SENSOR_CAMERA для содействия тестированию драйверов

Тестирование комплекта для аппаратного логотипирования (HLK) требуется для модулей камер IR и RGB. Это тестирование проверяет основные функциональные возможности камер RGB и IR, используемых для проверки подлинности лиц Windows Hello. Требования к камере RGB уже указаны в наборе тестов HLK.

Это тесты, которые модули камер IR должны пройти, чтобы быть активированными:

  1. Перечислите все камеры категорий датчиков KS:

    • Устройства, поддерживающие потоки IR, должны находиться в категории SENSOR_CAMERA.

    • Устройства, поддерживающие потоки RGB, идут под категорию VIDEO_CAMERA.

    • Только для одного устройства камеры, поддерживающего поток IR и RGB, следует зарегистрировать устройство в обоих категориях KSCAMERA: SENSOR_CAMERA и VIDEO_CAMERA.

  2. Найдите потоки, которые имеют определенный атрибут MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY :

    • Если поток не имеет определенного атрибута MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY , пропустите тест.

    • Если в нескольких потоках определен атрибут MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY, тест должен завершиться неудачей, поскольку только один поток должен поддерживать Windows Hello.

    • Если для этого потока атрибут MF_DEVICESTREAM_ATTRIBUTE_FRAMESOURCE_TYPES не установлен на IR, тест должен завершиться неудачей, так как в этом потоке не могут быть использованы медиа-форматы RGB.

    • Выберите этот поток и убедитесь, что тип носителя поддерживает Windows Hello (MJPG/L8/NV12) и что разрешение больше или равно 320 x 320 пикселей:

      1. Если поддерживается профиль аутентификации по лицу, проверьте этот поток на соответствие типу носителя профиля.

      2. Если профиль аутентификации по лицу не поддерживается, проверьте тип носителя по умолчанию этого потока.

    • Проверьте поддержку одного из свойств в интерфейсе программирования проверки подлинности лица: подсветка/отсутствие подсветки или вычитание внешнего освещения.

    • Задайте для свойства KS значение, которое поддерживается.

    • Запуск потоковой передачи

  3. Проверьте свойства времени выполнения:

    • Проверьте точность метки времени (предварительная версия теста проверки подлинности лиц с помощью метаданных).

    • Убедитесь, что запуск составляет менее 500 миллисекунд (предварительный тест аутентификации по лицу с метаданными).

    • Проверьте потоковую передачу при минимальной частоте кадров со следующими параметрами: 15 FPS для освещенного и 15 FPS для фонового режима или 15 FPS после вычитания фонового режима, разрешение не менее 320 x 320 пикселей, тип медиафайла L8/NV12, положительный шаг на образце:

      1. Если включено освещенное свойство, проверьте наличие метаданных на кадрах (осветленные или не освещенные парные кадры с частотой 15 FPS).

      2. Если свойство вычитания фонового шума включено, проверьте отсутствие метаданных на кадрах (кадры с фоновым шумом на 15 FPS).

  4. Остановка потоковой передачи

  5. Отмена настройки элемента управления KS

  6. Параллелизм для RGB+IR: проверяется, определен ли в профиле камеры

Если тесты HLK, указанные выше, не пройдены, Майкрософт не выдаст подписанный драйвер OEM, и Windows Hello не будет функционировать.

Запись фотографий и видео с помощью MediaCapture

Пространство имен Windows.Media.Capture