UVC协议学习1--初步了解标准协议规范(UVC1.5为例)
生活随笔
收集整理的這篇文章主要介紹了
UVC协议学习1--初步了解标准协议规范(UVC1.5为例)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
? ? UVC是屬于USB行業(yè)規(guī)范中的USB設(shè)備類規(guī)范,用于USB接口的視頻設(shè)備的一個(gè)統(tǒng)一的數(shù)據(jù)交換規(guī)范。其中UVC官方協(xié)議文檔 UVC 1.5 Class specification是對(duì)整個(gè)UVC協(xié)議的框架做了規(guī)范,USB_Video_Example則規(guī)定了描述符等的數(shù)據(jù)結(jié)構(gòu)和相關(guān)的一些其他相關(guān)規(guī)定。首先我先對(duì)這兩個(gè)規(guī)范對(duì)照一些資料進(jìn)行了解再逐步學(xué)習(xí)其他的補(bǔ)充文檔。
1、UVC概述 ? ? 在UVC規(guī)范中明確要求,具有實(shí)際UVC功能的視頻設(shè)備只要需要兩種接口:一種為VC Interface(視頻控制接口),VS?Interface(視頻流接口)。其中VC接口用于對(duì)UVC設(shè)備進(jìn)行配置操控,而VS接口則用于負(fù)責(zé)傳輸視頻數(shù)據(jù)流,兩者相互配合完成UVC設(shè)備功能。
2、UVC拓?fù)浣Y(jié)構(gòu) ?? ?UVC的將設(shè)備在拓?fù)浣Y(jié)構(gòu)上抽象成為了幾個(gè)主要的硬件功能模塊,有以下幾種:
在USB_Video_Example 1.5中以一個(gè)網(wǎng)絡(luò)攝像頭設(shè)備為例展現(xiàn)其拓?fù)浣Y(jié)構(gòu)的示例圖如下: ? ? 從Sensor和另一個(gè)復(fù)合視頻設(shè)備得到的數(shù)據(jù)流由IT和CT輸入,經(jīng)過(guò)SU選擇送到PU處理,再由OT綁定到指定的USB端點(diǎn)。最后由USB端點(diǎn)與主機(jī)交互數(shù)據(jù)發(fā)送到host。在實(shí)際的UVC設(shè)備設(shè)備中,可能沒(méi)有上圖中的一些功能某塊,可能只有其中一些模塊來(lái)完成的。
? ? 同時(shí)從上面的拓?fù)浣Y(jié)構(gòu)圖可以看出,左半部分框架組成了UVC中的VC接口部分,右半部分框架組成了VS接口部分。
3、概念補(bǔ)充 3.1 Terminal(端點(diǎn)) ? ? Terminal是指整個(gè)UVC功能的入口和出口,邏輯意義上講Terminal只有一個(gè)出口或者入口,它要么代表整個(gè)UVC功能的數(shù)據(jù)輸入點(diǎn),要么代表數(shù)據(jù)在流經(jīng)UVC功能內(nèi)部的各Unit功能單元后的最終流入點(diǎn)。 1)IT(輸入端點(diǎn)) ?? ?作為數(shù)據(jù)流入video?function的接收器,功能是作為已經(jīng)被提取出來(lái)的數(shù)據(jù)的數(shù)據(jù)源,說(shuō)白了就是UVC功能的數(shù)據(jù)源頭。 輸入端點(diǎn)一般在拓?fù)鋱D中用下圖表示: ? ? ? ? ? ? ? ? ? ? ? 2)、OT(輸出端點(diǎn)) ?? ?作為Video?Function視頻信息流出的出口,功能是作為輸出數(shù)據(jù)的接收器。OT只有一個(gè)輸入pin,處理流程最后一個(gè)單元會(huì)將它的out pin與OT的in pin連接在一起。 輸出端點(diǎn)一般在拓?fù)鋱D中用下圖表示: 3)、CT(Camera端點(diǎn)) ?? ?CT代表硬件上的數(shù)據(jù)采集源(sensor),用于控制視頻流傳輸中的設(shè)備特性的。它規(guī)定支持以下特性控制:
擴(kuò)展單元一般在拓?fù)鋱D中用下圖表示:
3.3、Video?Control?Interface(視頻控制接口) ?? ?VC主要用于控制UVC功能中的Units和Terminals,通過(guò)對(duì)不同的Units和Terminals發(fā)下不同的指令,從而影響UVC設(shè)備的當(dāng)前工作狀態(tài);Host端發(fā)下的所有對(duì)UVC設(shè)備的操縱控制命令都是經(jīng)由此Interface完成的,這個(gè)以上面拓?fù)鋱D所表示的設(shè)備為例,該設(shè)備包含了一個(gè)Processing Unit、一個(gè)Input Terminal、Output Terminal和Selector?Unit,VC Interface需要對(duì)它們下發(fā)不同的命令,為此VC Interface需要包含一個(gè)控制端點(diǎn)(強(qiáng)制性要求),它使用的就是每個(gè)USB設(shè)備中默認(rèn)的端點(diǎn)0。另外一個(gè)Interrupt端點(diǎn)則是可選的,用來(lái)返回或通知Host端當(dāng)前的UVC設(shè)備內(nèi)部狀態(tài)有變化。大部分情況下,一個(gè)UVC設(shè)備的VC Interface不需一定要實(shí)現(xiàn)此端點(diǎn),但一旦UVC設(shè)備需要實(shí)現(xiàn)某些特定feature時(shí),Spec會(huì)強(qiáng)制性要求實(shí)現(xiàn)該interrupt端點(diǎn)。
3.4、Video?Streaming Interface(視頻流接口) ?? ?VS Interface則專注與負(fù)責(zé)傳輸U(kuò)VC設(shè)備的Video數(shù)據(jù)到Host端。若一UVC設(shè)備支持n種格式的Video數(shù)據(jù),則它需要實(shí)現(xiàn)n個(gè)VS Interface,每個(gè)Interface對(duì)應(yīng)一種專門的數(shù)據(jù)格式;
3.5、Video?Interface?Collection(視頻接口集合)&&Interface?Association?Description(視頻關(guān)聯(lián)描述符) (翻譯Operational?Model部分段落)? 英: ?? ?A device can support multiple configurations. Within each configuration can be multiple?interfaces, each possibly having alternate settings. These interfaces can pertain to different?functions that co-reside in the same composite device. Several independent video functions can?exist in the same device. Interfaces that belong to the same video function are grouped into a?Video Interface Collection described by an Interface Association Descriptor. If the device?contains multiple independent video functions, there must be multiple Video Interface Collections (and hence multiple Interface Association Descriptors), each providing full access to?their associated video function. ?? ?As an example of a composite device, consider a desktop camera equipped with a built in?microphone. Such a device could be configured to have one interface collection dealing with?configuration and control of the audio function, while another interface collection deals with its?video aspects. One of those, the VideoControl interface, is used to control the inner workings of?the function, whereas the other, the VideoStreaming interface, handles the data traffic received?from the camera video subsystem. ?? ?Video Interface Collections can be dynamic in devices that support multiple operating modes.?Because the VideoControl interface, together with its associated VideoStreaming interface(s),?constitutes the ‘logical interface’ to the video function, they must all come into existence at the?same moment in time. Changing the operating mode of a device causes the previous Video?Interface Collection to be replaced with a new Video Interface Collection, followed by reinitialization of the host software. This specification does not provide a mechanism for the host?to initiate such a mode change, which is typically initiated via a physical switch on the device.As stated earlier, video functionality is located at the interface level in the device class hierarchy.The following sections describe the Video Interface Collection, containing a single VideoControl?interface and optional VideoStreaming interfaces, together with their associated endpoints that?are used for video function control and for data stream transfer. 中: ? ? 一個(gè)設(shè)備可以支持多種配置,每個(gè)配置內(nèi)可能有多個(gè)接口,每個(gè)接口可能會(huì)被輪流設(shè)置。這些接口可能存在于同一復(fù)合設(shè)備的不同功能中。幾個(gè)獨(dú)立的視頻功能可能存在于同一設(shè)備內(nèi),屬于同一功能的接口被分配到視頻接口集合用IAD描述。如果設(shè)備包含多個(gè)獨(dú)立的視頻功能,那么就可能存在多個(gè)視頻接口集合(個(gè)人理解為一個(gè)獨(dú)立的視頻功能對(duì)應(yīng)一個(gè)集合)。
? ?比如一個(gè)裝配有內(nèi)置麥克風(fēng)的桌面照相機(jī)作為一個(gè)例子。有一個(gè)接口集合去處理對(duì)音頻功能的控制與配置,另外一個(gè)接口集合則去處理視頻方面的控制與配置。在其中一個(gè)接口集合中,VC接口會(huì)對(duì)該功能內(nèi)部進(jìn)行控制,另外一個(gè)VS接口則去處理來(lái)自相機(jī)視頻子系統(tǒng)傳輸過(guò)來(lái)的數(shù)據(jù)。
? ? 視頻接口集合在支持多個(gè)操作模式的設(shè)備中是動(dòng)態(tài)的。因?yàn)閂C接口和VS接口組成視頻功能中的“邏輯接口”,它們必須在同一時(shí)刻同時(shí)存在。改變?cè)O(shè)備的操作模式則之前的視頻接口集合也會(huì)被新的視頻接口集合替換,緊隨著由主機(jī)軟件重新初始化。本說(shuō)明書中沒(méi)有提供用于主機(jī)的機(jī)制來(lái)啟動(dòng)這樣的模式改變,這是通過(guò)設(shè)備上的物理開關(guān)啟動(dòng)的。 ? ? 如上所述,視頻功能位于設(shè)備類結(jié)構(gòu)層次的接口層。接下來(lái)的章節(jié)將描述視頻接口集合,包含了單個(gè)VC接口和可選的VS接口,結(jié)合它們的關(guān)聯(lián)端點(diǎn)用于將視頻功能控制和數(shù)據(jù)流傳輸。
視頻接口集合 ? ? 視頻接口集合是用于管理同一功能中VC和VS接口的。如果設(shè)備包含多個(gè)獨(dú)立的視頻功能,那么就可能存在多個(gè)視頻接口集合。
視頻關(guān)聯(lián)描述符 ?? ?? ? 一個(gè)設(shè)備必須使用一個(gè)IAD(接口關(guān)聯(lián)描述符)去描述一個(gè)Video?Interface?Collection(視頻接口集合),USB協(xié)議中并沒(méi)有專門朝設(shè)備索取IAD的命令,AD需作為Configuration描述符的一部分發(fā)送給Host端(返回GetDescriptor(Configuration)請(qǐng)求的回應(yīng))。在該Configuration描述符的排列順序中,IAD要放在它所包含的VC,VS描述符之前,且同一個(gè)IAD中所有的VC,VS Interface的Interface number必須連貫。
4、Descriptor(描述符) ? ? 描述符用來(lái)描述USB設(shè)備性能或特向的數(shù)據(jù)結(jié)構(gòu),與設(shè)備類相關(guān)的信息都是主機(jī)向設(shè)備獲取描述符來(lái)得到的。
在UVC所規(guī)定的描述符中除了常用的標(biāo)準(zhǔn)描述符,另外還定義了視頻設(shè)備的特殊類描述符,主要如下: 標(biāo)準(zhǔn)描述符
5、Request (請(qǐng)求) ? ? 請(qǐng)求是主機(jī)軟件與實(shí)體中控制器交流的一種機(jī)制。請(qǐng)求都是由主機(jī)向設(shè)備端發(fā)起的功能請(qǐng)求,所有的USB設(shè)備都需要支持標(biāo)準(zhǔn)的設(shè)備請(qǐng)求和與Class相關(guān)的特殊類請(qǐng)求。
標(biāo)準(zhǔn)請(qǐng)求 在標(biāo)準(zhǔn)協(xié)議中有相關(guān)描述,不做詳細(xì)展開
特殊類請(qǐng)求 ? ? 事實(shí)上特殊類請(qǐng)求也可以根據(jù)接口來(lái)分成兩大類:1)、視頻控制請(qǐng)求,2)視頻流請(qǐng)求。 1)視頻控制請(qǐng)求有:
?? ?Interface Control Requests因?yàn)槭怯脕?lái)在主機(jī)和設(shè)備之間協(xié)商數(shù)據(jù)交互格式和分辨率,流量等信息的,所以一般來(lái)說(shuō)是必須實(shí)現(xiàn)的。 ?? ?Camera Terminal Control Requests包含了對(duì)曝光時(shí)間,曝光模式,對(duì)焦,變焦,平移等sensor獲取數(shù)據(jù)階段時(shí)的參數(shù)控制。 ?? ?Processing Unit Control Requests中則包含了亮度,增益,色調(diào),對(duì)比度,白平衡等等sensor在獲取到圖像數(shù)據(jù)后,圖像處理階段的相關(guān)參數(shù)。 ??不過(guò)實(shí)際上,以上兩者的劃分在硬件層次并不是絕對(duì)的。很多參數(shù)的控制在sensor硬件級(jí)別上是同一層次的。不過(guò),將這些功能抽象成這兩類,正如在硬件的拓?fù)浣Y(jié)構(gòu)上將功能模塊抽象出來(lái)一樣,有利于通用化的程序設(shè)計(jì)。
暫時(shí)先整理這么多,等再行理解后再補(bǔ)充。
參考資料 百度文庫(kù):https://wenku.baidu.com/view/d1664b4e767f5acfa1c7cd74.html 2cto:https://m.2cto.com/kf/201806/751471.html
1、UVC概述 ? ? 在UVC規(guī)范中明確要求,具有實(shí)際UVC功能的視頻設(shè)備只要需要兩種接口:一種為VC Interface(視頻控制接口),VS?Interface(視頻流接口)。其中VC接口用于對(duì)UVC設(shè)備進(jìn)行配置操控,而VS接口則用于負(fù)責(zé)傳輸視頻數(shù)據(jù)流,兩者相互配合完成UVC設(shè)備功能。
2、UVC拓?fù)浣Y(jié)構(gòu) ?? ?UVC的將設(shè)備在拓?fù)浣Y(jié)構(gòu)上抽象成為了幾個(gè)主要的硬件功能模塊,有以下幾種:
- 輸入端點(diǎn)(Input?Terminal)
- 輸出端點(diǎn)(Output?Terminal)
- camera端點(diǎn)(Camera?Terminal)
- 選擇單元(Selector?Unit)
- 處理單元(Processing?Unit)
- 拓展單元(Extension?Unit)
在USB_Video_Example 1.5中以一個(gè)網(wǎng)絡(luò)攝像頭設(shè)備為例展現(xiàn)其拓?fù)浣Y(jié)構(gòu)的示例圖如下: ? ? 從Sensor和另一個(gè)復(fù)合視頻設(shè)備得到的數(shù)據(jù)流由IT和CT輸入,經(jīng)過(guò)SU選擇送到PU處理,再由OT綁定到指定的USB端點(diǎn)。最后由USB端點(diǎn)與主機(jī)交互數(shù)據(jù)發(fā)送到host。在實(shí)際的UVC設(shè)備設(shè)備中,可能沒(méi)有上圖中的一些功能某塊,可能只有其中一些模塊來(lái)完成的。
? ? 同時(shí)從上面的拓?fù)浣Y(jié)構(gòu)圖可以看出,左半部分框架組成了UVC中的VC接口部分,右半部分框架組成了VS接口部分。
3、概念補(bǔ)充 3.1 Terminal(端點(diǎn)) ? ? Terminal是指整個(gè)UVC功能的入口和出口,邏輯意義上講Terminal只有一個(gè)出口或者入口,它要么代表整個(gè)UVC功能的數(shù)據(jù)輸入點(diǎn),要么代表數(shù)據(jù)在流經(jīng)UVC功能內(nèi)部的各Unit功能單元后的最終流入點(diǎn)。 1)IT(輸入端點(diǎn)) ?? ?作為數(shù)據(jù)流入video?function的接收器,功能是作為已經(jīng)被提取出來(lái)的數(shù)據(jù)的數(shù)據(jù)源,說(shuō)白了就是UVC功能的數(shù)據(jù)源頭。 輸入端點(diǎn)一般在拓?fù)鋱D中用下圖表示: ? ? ? ? ? ? ? ? ? ? ? 2)、OT(輸出端點(diǎn)) ?? ?作為Video?Function視頻信息流出的出口,功能是作為輸出數(shù)據(jù)的接收器。OT只有一個(gè)輸入pin,處理流程最后一個(gè)單元會(huì)將它的out pin與OT的in pin連接在一起。 輸出端點(diǎn)一般在拓?fù)鋱D中用下圖表示: 3)、CT(Camera端點(diǎn)) ?? ?CT代表硬件上的數(shù)據(jù)采集源(sensor),用于控制視頻流傳輸中的設(shè)備特性的。它規(guī)定支持以下特性控制:
- 掃描模式(逐行掃描或隔行掃描)
- 自動(dòng)曝光模式
- 自動(dòng)曝光優(yōu)先級(jí)
- 曝光時(shí)間
- 聚焦
- 自動(dòng)聚焦
- 可變光圈
- 縮放/變焦
- 移動(dòng)鏡頭
- 滾動(dòng)
- 傾斜
- 數(shù)字窗口
- 感興趣區(qū)域
- Brightness(背光)
- Contrast(對(duì)比度)
- Hue(色度)
- Saturatio(飽和度)
- Sharpness(銳度)
- Gamma(伽馬)
- Digital Multiplier (Zoom)(數(shù)字放大)
- White Balance Temperature(白平衡色溫)
- White Balance Component(白平衡組件)
- Blcklight Compensation(背光補(bǔ)償)
- Gain(增益)
- Power Line Frequency(電源線平率)
- Analog Video Standard(模擬視頻標(biāo)準(zhǔn))
- Analog Video Lock Status(模擬視頻死鎖狀態(tài))
擴(kuò)展單元一般在拓?fù)鋱D中用下圖表示:
3.3、Video?Control?Interface(視頻控制接口) ?? ?VC主要用于控制UVC功能中的Units和Terminals,通過(guò)對(duì)不同的Units和Terminals發(fā)下不同的指令,從而影響UVC設(shè)備的當(dāng)前工作狀態(tài);Host端發(fā)下的所有對(duì)UVC設(shè)備的操縱控制命令都是經(jīng)由此Interface完成的,這個(gè)以上面拓?fù)鋱D所表示的設(shè)備為例,該設(shè)備包含了一個(gè)Processing Unit、一個(gè)Input Terminal、Output Terminal和Selector?Unit,VC Interface需要對(duì)它們下發(fā)不同的命令,為此VC Interface需要包含一個(gè)控制端點(diǎn)(強(qiáng)制性要求),它使用的就是每個(gè)USB設(shè)備中默認(rèn)的端點(diǎn)0。另外一個(gè)Interrupt端點(diǎn)則是可選的,用來(lái)返回或通知Host端當(dāng)前的UVC設(shè)備內(nèi)部狀態(tài)有變化。大部分情況下,一個(gè)UVC設(shè)備的VC Interface不需一定要實(shí)現(xiàn)此端點(diǎn),但一旦UVC設(shè)備需要實(shí)現(xiàn)某些特定feature時(shí),Spec會(huì)強(qiáng)制性要求實(shí)現(xiàn)該interrupt端點(diǎn)。
3.4、Video?Streaming Interface(視頻流接口) ?? ?VS Interface則專注與負(fù)責(zé)傳輸U(kuò)VC設(shè)備的Video數(shù)據(jù)到Host端。若一UVC設(shè)備支持n種格式的Video數(shù)據(jù),則它需要實(shí)現(xiàn)n個(gè)VS Interface,每個(gè)Interface對(duì)應(yīng)一種專門的數(shù)據(jù)格式;
3.5、Video?Interface?Collection(視頻接口集合)&&Interface?Association?Description(視頻關(guān)聯(lián)描述符) (翻譯Operational?Model部分段落)? 英: ?? ?A device can support multiple configurations. Within each configuration can be multiple?interfaces, each possibly having alternate settings. These interfaces can pertain to different?functions that co-reside in the same composite device. Several independent video functions can?exist in the same device. Interfaces that belong to the same video function are grouped into a?Video Interface Collection described by an Interface Association Descriptor. If the device?contains multiple independent video functions, there must be multiple Video Interface Collections (and hence multiple Interface Association Descriptors), each providing full access to?their associated video function. ?? ?As an example of a composite device, consider a desktop camera equipped with a built in?microphone. Such a device could be configured to have one interface collection dealing with?configuration and control of the audio function, while another interface collection deals with its?video aspects. One of those, the VideoControl interface, is used to control the inner workings of?the function, whereas the other, the VideoStreaming interface, handles the data traffic received?from the camera video subsystem. ?? ?Video Interface Collections can be dynamic in devices that support multiple operating modes.?Because the VideoControl interface, together with its associated VideoStreaming interface(s),?constitutes the ‘logical interface’ to the video function, they must all come into existence at the?same moment in time. Changing the operating mode of a device causes the previous Video?Interface Collection to be replaced with a new Video Interface Collection, followed by reinitialization of the host software. This specification does not provide a mechanism for the host?to initiate such a mode change, which is typically initiated via a physical switch on the device.As stated earlier, video functionality is located at the interface level in the device class hierarchy.The following sections describe the Video Interface Collection, containing a single VideoControl?interface and optional VideoStreaming interfaces, together with their associated endpoints that?are used for video function control and for data stream transfer. 中: ? ? 一個(gè)設(shè)備可以支持多種配置,每個(gè)配置內(nèi)可能有多個(gè)接口,每個(gè)接口可能會(huì)被輪流設(shè)置。這些接口可能存在于同一復(fù)合設(shè)備的不同功能中。幾個(gè)獨(dú)立的視頻功能可能存在于同一設(shè)備內(nèi),屬于同一功能的接口被分配到視頻接口集合用IAD描述。如果設(shè)備包含多個(gè)獨(dú)立的視頻功能,那么就可能存在多個(gè)視頻接口集合(個(gè)人理解為一個(gè)獨(dú)立的視頻功能對(duì)應(yīng)一個(gè)集合)。
? ?比如一個(gè)裝配有內(nèi)置麥克風(fēng)的桌面照相機(jī)作為一個(gè)例子。有一個(gè)接口集合去處理對(duì)音頻功能的控制與配置,另外一個(gè)接口集合則去處理視頻方面的控制與配置。在其中一個(gè)接口集合中,VC接口會(huì)對(duì)該功能內(nèi)部進(jìn)行控制,另外一個(gè)VS接口則去處理來(lái)自相機(jī)視頻子系統(tǒng)傳輸過(guò)來(lái)的數(shù)據(jù)。
? ? 視頻接口集合在支持多個(gè)操作模式的設(shè)備中是動(dòng)態(tài)的。因?yàn)閂C接口和VS接口組成視頻功能中的“邏輯接口”,它們必須在同一時(shí)刻同時(shí)存在。改變?cè)O(shè)備的操作模式則之前的視頻接口集合也會(huì)被新的視頻接口集合替換,緊隨著由主機(jī)軟件重新初始化。本說(shuō)明書中沒(méi)有提供用于主機(jī)的機(jī)制來(lái)啟動(dòng)這樣的模式改變,這是通過(guò)設(shè)備上的物理開關(guān)啟動(dòng)的。 ? ? 如上所述,視頻功能位于設(shè)備類結(jié)構(gòu)層次的接口層。接下來(lái)的章節(jié)將描述視頻接口集合,包含了單個(gè)VC接口和可選的VS接口,結(jié)合它們的關(guān)聯(lián)端點(diǎn)用于將視頻功能控制和數(shù)據(jù)流傳輸。
視頻接口集合 ? ? 視頻接口集合是用于管理同一功能中VC和VS接口的。如果設(shè)備包含多個(gè)獨(dú)立的視頻功能,那么就可能存在多個(gè)視頻接口集合。
視頻關(guān)聯(lián)描述符 ?? ?? ? 一個(gè)設(shè)備必須使用一個(gè)IAD(接口關(guān)聯(lián)描述符)去描述一個(gè)Video?Interface?Collection(視頻接口集合),USB協(xié)議中并沒(méi)有專門朝設(shè)備索取IAD的命令,AD需作為Configuration描述符的一部分發(fā)送給Host端(返回GetDescriptor(Configuration)請(qǐng)求的回應(yīng))。在該Configuration描述符的排列順序中,IAD要放在它所包含的VC,VS描述符之前,且同一個(gè)IAD中所有的VC,VS Interface的Interface number必須連貫。
4、Descriptor(描述符) ? ? 描述符用來(lái)描述USB設(shè)備性能或特向的數(shù)據(jù)結(jié)構(gòu),與設(shè)備類相關(guān)的信息都是主機(jī)向設(shè)備獲取描述符來(lái)得到的。
在UVC所規(guī)定的描述符中除了常用的標(biāo)準(zhǔn)描述符,另外還定義了視頻設(shè)備的特殊類描述符,主要如下: 標(biāo)準(zhǔn)描述符
- 設(shè)備描述符(Device Descriptor)
- 設(shè)備限定描述符(Device QualifierDescriptor)
- 設(shè)備配置描述符(Configure Descriptor)
- 其他速度描述符(Other Speed Descriptor)
- 字符描述符?(String Descriptor)
- 接口聯(lián)合描述符(Interface Association Descriptor)
- 視頻控制接口描述符(VideoControl Interface?Descriptor)
- 視頻控制端點(diǎn)描述符(VideoControl Endpoint?Descriptor)
- 視頻流接口描述符(VideoStreaming Interface?Descriptor)
- 視頻流端點(diǎn)描述符(VideoStreaming Endpoint?Descriptor)
5、Request (請(qǐng)求) ? ? 請(qǐng)求是主機(jī)軟件與實(shí)體中控制器交流的一種機(jī)制。請(qǐng)求都是由主機(jī)向設(shè)備端發(fā)起的功能請(qǐng)求,所有的USB設(shè)備都需要支持標(biāo)準(zhǔn)的設(shè)備請(qǐng)求和與Class相關(guān)的特殊類請(qǐng)求。
標(biāo)準(zhǔn)請(qǐng)求 在標(biāo)準(zhǔn)協(xié)議中有相關(guān)描述,不做詳細(xì)展開
特殊類請(qǐng)求 ? ? 事實(shí)上特殊類請(qǐng)求也可以根據(jù)接口來(lái)分成兩大類:1)、視頻控制請(qǐng)求,2)視頻流請(qǐng)求。 1)視頻控制請(qǐng)求有:
- 接口控制請(qǐng)求(Interface?Control Request)
- Camera終端控制請(qǐng)求(Camera Terminal Control Request)
- 選擇單元控制請(qǐng)求(Selector Unit Control?Request)
- 處理單元控制請(qǐng)求(Processing Unit Control?Request)
- 擴(kuò)展單元控制請(qǐng)求?(Extension?Unit Control?Request)
?? ?Interface Control Requests因?yàn)槭怯脕?lái)在主機(jī)和設(shè)備之間協(xié)商數(shù)據(jù)交互格式和分辨率,流量等信息的,所以一般來(lái)說(shuō)是必須實(shí)現(xiàn)的。 ?? ?Camera Terminal Control Requests包含了對(duì)曝光時(shí)間,曝光模式,對(duì)焦,變焦,平移等sensor獲取數(shù)據(jù)階段時(shí)的參數(shù)控制。 ?? ?Processing Unit Control Requests中則包含了亮度,增益,色調(diào),對(duì)比度,白平衡等等sensor在獲取到圖像數(shù)據(jù)后,圖像處理階段的相關(guān)參數(shù)。 ??不過(guò)實(shí)際上,以上兩者的劃分在硬件層次并不是絕對(duì)的。很多參數(shù)的控制在sensor硬件級(jí)別上是同一層次的。不過(guò),將這些功能抽象成這兩類,正如在硬件的拓?fù)浣Y(jié)構(gòu)上將功能模塊抽象出來(lái)一樣,有利于通用化的程序設(shè)計(jì)。
暫時(shí)先整理這么多,等再行理解后再補(bǔ)充。
參考資料 百度文庫(kù):https://wenku.baidu.com/view/d1664b4e767f5acfa1c7cd74.html 2cto:https://m.2cto.com/kf/201806/751471.html
總結(jié)
以上是生活随笔為你收集整理的UVC协议学习1--初步了解标准协议规范(UVC1.5为例)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【文件处理】——字典写入json文件或T
- 下一篇: USB协议-UVC描述符篇(三)