Panoramica delle finestre digitali

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.

MSXU_CONTROL_DIGITALWINDOW controllo finestra digitale

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 La sezione 2.2.2.11 Controllo finestra digitale nelle estensioni Microsoft per la 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.

acquisizione completa del sensore.

Il sensore di immagine acquisisce qualcosa di più dell'immagine trasmessa all'applicazione client, visualizzata nel rettangolo di selezione rosso. Il rettangolo di selezione arancione illustra il campo di visualizzazione acquisito dalla fotocamera in base alle proporzioni selezionate. Per il controllo finestra digitale, il rettangolo di selezione predefinito è questa casella 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 del marcatore evidenziata nell'immagine è un oggetto di interesse. Se un'applicazione desiderasse concentrarsi su questo oggetto, potrebbe impostare una finestra digitale per includerla.

finestra digitale ridimensionata ritagliata.

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 al rettangolo di selezione originale e predefinito.

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.

Stretching

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 deve essere legale edizione Standard T_CUR richieste o per implementare il ricampionamento o il ridimensionamento dell'immagine che potrebbe potenzialmente distorcere l'immagine orizzontalmente o verticalmente, ovvero 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.

Inquadratura automatica del viso

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 viene implementato come controllo AutoUpdate, che consentirebbe a un driver della fotocamera di sfruttare tale controllo per eseguire la panoramica, l'inclinazione o lo zoom del CT_DIGITAL_WINDOW_CONTROL sincronizzato.

Questo nuovo controllo consente di controllare direttamente il tracciamento dei volti per regolare il campo della visualizzazione inclinando, panoramica o zoom digitalmente per mantenere visibile la maggior parte del viso come è pratico. 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 esteso la specifica UVC per supportare i metadati incorporati nelle intestazioni del payload del 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 sull'esecuzione di istruzioni usate per l'animazione della modifica da parte della 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. Potresti non sapere in anticipo quale parte del campo di visualizzazione del sensore userebbe per impostazione predefinita la fotocamera fino a quando non eseguirai un probe o il commit su tutti i tipi di supporti supportati dalla fotocamera. Ciò presenta potenziali problemi con l'individuazione di qualsiasi valore del porticato per una determinata risoluzione, poiché questi dipendono dal campo di visualizzazione del sensore normalmente in uso da tale formato rispetto al campo totale di visualizzazione disponibile nel sensore.

Funzionalità

La finestra digitale è correlata a diversi controlli esistenti:

  • Trancio

  • Inclinazione

  • 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 edizione Standard T a questo controllo. L'elenco dei controlli ROI correnti include:

  • KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_PROPERTY_ID

  • KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_CONFIGC piattaforma di strumenti analitici/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 corrente della visualizzazione, un rettangolo Area di interesse deve essere mappato 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 WindowSizepari 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.

Streaming

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 non ottenere la scalabilità 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 KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_edizione Standard TTING associata.

Vedi 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_CONFIGC piattaforma di strumenti analitici

KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW

KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGC piattaforma di strumenti analitici

KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGC piattaforma di strumenti analitici HEADER

KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_edizione Standard TTING

KSCAMERA_METADATA_DIGITALWINDOW