Официальный аккаунт сменил название. Первоначальное название — txp play Linux. Новое имя, как видите: растет как летать. Я также надеюсь, что каждый сможет быстро вырасти в технологиях.
UVC, полное название: Класс USB-видео (устройства) — это стандарт протокола, определенный для USB-устройств видеозахвата, совместно выпущенный Microsoft и несколькими другими производителями оборудования. Теперь он стал одним из стандартов организации USB.
В дополнение к общим спецификациям электрического интерфейса программного и аппаратного обеспечения протокол USB также содержит различные протоколы классов, которые используются для определения соответствующих стандартных интерфейсов и конкретных форматов взаимодействия данных и содержимого на шине для различных функций. Существует множество протоколов этих классов, наиболее распространенными являются класс Mass Storage, поддерживающий функцию USB-накопителя, и общий протокол обмена данными: класс CDC. Кроме того, он также включает в себя видео, аудиокласс, класс печати и т. д. Именно благодаря этим протоколам класса значительно возросла популярность USB-устройств. Например, U-диски, выпускаемые различными производителями, можно использовать через драйверы, поставляемые с операционной системой.
Таким образом, UVC — это лишь одна из спецификаций классов устройств в протоколе спецификации USB. Это унифицированная спецификация обмена данными для видеоустройств, используемых в качестве интерфейсов USB. Преимущества использования UVC: После того, как USB Video станет стандартом, оборудование будет работать более плавно между различными программами, и этап установки драйвера будет пропущен. Требуется только Windows XP SP2 или более поздняя версия. Все могут поддерживать UVC. Ядро Linux начиная с версии 2.4 поддерживает большое количество драйверов устройств, включая устройства UVC.
В спецификации UVC четко указано, что видеооборудование с реальными функциями UVC должно иметь два интерфейса: один — интерфейс VC (интерфейс управления видео) и интерфейс VS (интерфейс потокового видео). Интерфейс VC используется для настройки и управления устройствами UVC, а интерфейс VS используется для передачи потоков видеоданных. Они работают вместе для выполнения функций устройства UVC. Обычно устройство имеет только один интерфейс VC и несколько интерфейсов VS.
Видеофункция расположена на уровне интерфейса в иерархии классов устройств. Он состоит из множества интерфейсов, которые группируют связанные каналы вместе для совместной реализации интерфейса видеофункций.
Функция видео реализуется через видеоинтерфейс (Видеоинтерфейс). Каждая видеофункция имеет интерфейс VideoControl (VC), и может быть несколько интерфейсов VideoStreaming (VS). Интерфейс VideoControl (VC) используется для доступа к элементам управления устройством этой функции, а интерфейс VideoStreaming (VS) используется для потоковой передачи данных в функцию и из нее. Коллекция одного интерфейса VideoControl и интерфейсов VideoStreaming, принадлежащих одной и той же видеофункции, называется коллекцией видеоинтерфейсов VideoInterfaceCelloction (VIC). Дескриптор ассоциации интерфейса (IAD) используется для описания набора видеоинтерфейсов.
Класс Видеоинтерфейс объединяет все функции, которые могут взаимодействовать с потоками видеоданных, совместимыми с USB. Фактически класс интерфейса Video содержит VC и VS.
Класс видеоинтерфейса имеет специальный код идентификации:
Класс видеоинтерфейса подразделяется на два подкласса:
проиллюстрировать:
Интерфейс управления видео является единой точкой входа для доступа к функции видео. Все топологические устройства или терминалы, связанные с функцией видео, должны быть реализованы через интерфейс управления видео. Таким образом, все дескрипторы, связанные с функцией видео, являются частью дескриптора интерфейса управления видео, специфичного для класса. Интерфейс потокового видео используется для передачи видеоданных между видеофункциями хоста и устройства. Видеофункция может не включать в себя интерфейс видеопотока или может включать в себя несколько интерфейсов видеопотоков.
Дескриптор ассоциации интерфейса (IAD) также имеет свой собственный функциональный подкласс:
Код подкласса видеоинтерфейса:
Идентификационный код кода протокола видеоинтерфейса:
Чтобы иметь возможность манипулировать физическими свойствами видеофункции, ее функциональность должна быть разделена на адресуемые объекты. UVC идентифицирует следующие две универсальные сущности:
Под блоком можно понимать каждый функциональный блок, который выполняет функции устройства UVC. Несколько модулей могут быть соединены в соответствии с определенными правилами для формирования полного функционального устройства UVC. Спецификация предусматривает, что Модуль имеет один или несколько входов и один выход; иными словами, в качестве источника входных данных для Модуля может быть несколько Модулей или Терминалов, а данные после прохождения через Модуль могут использоваться только в качестве источника входных данных для Модуля. другие блоки или терминалы. Как показано на следующем рисунке:
В спецификации 1.5 определены четыре единицы:
Блок СУ служит для управления переключением и выбором источников получения данных изображения. Например, если устройство поддерживает несколько источников входного сигнала, оно будет выбрано и переключено через SU.
Например, на схеме топологии камеры ниже есть два источника ввода данных. В этом случае для переключения и выбора необходим SU. Блок селектора обычно представлен на схеме топологии следующим рисунком:
ПУ представляет собой блок, обрабатывающий собранные данные изображения и отвечающий за настройку и настройку характеристик собранного изображения. Он имеет один входной и выходной контакт. В основном он имеет следующие особенности:
1、User Controls:
2、Auto Controls
3、Other
Процессорный блок обычно представлен следующим рисунком на схеме топологии:
ЕС используется для персонализации собранных данных. Блок кодирования управляет свойствами кодера, который кодирует видео, передаваемое через него. Он имеет один входной и несколько выходных контактов. Он поддерживает следующие функции, которые можно использовать до или после начала потоковой передачи.
Справочная спецификация 2.3.6 Блок кодирования
XU — это единица, предоставляемая конкретному поставщику для добавления спецификаций.
Терминал относится к входу и выходу всей функции UVC. Логически говоря, Терминал имеет только один выход или вход. Он либо представляет точку ввода данных всей функции UVC, либо представляет собой конечный пункт назначения данных после прохождения через каждый модуль. функциональный блок в функции UVC.
В спецификации описаны следующие терминалы:
Будучи приемником данных, поступающих в функцию видео, функция должна служить источником извлеченных данных. Проще говоря, она является источником данных функции UVC.
Входные конечные точки обычно представлены на диаграмме топологии следующим рисунком:
Являясь выходом для вывода видеоинформации, он действует как приемник выходных данных. OT имеет только один входной контакт, и последний блок в потоке обработки соединяет свой выходной контакт с входным контактом OT.
CT представляет собой источник сбора данных (датчик) на аппаратном обеспечении, который используется для управления характеристиками устройства при передаче потокового видео. Он обеспечивает поддержку следующих элементов управления функциями:
В USB_Video_Example 1.5 пример схемы устройства сетевой камеры, показывающей его топологию, выглядит следующим образом:
Ссылка на статью: http://t.csdn.cn/xtNH4.