Поделиться через


Общие сведения о цифровом окне

Два новых элемента управления Digital Window предоставляют механизм цифрового сдвига, наклона и масштабирования для камер, которые предлагают собственные датчики с высоким разрешением, чтобы приложение автоматически фокусироваться на таких объектах, как лица или доски маркеров в конференц-зале при сохранении оптимальной точности с датчика камеры.

Это позволяет приложениям получать более подробные изображения таких объектов без необходимости изменять разрешения мультимедиа. Элементы управления MSXU цифрового окна ориентированы на весь датчик камеры, а не отдельный канал или конечную точку.

Элемент управления цифровыми окнами MSXU_CONTROL_DIGITALWINDOW

Элемент управления MSXU цифрового окна указывает поле просмотра и масштабирования камеры во время потоковой передачи камеры. Этот элемент управления является потенциальной заменой для сдвига, наклона и масштабирования. Этот элемент управления применяется только во время активной потоковой передачи камеры.

Дополнительные сведения см . в разделе 2.2.2.11 Digital Window Control в расширениях Майкрософт для класса ВИДЕО USB 1.5 .

Элемент управления конфигурацией цифрового окна MSXU_CONTROL_DIGITALWINDOW_CONFIG

Элемент управления MSXU "Цифровая конфигурация окна" указывает ограничения масштабирования камеры, учитывая все доступные разрешения. Разрешения не зависят от типа мультимедиа, поэтому два типа мультимедиа, рекламирующих один и тот же разрешение дисплея, объединяются в одну возможность.

Дополнительные сведения см . в разделе 2.2.2.12 Digital Window Config Control в расширениях Майкрософт по спецификации КЛАССА ВИДЕО USB 1.5.

Обзор реализации

На следующем изображении показана типичная сцена конференц-зала, захваченная камерой.

полный захват датчика.

Датчик изображения захватывает что-то большее, чем изображение, потоковое в клиентское приложение, которое отображается в красном ограничивающем поле. Оранжевая ограничивающая рамка иллюстрирует поле зрения, захваченное камерой, с учетом выбранного пропорции. Для элемента управления цифровым окном ограничивающий прямоугольник по умолчанию — это оранжевый прямоугольник. Координаты, заданные вдоль стороны, показывают границы этого поля. Выходные данные датчика обрезаются и масштабируются соответствующим образом до разрешения выходных носителей из этого поля.

Доска маркеров, вызываемая на изображении, является объектом интереса. Если приложение хотело бы сосредоточиться на этом объекте, оно может задать цифровое окно для его охвата.

цифровое окно с масштабируемым обрезанным.

Зеленый ограничивающий прямоугольник задается с помощью элемента управления Digital Window в этом примере. Он охватывает основной объект, интересующий ее, доску маркеров. Прямоугольник может содержать данные, которые находятся вне интересующего объекта, так как объект не может быть прямоугольным или не может быть просмотрен с стороны или может не иметь такого же пропорции, что и тип носителя.

Цифровое окно поддерживает пропорции формата выходных данных, а камера масштабирует выходные данные датчика для сопоставления. Указанные координаты всегда совпадают с исходным ограничивающим полем по умолчанию.

Связь с элементом управления цифровыми окнами UVC 1.5

Новые элементы управления MSXU Digital Window, приведенные ниже, выполняют функцию почти идентичную CT_DIGITAL_WINDOW_CONTROL, найденной в спецификации класса UVC 1.5 в разделе 4.2.2.1.19 Digital Window Control.

Класс UVC 1.5 можно скачать specification.pdf на веб-сайте спецификации КЛАССА ВИДЕО USB.

Однако существуют некоторые важные различия.

Растяжения

CT_DIGITAL_WINDOW_CONTROL, как указано, позволяет приложению задать окно произвольным набором координат, ограничивающихся только значениями GET_MIN, GET_MAX и GET_RES. Чтобы соответствовать этому полю представления в окне вывода, для этого требуется либо отклонить камеру, что должно быть законным SET_CUR запросам, либо реализовать изменение размера или изменение размера изображения, которое может потенциально исказить изображение по горизонтали или по вертикали, т. е. изменить пропорции.

Поскольку искажение, вероятно, нежелательно, его можно избежать в реализации CT_DIGITAL_WINDOW_CONTROL путем отклонения таких запросов, но вместо элемента управления содержит такую неоднозначность, элемент управления MSXU Digital Window поддерживает поле зрения на пропорции разрешения выходных данных. Поэтому изменение размера не является функцией или параметром в этом элементе управления MSXU.

Автоматическое обрамления лиц

У CT_DIGITAL_WINDOW_CONTROL нет понятия отслеживания лиц. С другой стороны, CT_REGION_OF_INTEREST_CONTROL имеет такое понятие, но это в первую очередь используется для обнаружения, отчета и потенциального обновления области интересов элементов управления 3A. В теории CT_REGION_OF_INTEREST_CONTROL можно использовать, если он реализован как элемент управления автоупакета, что позволит драйверу камеры использовать этот элемент управления для сдвига, наклона или масштабирования CT_DIGITAL_WINDOW_CONTROL синхронизации.

Этот новый элемент управления позволяет прямо управлять отслеживанием лиц, чтобы настроить поле зрения путем наклона, сдвига или масштабирования цифрово, чтобы сохранить столько лица, сколько видно на практике. Кроме того, отслеживание лиц, используемое для этого элемента управления, остается независимо от любого региона контроля интереса.

Метод отслеживания лиц зависит от реализации.

Метаданные для каждого кадра

Исходный UVC 1.5 не имеет концепции метаданных для каждого кадра. Корпорация Майкрософт расширила спецификацию UVC для поддержки метаданных, внедренных в заголовки полезных данных кадра. Включение этой поддержки можно сделать с помощью элемента управления MSXU_CONTROL_METADATA.

Кроме того, CT_DIGITAL_WINDOW_CONTROL не указывает, является ли элемент управления синхронным или асинхронным или автоматическим обновлением. Кроме того, элемент управления включает сведения о шаге, используемые для анимации изменения самой камерой. Это означает, что для завершения цифрового сдвига, наклона и масштабирования может потребоваться значительное время. Однако так как элемент управления был установлен на новые координаты, неясно, сколько времени потребуется для завершения и когда или как он будет сообщать о том, что переход выполнен. Хуже нет сведений о том, где в поле просмотра происходит текущий кадр.

Эта неоднозначность может быть разрешена с помощью метаданных для каждого кадра, внедренных камерой, но не может потребоваться CT_DIGITAL_WINDOW_CONTROL для поддержки метаданных для каждого кадра непосредственно, так как метаданные для каждого кадра выходят за рамки область спецификации UVC.

Пропорции

Неясно или не определено, как CT_DIGITAL_WINDOW_CONTROL обрабатывает различные пропорции. Чтобы правильно обрезать поле представления, GET_DEF и GET_CUR значения, сообщаемые элементом управления UVC 1.5, потребуется изменить, чтобы соответствовать текущему аспекту после каждой пробы или фиксации. Для правильной обработки CT_DIGITAL_WINDOW_CONTROL должен быть элемент управления autoUpdate, и драйверу потребуется не кэшировать результат GET_DEF, а вместо этого запрашивать это значение снова для каждого разрешения, предоставляемого камерой.

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

Функция

Цифровое окно связано с несколькими существующими элементами управления:

  • хрустящий

  • Наклон

  • Масштабирование

Если камера использует цифровые реализации для любого из этих элементов управления, они должны изменить значения, сообщаемые Цифровым окном, чтобы соответствовать одному полю представления. Аналогичным образом цифровое окно должно изменить значения, сообщаемые этими элементами управления. Все цифровые реализации этих элементов управления должны обновлять друг друга, чтобы оставаться в синхронизации.

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

Интересующие регионы

Так как цифровое окно изменяет видимое поле представления (FOV), координаты, выбранные через любой интересующий регион (ROI), должны быть сброшены на их значения по умолчанию всякий раз, когда параметр SET будет выдан этому элементу управления. Список текущих элементов управления ROI включает:

  • KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_PROPERTY_ID

  • KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_CONFIGCAPS / KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL

Кроме того, эти элементы управления "Область интересов" указывают их регионы относительно выходного окна, поэтому координаты, которые они задают, всегда являются прямоугольником в текущем поле представления. Так как элемент управления "Цифровое окно" изменяет текущее поле представления, прямоугольник "Область интереса" должен быть перемечен камерой для размещения в текущем цифровом окне. Например, если текущее цифровое окно имеет значение (OriginX, OriginY) (0,0, 0.0) и WindowSize 0,5 и если указана область интереса (0.0, 0.0), (0.5, 0.5), камера должна перенаставить прямоугольник "Область интереса" на пиксели, соответствующие (0.0, 0.0), (0.25, 0.25) в поле представления по умолчанию. Это должно быть аналогично и согласовано с видимым поведением элементов управления сдвига, наклона и масштабирования с помощью этих элементов управления "Область интереса".

Потоковая передача

Так как доступные допустимые значения цифрового окна зависят от текущего пропорции, камера должна выбрать тип носителя и интерфейс потоковой передачи, чтобы применить MinWindowSize.

Информационные значения

Сообщается также о каждом разрешении в отчете NonUpscalingWindowSize , но он является только информационным для приложения. Это значение сообщает приложению, какое значение необходимо задать в качестве WindowSize , чтобы не получить масштабирование исходного образа. Это позволяет приложению записывать изображение в пределах диапазона точности датчика камеры.

Атрибуты метаданных

Если камера объявляет MSXU_CONTROL_DIGITALWINDOW, MSXU_CONTROL_DIGITALWINDOW_CONFIG и устанавливает ненулевая размер буфера на MSXU_CONTROL_METADATA, камера должна выдавать атрибут MF_CAPTURE_METADATA_DIGITAL_WINDOW для каждого кадра. Он может обеспечить это с помощью MFT устройства или путем включения атрибута MetadataId_DigitalWindow (значение 7) в необработанный буфер метаданных. Как включить атрибуты метаданных далее описано в разделе 2.2.3.1 Microsoft Standard-format Metadata.

Эти метаданные используются для отчета о том, какое цифровое окно было применено к текущему образцу. Это делается путем инициализации KSCAMERA_METADATA_ITEMHEADER со значением MetadataId_DigitalWindow и размером структуры и копирования по примененным значениям OriginX, OriginY и WindowSize из цифрового элемента управления окна в связанную структуру KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING.

См. также

Раздел 2.2.2.11 Digital Window Control

Раздел 2.2.2.12 Элемент управления конфигурацией цифрового окна

Раздел 2.2.3.1 Метаданные формата Microsoft Standard

Спецификация класса видео USB

KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW_CONFIGCAPS

KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW

KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS

KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER

KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING

KSCAMERA_METADATA_DIGITALWINDOW