Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Due nuovi controlli Finestra digitale forniscono un meccanismo per la panoramica digitale, l'inclinazione e lo zoom per le fotocamere che offrono sensori nativi ad alta risoluzione, in modo che un'applicazione possa concentrarsi automaticamente su oggetti come visi o schede marcatori in una sala riunioni mantenendo al tempo stesso una fedeltà ottimale dal sensore della fotocamera.
Ciò consente alle applicazioni di ottenere immagini di dettaglio più elevate di tali oggetti senza la necessità di modificare le risoluzioni dei supporti. Il controllo MSXU della finestra digitale è destinato all'intero sensore della fotocamera e non a un singolo tubo o endpoint.
Controllo finestra digitale MSXU_CONTROL_DIGITALWINDOW
Il controllo MSXU della finestra digitale specifica il campo di visualizzazione e lo zoom della fotocamera mentre la fotocamera è in streaming. Questo controllo è un potenziale sostituto di Pan, Tilt e Zoom. Questo controllo si applica solo mentre la fotocamera è in streaming attivo.
Per informazioni dettagliate, vedere Sezione 2.2.2.11 Controllo finestra digitale nelle estensioni Microsoft della classe video USB 1.5.
Controllo configurazione finestra digitale MSXU_CONTROL_DIGITALWINDOW_CONFIG
Il controllo MSXU Configurazione finestra digitale specifica i limiti di ridimensionamento della fotocamera in base a tutte le risoluzioni disponibili. Le risoluzioni sono indipendenti dal tipo di supporto, quindi due tipi di supporti che annunciano la stessa risoluzione dello schermo vengono combinati in una sola funzionalità.
Per informazioni dettagliate, vedere la sezione 2.2.2.12 Digital Window Config Control nelle estensioni Microsoft per la classe video USB 1.5 .
Panoramica dell'implementazione
L'immagine seguente illustra una tipica scena della sala riunioni acquisita dalla fotocamera.
Il sensore di immagine acquisisce qualcosa di più dell'immagine trasmessa all'applicazione client, mostrata nel rettangolo rosso. Il riquadro arancione illustra il campo visivo acquisito dalla fotocamera in base al rapporto d'aspetto selezionato. Per il controllo delle finestre digitali, il rettangolo di selezione predefinito è questo rettangolo arancione. Le coordinate lungo il lato mostrano i limiti di questa casella. L'output del sensore viene ritagliato e ridimensionato in modo appropriato alla risoluzione dei supporti di output di questa casella.
La lavagna a pennarello richiamata nell'immagine è un oggetto di interesse. Se un'applicazione desiderasse concentrarsi su questo oggetto, potrebbe impostare una finestra digitale per includerla.
Il rettangolo di selezione verde viene impostato tramite il controllo Finestra digitale in questo esempio. Comprende l'oggetto principale di interesse, la lavagna del marcatore. Il rettangolo può contenere dati esterni all'oggetto di interesse perché l'oggetto potrebbe non essere rettangolare o potrebbe non essere visualizzato sul lato oppure potrebbe non avere le stesse proporzioni del tipo di supporto.
La finestra digitale mantiene le proporzioni del formato di output e la fotocamera aggiorna l'output del sensore in modo che corrisponda. Le coordinate specificate sono sempre relative alla scatola di delimitazione originale e predefinita.
Relazione con il controllo finestra digitale UVC 1.5
I nuovi controlli MSXU della finestra digitale seguenti eseguono una funzione quasi identica alla CT_DIGITAL_WINDOW_CONTROL disponibile nella specifica della classe UVC 1.5 nella sezione 4.2.2.1.19 Digital Window Control.
La classe UVC 1.5 specification.pdf può essere scaricata nel sito Web delle specifiche della classe video USB .
Esistono tuttavia alcune differenze importanti.
Stiramento
Il CT_DIGITAL_WINDOW_CONTROL come specificato consente a un'applicazione di impostare la finestra su un set arbitrario di coordinate vincolate solo dai valori GET_MIN, GET_MAX e GET_RES. Per adattare questo campo di visualizzazione all'interno della finestra di output, questo comportamento richiede che la fotocamera rifiuti ciò che dovrebbe essere un'operazione SET_CUR legale oppure implementi un ricampionamento o ridimensionamento dell'immagine che potrebbe potenzialmente distorcere l'immagine orizzontalmente o verticalmente, vale a dire modificare le proporzioni.
Poiché la distorsione è probabilmente indesiderata, può essere evitata in un'implementazione CT_DIGITAL_WINDOW_CONTROL rifiutando tali richieste, ma anziché il controllo contiene tale ambiguità, il controllo MSXU finestra digitale mantiene il campo di visualizzazione in corrispondenza delle proporzioni della risoluzione dell'output. Di conseguenza, il ridimensionamento non è una funzionalità o un'opzione in questo controllo MSXU.
Face-Framing automatico
Il CT_DIGITAL_WINDOW_CONTROL non ha alcun concetto di tracciamento del viso. D'altra parte il CT_REGION_OF_INTEREST_CONTROL ha tale concetto, ma questo viene usato principalmente per rilevare, segnalare e potenzialmente aggiornare l'area di interesse dei controlli 3A. In teoria, CT_REGION_OF_INTEREST_CONTROL potrebbe essere utilizzato se implementato come controllo AutoUpdate, il che consentirebbe a un driver della fotocamera di sfruttare tale controllo per effettuare una panoramica, un'inclinazione o uno zoom del CT_DIGITAL_WINDOW_CONTROL in sincronia.
Questo nuovo controllo consente di gestire direttamente il tracciamento del volto per regolare il campo visivo inclinando, effettuando panoramiche o zoomando digitalmente, mantenendo visibile la maggior parte del viso per quanto possibile. Inoltre, il tracciamento viso utilizzato su questo controllo rimane indipendente da qualsiasi area di controllo di interesse.
Il metodo di rilevamento dei volti dipende dall'implementazione.
Metadati per frame
L'UVC originale 1.5 non ha un concetto di metadati per frame. Microsoft ha ampliato la specifica UVC per supportare i metadati incorporati nelle intestazioni dei payload dei frame. L'abilitazione di questo supporto può essere eseguita tramite il controllo MSXU_CONTROL_METADATA.
Inoltre, il CT_DIGITAL_WINDOW_CONTROL non specifica se il controllo è sincrono o asincrono o l'aggiornamento automatico. Inoltre, il controllo include informazioni di avanzamento usate per l'animazione della modifica eseguita dalla fotocamera stessa. Ciò implica che il completamento di una panoramica digitale, dell'inclinazione e dello zoom potrebbe richiedere molto tempo. Tuttavia, dal momento che il controllo sarebbe stato impostato su nuove coordinate, non è chiaro quanto tempo sarebbe necessario per completare e quando o come invece avrebbe riportato che la transizione è stata eseguita. Peggio non vi sono informazioni sulla posizione in cui ha origine il frame corrente nel campo di visualizzazione.
Questa ambiguità potrebbe essere risolta con metadati per fotogrammi inseriti dalla fotocamera, ma non è possibile richiedere CT_DIGITAL_WINDOW_CONTROL di supportare i metadati per fotogrammi direttamente perché i metadati per fotogrammi non rientrano nell'ambito della specifica UVC.
Proporzioni
Non è chiaro o indefinito come CT_DIGITAL_WINDOW_CONTROL gestisce proporzioni diverse. Per ritagliare correttamente il campo di visualizzazione, i valori GET_DEF e GET_CUR segnalati dal controllo UVC 1.5 devono essere modificati in modo che corrispondano all'aspetto corrente dopo ogni probe/commit. Per gestirlo correttamente, il CT_DIGITAL_WINDOW_CONTROL dovrebbe essere un controllo AutoUpdate e il driver non dovrà memorizzare nella cache il risultato del GET_DEF, ma eseguire di nuovo una query su questo valore per ogni risoluzione esposta dalla fotocamera.
Questa complessità potrebbe creare problemi di individuazione quando si tenta di eseguire il mapping del controllo finestra digitale a una risoluzione specifica. Non potresti sapere in anticipo quale parte del campo visivo del sensore la fotocamera utilizzerà per impostazione predefinita fino a quando non eseguirai un probe o il commit su tutti i tipi di media supportati dalla fotocamera. Ciò presenta potenziali problemi con l'individuazione di eventuali valori di margine per una determinata risoluzione, poiché questi dipendono dal campo visivo del sensore normalmente utilizzato da quel formato rispetto al campo visivo totale disponibile sul sensore.
Funzionalità
La finestra digitale è correlata a diversi controlli esistenti:
Padella
Effettuare correzioni solo se il contesto specifico lo richiede.
Zoom
Se la fotocamera usa implementazioni digitali per uno di questi controlli, è necessario modificare i valori segnalati da Finestra digitale in modo che corrispondano allo stesso campo di visualizzazione. Analogamente, La finestra digitale deve modificare i valori segnalati da questi controlli. Tutte le implementazioni digitali di questi controlli devono essere aggiornate l'una dall'altra per rimanere sincronizzate.
Microsoft non definisce la relazione tra questi controlli e solo l'ultimo controllo set ha la precedenza.
Aree di interesse
Poiché La finestra digitale modifica l'apparente campo di visualizzazione (FOV), le coordinate selezionate tramite qualsiasi controllo ROI (Region of Interest) devono essere reimpostate sulle impostazioni predefinite ogni volta che viene emesso un SET a questo controllo. L'elenco dei controlli ROI correnti include:
Proprietà_ID_REGIONE_DI_INTERESSE_CAMERACONTROL_KSPROPERTY
KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_CONFIGCAPS/KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL
Inoltre, questi controlli Area di interesse specificano le relative aree relative alla finestra di output, quindi le coordinate specificate sono sempre un rettangolo nel campo corrente della visualizzazione. Poiché il controllo Finestra Digitale modifica il campo visivo corrente, un rettangolo dell'Area di Interesse deve essere rimappato dalla fotocamera per adattarsi all'interno della Finestra Digitale corrente. Ad esempio, se la finestra digitale corrente ha (OriginX, OriginY) di (0,0, 0.0) e WindowSize pari a 0,5 e se viene specificato un oggetto Region of Interest (0,0, 0,0), (0,5, 0,5), la fotocamera deve eseguire il mapping del rettangolo Region of Interest ai pixel corrispondenti ai pixel (0,0, 0,0), (0,25, 0,25) nel campo predefinito della visualizzazione. Questo comportamento dovrebbe essere analogo a e coerente con il comportamento apparente dei controlli panoramica, inclinazione e zoom con questi controlli Region of Interest.
Trasmissione in diretta
Poiché i valori validi della finestra digitale disponibili dipendono dalle proporzioni correnti, la fotocamera deve aver selezionato un tipo di supporto e un'interfaccia di streaming per applicare MinWindowSize.
Valori informativi
Anche l'oggetto NonUpscalingWindowSize segnalato viene segnalato per risoluzione, ma è solo informativo per l'applicazione. Questo valore indica all'applicazione quale valore impostare come WindowSize per evitare l'ingrandimento dell'immagine di origine. Ciò consente all'applicazione di acquisire un'immagine ai limiti della fedeltà del sensore della fotocamera.
Attributi dei metadati
Se la fotocamera annuncia MSXU_CONTROL_DIGITALWINDOW, MSXU_CONTROL_DIGITALWINDOW_CONFIG e ha impostato una dimensione del buffer diverso da zero su MSXU_CONTROL_METADATA, la fotocamera deve emettere l'attributo MF_CAPTURE_METADATA_DIGITAL_WINDOW per ogni fotogramma. Può fornire questo valore tramite un MFT del dispositivo o includendo un attributo MetadataId_DigitalWindow (valore 7) nel buffer di metadati non elaborati. Come includere gli attributi dei metadati è descritto più avanti nella sezione 2.2.3.1 Metadati in formato Standard Microsoft.
Questi metadati vengono usati per segnalare la finestra digitale applicata all'esempio corrente. Questa operazione viene eseguita inizializzando il KSCAMERA_METADATA_ITEMHEADER con il valore MetadataId_DigitalWindow e le dimensioni della struttura e copiando i valori OriginX, OriginY e WindowSize applicati dal controllo finestra digitale in una struttura di KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING associata.
Vedere anche
Sezione 2.2.2.11 Controllo finestra digitale
Sezione 2.2.2.12 Controllo configurazione finestra digitale
Sezione 2.2.3.1 Metadati in formato Standard Microsoft
Specifica della classe video USB
KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW_CONFIGCAPS
KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW (Proprietà avanzata della videocamera per finestra digitale)
KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS
KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER