Condividi tramite


Risoluzione dei problemi di Device.Streaming Testing

Per risolvere i problemi che si verificano con i test Device.Streaming, seguire questa procedura:

  1. Esaminare gli argomenti seguenti di Windows Hardware Lab Kit (Windows HLK):
  2. Esaminare le note sulla versione di Windows HLK per individuare i problemi di test correnti.
  3. Per un errore di test, cercare informazioni utilizzabili nel log di test di Windows HLK Studio. Se si trovano informazioni utilizzabili, risolvere il problema ed eseguire di nuovo il test.
  4. Usare il provider Microsoft.Windows.CameraDebug TraceLogging per acquisire i log per risolvere gli errori dal driver alla pipeline della fotocamera.

Informazioni specifiche sui test HMFT

La decodifica e i test di codifica hardware Media Foundation Transform (HMFT) richiedono quanto segue:

  • Contenuto supplementare per i test HLK di Windows per test multimediali HMFT: scaricare e installare il contenuto supplementare per i test di Windows HLK per test multimediali HMFT da Windows Dev Center. Per altre informazioni sull'installazione e la configurazione del contenuto supplementare, vedere Prerequisiti di test HMFT.

  • File di contenuto standard inclusi in Windows HLK.

Se il contenuto supplementare non è disponibile nei computer client, assicurarsi che il parametro ContentSource sia configurato correttamente quando vengono eseguiti i test HMFT.

Risoluzione dei problemi relativi alle acquisizioni video webcam

Errore Descrizione Soluzione/soluzione alternativa

Durante la configurazione, il test non riesce a trovare l'area di interesse (ROI).

Il test cerca i marcatori ROI (cerchi neri e bianchi) in posizioni note sul test. Se il test non è in grado di identificare i marcatori ROI, il test non può essere eseguito correttamente. L'impossibilità di rilevare il ROI può essere causata da una fotocamera poco mirata o da un'acquisizione video inutilizzabile dalla fotocamera (ad esempio, la stanza è troppo scura).

Riposizionare la fotocamera in base alla procedura di test e assicurarsi che la fotocamera fornisca un'immagine utilizzabile in condizioni di illuminazione di test.

Durante la configurazione, il ROI non rientra nella visualizzazione della fotocamera.

Il test cerca i marcatori ROI (cerchi neri e bianchi) in posizioni note sul test. Se il test non è in grado di identificare i marcatori ROI, il test non può essere eseguito correttamente. Per acquisire il ROI richiesto, potrebbe essere necessario posizionare un campo più piccolo delle fotocamere di visualizzazione (ad esempio, fotocamere posteriori) più lontano di 0,5 m dalla destinazione di test.

Riposizionare la fotocamera e verificare che la fotocamera fornisca un'immagine utilizzabile in condizioni di illuminazione di test. Per evitare una misurazione imprecisa del campo del requisito di visualizzazione, immettere la nuova distanza nell'applicazione di test se si regola la posizione.

Potenziali cause radice di errore e raccomandazioni per migliorare le acquisizioni di video webcam

Acuità dell'immagine

Risoluzione spaziale

La risoluzione spaziale viene misurata usando la funzione di trasferimento modulo (risposta alla frequenza spaziale). In particolare, viene usata la metrica MTF30, ovvero il numero di cicli/pixel in base al quale viene ottenuto un MTF=0.3.

Quando MTF30 è inferiore a 0,3, l'immagine è troppo morbida o fuzzy. Anche se questo problema può essere causato da un'ottica di qualità scarsa, in genere è causato da un'elaborazione scarsa del segnale di immagine (ridimensionamento delle immagini, demosaicing e così via). Quando MTF30 è superiore a 0,8, l'immagine può essere troppo aliasata. Questo problema è spesso causato da un'elaborazione del segnale di immagine di qualità scarsa, in particolare dal ridimensionamento (ad esempio, l'interpolazione più vicina più vicina anziché l'interpolazione bi-cubica con anti-aliasing).

Intervallo di messa a fuoco (profondità del campo)

Il requisito dell'intervallo di messa a fuoco è che la fotocamera si concentri sugli oggetti a una distanza di 0,3 m all'infinito, indipendentemente dal fatto che venga usata o meno l'autofocus. La metrica di risoluzione spaziale MTF30 determina l'intervallo di messa a fuoco. Se questa metrica ha esito negativo su una fotocamera con stato attivo manuale, un problema di progettazione potrebbe essere la causa; Ad esempio, la profondità teorica del campo è > da 0,3 m all'infinito quando si concentra su una distanza di destinazione di 0,5 m per notebook/tablet o a 0,7 m per tutti gli elementi. Se la distanza di destinazione è corretta, potrebbe essere necessario modificare l'ottica per ottenere la profondità corretta del campo.

Se viene usata un obiettivo autofocus e non riesce questa metrica, un problema nell'algoritmo autofocus è la causa più probabile.

Rumore

Rapporto tra segnale spaziale e rumore

Il rumore spaziale misura la variazione spaziale in una singola immagine usando una patch grigio neutro (densità 0,7) nel grafico di test. Se questa metrica ha esito negativo, è molto probabile che si verifichi un sensore di qualità scarsa (sensibilità insufficiente) o un'immagine insufficiente che denota. I sensori di immagine devono essere selezionati con un snr10 (il livello lux necessario per ottenere un SNR=10 su una patch di densità 0,7 senza denotamento) di < 50 lux. Un certo livello di denotazione dell'immagine è accettabile, ma non dovrebbe degradare significativamente l'acutance della trama. Un metodo di misurazione dell'acutance delle trame (indipendentemente da Windows HLK) è disponibile nella specifica di acquisizione video del logo Lync (Rev G). Per altre informazioni sulle specifiche del logo Lync, vedere Le periferiche USB e le specifiche di test del PC Lync.

Rapporto tra segnale temporale e rumore

Il rumore temporale misura la variazione temporale in due immagini usando una patch grigio neutro (densità 0,7) nel grafico di test. Se questa metrica ha esito negativo, è molto probabile che un sensore di qualità scarsa (sensibilità insufficiente), un guadagno automatico insufficiente (AGC) e il controllo automatico dell'esposizione (AEC), un controllo della frequenza della linea di alimentazione insufficiente o un'immagine insufficiente denota. Un controllo AEC/AGC instabile può causare sfarfallio visibile. Il controllo frequenza della linea di alimentazione viene usato per rilevare l'illuminazione da 50/60 Hz. Regolare l'esposizione; se questo non funziona bene, lo sfarfallio (usando lo sfarfallio in sequenza) è evidente nel video.

Qualità dei colori

Dominanza per una patch grigia neutra (densità 0,7)

Il controllo automatico di guadagno ed esposizione deve produrre un'immagine in modo che la patch grigia neutra nel grafico di test abbia una luminanza di 128 +/- 40 livelli di grigio. Se l'errore ha esito negativo e la luminanza è < 88, è dovuta a una scarsa sensibilità AEC/AGC o a un sensore di immagine con bassa sensibilità. Nella maggior parte dei casi, è possibile risolvere il problema ottimizzando AEC/AGC. Se la luminanza è > 168, esiste anche un problema con AEC/AGC.

Accuratezza dei colori

L'accuratezza del colore viene misurata utilizzando il valore massimo e medio ₀₀ rispetto ai colori noti nel grafico di test colorChecker. Quando questa metrica ha esito negativo, può trattarsi di un problema con il bilanciamento del bianco o l'uniformità del colore, che possono essere migliorati ottimizzando l'elaborazione del segnale di immagine.

Gamma

Gamma misura l'operazione non lineare usata per codificare la luminanza o i valori tristimuli in immagini video o ancora. Quando gamma è > 0,75, le immagini possono apparire troppo sature; quando gamma è < 0,4, le immagini possono apparire sotto saturazione. Entrambi i problemi possono essere risolti modificando l'elaborazione gamma nell'elaborazione del segnale dell'immagine.

Geometria

Campo verticale della visualizzazione

Il campo di visualizzazione verticale per le fotocamere rivolte all'utente è ≥ 35INVALID USO DI SIMBOLI E per le fotocamere posteriori è ≥ 25INVALID USO DI SIMBOLI. Quando questo test ha esito negativo, può essere dovuto al ritaglio delle immagini (non usando l'intero sensore di immagine), che può essere corretto nell'elaborazione del segnale dell'immagine. Tuttavia, il problema è più probabile a causa del design dell'obiettivo. In questo caso, è necessaria una lente nuova o modificata.

Intervallo

Frequenza dei fotogrammi

La frequenza dei fotogrammi video deve essere ≥ 14 FPS in 20 lux di luce e ≥ 29 FPS in 80 lux di luce. Se la frequenza dei fotogrammi è inferiore a questi requisiti, è in genere possibile correggerla ottimizzando l'esposizione automatica e ottenere il controllo.

Latency

La latenza video misura il tempo per i fotoni nella fotocamera per fare fotoni fuori dallo schermo. Il requisito di latenza video è ≤ 80 ms per le fotocamere MIPI e ≤ 120 ms per le fotocamere USB; questo errore è spesso dovuto alla bassa frequenza dei fotogrammi o all'elaborazione del segnale di immagine che usa uno o più buffer di fotogrammi. È possibile risolvere entrambi i problemi migliorando l'elaborazione del segnale di immagine della fotocamera.

Sincronizzazione audio/video

La sincronizzazione audio/video misura la differenza di tempo tra l'audio acquisito e il video acquisito. Un errore di questa metrica è spesso causato da un errore di latenza video o latenza audio. Per altre informazioni, vedere Communications Audio Fidelity Test (System, Manual).

Tempo necessario per acquisire e distribuire la prima foto o fotogramma video

I primi fotogrammi video e foto devono essere acquisiti entro 500 ms dall'avvio del video o scattare una foto. Il motivo più comune per cui questo requisito è l'esposizione automatica lenta e ottenere la convergenza del controllo, che è possibile migliorare ottimizzando AEC/AGC.

Tempo di consegnare una foto nelle richieste successive (stato stabile)

Le immagini foto successive devono essere acquisite entro 250 ms (senza flash) e 500 ms (con flash). Un motivo comune per cui si verifica questo requisito è la lentezza dell'esposizione automatica e la convergenza del controllo, che è possibile migliorare ottimizzando AEC/AGC.

Tempo necessario per modificare le risoluzioni (qualsiasi tipo di supporto)

Il tempo necessario per modificare le risoluzioni ,ad esempio da 720p a 360p, deve essere ≤ 250 ms. Un motivo comune per cui si verifica questo requisito è la lentezza dell'esposizione automatica e la convergenza del controllo, che è possibile migliorare ottimizzando AEC/AGC.

Tempo per cambiare telecamere

Il tempo necessario per cambiare le fotocamere (ad esempio, dalla fotocamera anteriore alla fotocamera posteriore) deve essere ≤ 750 ms. Un motivo comune per cui si verifica questo requisito è la lentezza dell'esposizione automatica e la convergenza del controllo, che è possibile migliorare ottimizzando AEC/AGC.

Glitch free/jitter

Il video è gratuito se ha un tempo inter-fotogramma massimo ≤ 133 ms a 20 lux, max inter-frame time ≤ 66 ms a 80 lux e jitter ≤ 7 ms (misurata al renderer video). La causa più comune per cui si verifica un errore sia per il numero massimo di intervalli di fotogrammi che per il jitter non è il raggiungimento della frequenza dei fotogrammi di destinazione. Ad esempio, una fotocamera video da 24 FPS non riuscirà a soddisfare i requisiti massimi di tempo tra fotogrammi e jitter. In questi casi, è necessario regolare la frequenza dei fotogrammi in modo da puntare a 15 FPS a 20 lux e 30 FPS a 80 lux.

Altri

Utilizzo della CPU

Quando il sistema acquisisce e esegue il rendering di video, l'utilizzo della CPU deve essere ≤ 5%. Una causa comune di errore è quando la CPU viene usata per l'elaborazione del segnale di immagine. Tutti gli ISP critici devono essere caricati per non usare la CPU o ottimizzati per usare ≤ 5%.

Soluzione anti-sfarfallio

La creazione di immagini in illuminazione da 50 o 60 Hz con la modalità di esposizione errata (frequenza di alimentazione) può causare un sfarfallio che degrada significativamente SNR. È necessario e testato il controllo manuale della frequenza della linea di alimentazione. L'errore più comune non supporta il controllo manuale della frequenza della linea di alimentazione.

Microsoft.Windows.CameraDebug TraceLogging

  • Nome:
    • Microsoft.Windows.CameraDebug
  • GUID:
    • {9EE22E19-9672-4625-A9FF-C2B711AD923F}
  • Eventi:
    • DriverCriticalError
    • DriverError

Attualmente questo provider viene usato solo per registrare errori critici durante le transizioni dei pin della fotocamera. La tabella seguente riepiloga la struttura e il contenuto degli eventi.

Componente ErrorCode ProcessId ThreadId OsErrorCode
(facoltativo).

Spiegazione della funzionalità che ha causato questo evento String.
I valori possibili sono:
- Driver::Active
- Driver::P ause
- Driver::InActive

Errore segnalato dal driver originale, HRESULT

ID processo in cui si è verificato l'errore

ID thread in cui si è verificato l'errore

Se l'errore segnalato dal driver viene convertito in un errore diverso, HRESULT

Registrazione e visualizzazione di eventi

Per altre indicazioni, vedere Registrare e visualizzare eventi traceLogging.

L'esempio seguente è un file con estensione wprp per acquisire gli eventi del provider Microsoft.Windows.CameraDebug TraceLogging:

<?xml version="1.0" encoding="utf-8"?>
<WindowsPerformanceRecorder Version="1.0" Author="Microsoft Corporation" Copyright="Microsoft Corporation" Company="Microsoft Corporation">
  <Profiles>
    <EventCollector Id="EventCollector_WindowsCameraDebugTraceLoggingProvider" Name="WindowsCameraDebugTraceLoggingProvider">
      <BufferSize Value="64" />
      <Buffers Value="4" />
    </EventCollector>

    <EventProvider Id="EventProvider_WindowsCameraDebugTraceLoggingProvider" Name="9EE22E19-9672-4625-A9FF-C2B711AD923F" />

    <Profile Id="WindowsCameraDebugTraceLoggingProvider.Verbose.File" Name="WindowsCameraDebugTraceLoggingProvider" Description="WindowsCameraDebugTraceLoggingProvider" LoggingMode="File" DetailLevel="Verbose">
      <Collectors>
        <EventCollectorId Value="EventCollector_WindowsCameraDebugTraceLoggingProvider">
          <EventProviders>
            <EventProviderId Value="EventProvider_WindowsCameraDebugTraceLoggingProvider" />
          </EventProviders>
        </EventCollectorId>
      </Collectors>
    </Profile>

    <Profile Id="WindowsCameraDebugTraceLoggingProvider.Light.File" Name="WindowsCameraDebugTraceLoggingProvider" Description="WindowsCameraDebugTraceLoggingProvider" Base="WindowsCameraDebugTraceLoggingProvider.Verbose.File" LoggingMode="File" DetailLevel="Light" />
    <Profile Id="WindowsCameraDebugTraceLoggingProvider.Verbose.Memory" Name="WindowsCameraDebugTraceLoggingProvider" Description="WindowsCameraDebugTraceLoggingProvider" Base="WindowsCameraDebugTraceLoggingProvider.Verbose.File" LoggingMode="Memory" DetailLevel="Verbose" />
    <Profile Id="WindowsCameraDebugTraceLoggingProvider.Light.Memory" Name="WindowsCameraDebugTraceLoggingProvider" Description="WindowsCameraDebugTraceLoggingProvider" Base="WindowsCameraDebugTraceLoggingProvider.Verbose.File" LoggingMode="Memory" DetailLevel="Light" />

  </Profiles>
</WindowsPerformanceRecorder>

Test Device.Streaming

Risoluzione dei problemi di Windows HLK