KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION
KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION — это идентификатор свойства, используемый для управления размытием фона в драйвере.
Это свойство управляет исправлением в потоке, которое драйвер может выполнить, чтобы обеспечить высокое качество исправления изображений для использования с предварительным просмотром и записанными изображениями. Исправление в потоке должно быть включено и отключено в драйвере единым способом, чтобы функции могли управляться либо Windows, либо приложением.
Примеры настройки элементов управления KSPROPERTY можно найти в примере драйвера камеры AVStream на сайте GitHub.
Обновление элемента управления KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION
Начиная с Windows 11 версии 22H2 режим неглубокого фокуса появился в существующем элементе управления сегментацией фона в качестве дополнительной возможности.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS — это новый флаг, добавленный в элемент управления KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION, который используется для управления режимом "Боке" (неглубокий фокус) в драйвере. Это версия KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION размытия фона, где акцент делается меньше на конфиденциальность и больше на том, чтобы фон пользователя выглядел как из камеры более высокого качества с глубиной эффекта поля. Это визуально сделает предмет переднего плана выделиться, аналогично тому, как портретный режим фотографии на многих мобильных телефонах стал популярным.
Сводная таблица использования
Область | Control | Тип |
---|---|---|
версия 1 | Фильтр | Синхронная |
В KSCAMERA_EXTENDEDPROP_HEADER можно поместить следующие флаги . Поле флагов для управления режимом неглубокой фокусировки.
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF 0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR 0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK 0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS 0x0000000000000004
Если драйвер поддерживает этот элемент управления, он должен поддерживать BACKGROUNDSEMENTATION_OFF и один или несколько других флагов.
Если драйвер не поддерживает фоновую сегментацию, драйвер не должен реализовывать этот элемент управления.
Вызов SET этого элемента управления вступает в силу, даже если закрепление видео или фотографии находится в KSSTATE_RUN состоянии. В вызове GET драйвер должен вернуть текущие параметры в поле Флаги.
В следующей таблице описаны возможности флагов.
Flag | Описание |
---|---|
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF | Это обязательная возможность. При указании фоновой сегментации в драйвере отключается. Это значение по умолчанию. |
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR | Это необязательная возможность. Если этот параметр указан, размытие фона включено в драйвере и применяется к кадру, если это возможно. |
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK | Это необязательная возможность. Если этот параметр указан, в драйвере включено производство метаданных маски фона (если это возможно при использовании MediaType, выраженном с помощью набора KSPROPERTY_CAMERACONTROL_EXTENDED_ BACKGROUNDSEGMENTATION_CONFIGCAPS возвращается в поле Размер KSCAMERA_EXTENDEDPROP_HEADER). Обратите внимание, что это может поддерживаться не только для цветных камер, но и камер глубины и IR. |
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS | Это необязательная возможность. Если этот параметр указан вместе с KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR , в драйвере включена неглубокая фокусировка. |
Примечание
С точки зрения SET необходимо добавить KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS вместе с KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR , чтобы они вступают в силу; Их также можно задать вместе с KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK.
В таблице ниже приведены описания и требования к полям структуры KSCAMERA_EXTENDEDPROP_HEADER при использовании элемента управления .
Член | Описание |
---|---|
Версия | Это значение должно быть 1. |
PinId | Это должно быть KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF). |
Размер | Это должны быть значения sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE). |
Результат | Неиспользуемый, должен иметь значение 0. |
Функция | Должен быть битовой или поддерживаемых флагов KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION _*, определенных выше. |
Флаги | Это поле для чтения и записи. Это может быть любой из флагов KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION _*, определенных выше, кроме SHALLOWFOCUS (который необходимо задать вместе с BLUR, чтобы ввести в силу) или допустимые сочетания битов. С точки зрения SET режим неглубокой фокусировки будет включен только в том случае, если одновременно заданы значения SHALLOWFOCUS и BLUR. Их можно задать вместе с ПАРАМЕТРОМ MASK. |
Требования
Минимальный поддерживаемый клиент: Windows 11 версии 22H2
Заголовок: ksmedia.h (включая Ksmedia.h)
См. также раздел
Пример драйвера для режима взгляда в режиме взгляда в фоновом режиме сегментации
KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION