Freigeben über


Problembehandlung bei Device.Streaming-Tests

Führen Sie die folgenden Schritte aus, um Probleme zu beheben, die mit Device.Streaming-Tests auftreten:

  1. Lesen Sie die folgenden Themen des Windows Hardware Lab Kit (Windows HLK):
  2. Überprüfen Sie die Windows HLK-Versionshinweise auf aktuelle Testprobleme.
  3. Suchen Sie verwendbare Informationen zu einem Testfehler im Windows HLK Studio-Testprotokoll. Wenn Sie verwendbare Informationen finden, beheben Sie das Problem, und führen Sie den Test erneut aus.
  4. Verwenden Sie Microsoft.Windows.CameraDebug TraceLogging-Anbieter , um Protokolle zu ergreifen, um Fehler von Treiber zu Kamerapipeline zu beheben.

Spezifische Informationen zu HMFT-Tests

Die Hardware Media Foundation Transform (HMFT)-Decodierungs- und Codierungstests erfordern folgendes:

  • Ergänzungsinhalte für Windows HLK-Tests für HMFT Multimedia-Tests: Laden Sie den ergänzenden Inhalt für Windows HLK-Tests für HMFT Multimedia-Tests aus dem Windows Dev Center herunter und installieren Sie sie. Weitere Informationen zum Installieren und Konfigurieren des ergänzenden Inhalts finden Sie unter HMFT-Testanforderungen.

  • Standardinhaltsdateien, die in windows HLK enthalten sind.

Wenn der ergänzende Inhalt auf den Clientcomputern nicht verfügbar ist, stellen Sie sicher, dass der ContentSource-Parameter ordnungsgemäß konfiguriert wird, wenn die HMFT-Tests ausgeführt werden.

Problembehandlung bei Webcam-Videoaufnahmen

Fehler Beschreibung Lösung/Problemumgehung

Während des Setups kann der Test die Region of Interest (ROI) nicht finden.

Der Test sucht nach ROI-Markern (Schwarz- und Weißkreisen) an bekannten Standorten im Test. Wenn der Test keine ROI-Marker identifizieren kann, kann der Test nicht ordnungsgemäß ausgeführt werden. Fehler beim Erkennen von ROI kann durch eine schlecht ausgerichtete Kamera oder unbrauchbare Videoaufnahme aus der Kamera verursacht werden (z. B. ist der Raum zu dunkel).

Positionieren Sie die Kamera nach Testprozedur neu, und stellen Sie sicher, dass die Kamera unter Testlichtbedingungen ein nutzbares Bild bereitstellt.

Während des Setups passt der ROI nicht in die Kameraansicht.

Der Test sucht nach ROI-Markern (Schwarz- und Weißkreisen) an bekannten Standorten im Test. Wenn der Test keine ROI-Marker identifizieren kann, kann der Test nicht ordnungsgemäß ausgeführt werden. Kleinere Ansichtskameras (z. B. rückseitige Kameras) müssen möglicherweise weiter als 0,5 m vom Testziel positioniert werden, um den erforderlichen ROI zu erfassen.

Positionieren Sie die Kamera neu, und bestätigen Sie, dass die Kamera ein nutzbares Bild unter Testlichtbedingungen bereitstellt. Um ungenaue Messung der Ansichtsanforderung zu vermeiden, geben Sie den neuen Abstand in die Testanwendung ein, wenn Sie die Position anpassen.

Mögliche Fehlerursachen und Empfehlungen zur Verbesserung von Webcamvideoaufnahmen

Bildschärfe

Räumliche Auflösung

Die räumliche Auflösung wird mithilfe der Modulübertragungsfunktion (räumliche Häufigkeitsantwort) gemessen. Insbesondere wird die Metrik MTF30 verwendet, die die Anzahl der Zyklen/Pixel ist, durch die ein MTF=0,3 erreicht wird.

Wenn der MTF30 unter 0,3 liegt, ist das Bild zu weich oder fuzzy. Obwohl dieses Problem durch schlechte Qualitätsoptik verursacht werden kann, wird es in der Regel durch schlechte Bildsignalverarbeitung (Bildskalierung, Demosaicing usw.) verursacht. Wenn das MTF30 über 0,8 liegt, kann das Bild zu aliasen sein. Dieses Problem wird häufig durch schlechte Bildsignalverarbeitung verursacht, insbesondere die Skalierung (z. B. die nächste Benachbarte Interpolation anstelle der bi kubischen Interpolation mit Anti-Aliasing).

Fokusbereich (Tiefenfeld)

Die Fokusbereichsanforderung besteht darin, dass sich die Kamera auf Objekte mit einem Abstand von 0,3m bis unendlich konzentriert, unabhängig davon, ob autofokus verwendet wird. Die MTF30-Räumliche Auflösungsmetrik bestimmt den Fokusbereich. Wenn diese Metrik bei einer manuellen Fokuskamera fehlschlägt, kann ein Entwurfsproblem die Ursache sein; Beispielsweise ist > die theoretische Tiefe des Felds 0,3m bis unendlich, wenn sie sich auf einen Zielabstand von 0,5m für Notizbücher/Tablets oder auf 0,7m für all-in-Eins konzentriert. Wenn der Zielabstand richtig ist, müssen Sie möglicherweise die Optik ändern, um die richtige Tiefe des Felds zu erreichen.

Wenn ein Autofokus-Objektiv verwendet wird und diese Metrik fehlschlägt, ist ein Problem im Autofokus-Algorithmus die wahrscheinlichste Ursache.

Stördatenverkehr

Räumliches Signal zu Rauschverhältnis

Räumliches Rauschen misst die räumliche Variation in einem einzelnen Bild mithilfe eines neutralen grauen (0,7 Dichte)-Patchs im Testdiagramm. Wenn diese Metrik fehlschlägt, ist es wahrscheinlich aufgrund eines schlechten Qualitätssensors (unzureichende Vertraulichkeit) oder unzureichender Bilddeaktivierung. Bildsensoren sollten ausgewählt werden, die über einen SNR10 (die Lux-Ebene erforderlich ist, um einen SNR=10 auf einem 0,7-Dichte-Patch ohne Deaktivierung) von < 50 Lux zu erreichen. Einige Bilddenotierungsstufen sind zulässig, sollten aber die Texturabbildung nicht erheblich beeinträchtigen. Eine Methode zur Messung der Texturacutance (unabhängig von Windows HLK) wird in der Lync Logo Video Capture-Spezifikation (Rev G) bereitgestellt. Weitere Informationen zu den Lync-Logo-Spezifikationen finden Sie unter USB-Peripheriegeräte und Lync PC-Testspezifikationen.

Zeitliches Signal zu Rauschverhältnis

Zeitliches Rauschen misst die zeitliche Variation in zwei Bildern mithilfe eines neutralen grauen (0,7 Dichte)-Patchs im Testdiagramm. Wenn diese Metrik fehlschlägt, ist es wahrscheinlich aufgrund eines schlechten Qualitätssensors (unzureichende Vertraulichkeit), einer schlechten automatischen Verstärkung (AGC) und der automatischen Belichtungssteuerung (AEC), einer schlechten Frequenzsteuerung oder einer unzureichenden Bilddeaktivierung. Ein instabiles AEC/AGC-Steuerelement kann zu sichtbaren Flimmern führen. Die Netzfrequenzsteuerung wird verwendet, um 50/60 Hz Beleuchtung zu erkennen. Anpassen der Belichtung; wenn dies nicht gut funktioniert, flimmern (mit Rollflimmern) ist im Video offensichtlich.

Farbqualität

Luminance für ein neutrales graues Patch (0,7 Dichte)

Die automatische Gewinnungs- und Belichtungssteuerung sollte ein Bild erzeugen, sodass der neutrale graue Patch im Testdiagramm eine Luminance von 128 +/- 40 Graustufen aufweist. Wenn dies fehlschlägt und die Luminance 88 ist, liegt < es entweder an einer schlechten AEC/AGC oder einem Bildsensor, der eine niedrige Empfindlichkeit aufweist. In den meisten Fällen können Sie das Problem beheben, indem Sie die AEC/AGC optimieren. Wenn die Luminance 168 ist, ist > auch ein Problem mit der AEC/AGC vorhanden.

Farbgenauigkeit

Die Farbgenauigkeit wird mithilfe der maximalen und mittleren ΔC₀₀ im Hinblick auf die bekannten Farben im ColorChecker-Testdiagramm gemessen. Wenn diese Metrik fehlschlägt, kann es sich um ein Problem mit der weißen Ausgleichs- oder Farbeinheitlichkeit handeln, die durch das Optimieren der Bildsignalverarbeitung verbessert werden kann.

Gamma

Gamma misst den nichtlinearen Vorgang, der zum Code von Luminance- oder Tristimulus-Werten in Video- oder Stillbildern verwendet wird. Wenn Gamma 0,75 ist > , können Bilder zu sättigungsfrei aussehen. Wenn Gamma 0,4 ist < , können Bilder untersättigt aussehen. Beide Probleme können behoben werden, indem sie die Gammaverarbeitung in der Bildsignalverarbeitung anpassen.

Geometrie

Vertikale Ansicht

Die vertikale Ansichtsanforderung für benutzerseitige Kameras ist ≥ 35INVALID USE OF SYMBOLS und für Rückkameras ist es ≥ 25INVALID USE OF SYMBOLS. Wenn dieser Test fehlschlägt, kann es aufgrund von Bildausschnitten (nicht mit dem gesamten Bildsensor), der in der Bildsignalverarbeitung behoben werden kann. Das Problem ist jedoch wahrscheinlicher aufgrund des Objektivdesigns. In diesem Fall ist ein neues oder geändertes Objektiv erforderlich.

Zeitliche Steuerung

Bildfrequenz:

Die Videoframerate muss ≥ 14 FPS in 20 Lux Licht und ≥ 29 FPS in 80 Lux Licht sein. Wenn die Framerate kleiner als diese Anforderungen ist, können Sie sie in der Regel beheben, indem Sie die automatische Belichtung optimieren und kontrolle erhalten.

Latenz

Die Videolatenz misst die Zeit für Photonen in der Kamera, um Photonen aus der Anzeige heraus zu machen. Die Videolatenzanforderung ist ≤ 80ms für MIPI-Kameras und ≤ 120ms für USB-Kameras; Dieser Fehler ist häufig auf niedrige Frameraten oder Bildsignalverarbeitung zurückzuführen, die einen oder mehrere Framepuffer verwendet. Sie können beide Probleme beheben, indem Sie die Bildsignalverarbeitung der Kamera verbessern.

Audio-/Videosynchronisierung

Die Audio-/Videosynchronisierung misst den Zeitunterschied zwischen erfassten Audio- und aufgenommenen Videos. Ein Fehler dieser Metrik wird häufig durch Fehler der Videolatenz oder audiolatenz verursacht. Weitere Informationen finden Sie unter Communications Audio Fidelity Test (System, Manual).

Zeit zum Erfassen und Bereitstellen des ersten Foto- oder Videoframes

Die ersten Video- und Fotoframes müssen innerhalb von 500Ms aufgenommen werden, um das Video zu starten oder ein Foto zu machen. Der häufigste Grund dafür, dass diese Anforderung fehlschlägt, ist eine langsame automatische Exposition und die Konvergenz der Kontrolle, die Sie verbessern können, indem Sie die AEC/AGC optimieren.

Zeit zum Bereitstellen eines Fotos in nachfolgenden Anforderungen (Stetiger Zustand)

Nachfolgende Fotobilder müssen innerhalb von 250Ms (ohne Blitz) und 500Ms (mit Blitz) erfasst werden. Ein gängiger Grund dafür, dass diese Anforderung fehlschlägt, ist eine langsame automatische Exposition und die Konvergenz der Kontrolle, die Sie verbessern können, indem Sie die AEC/AGC optimieren.

Zeit zum Ändern von Auflösungen (beliebiger Medientyp)

Die Zeit zum Ändern von Auflösungen (z. B. 720p bis 360p) muss ≤ 250Ms sein. Ein gängiger Grund dafür, dass diese Anforderung fehlschlägt, ist eine langsame automatische Exposition und die Konvergenz der Kontrolle, die Sie verbessern können, indem Sie die AEC/AGC optimieren.

Zeit zum Wechseln von Kameras

Die Zeit zum Ändern von Kameras (z. B. von der Frontkamera zur Rückkamera) muss ≤ 750Ms sein. Ein gängiger Grund dafür, dass diese Anforderung fehlschlägt, ist eine langsame automatische Exposition und die Konvergenz der Kontrolle, die Sie verbessern können, indem Sie die AEC/AGC optimieren.

Glitch frei/jitter

Das Video ist glitchfrei, wenn es eine maximale Zwischenrahmenzeit ≤ 133ms bei 20 Lux, max. Framezeit ≤ 66ms bei 80 Lux und jitter ≤ 7ms (gemessen am Video renderr). Die häufigste Ursache für das Fehlschlagen von max. Framezeiten und Jitter ist nicht das Erreichen der Zielframeraten. Beispielsweise schlägt eine 24 FPS-Videokamera sowohl maximale Zeit- als auch Jitteranforderungen aus. In diesen Fällen sollten Sie die Framerate auf 15 FPS bei 20 Lux und 30 FPS bei 80 Lux anpassen.

Andere

CPU-Auslastung

Wenn das System Video erfasst und rendert, muss die CPU-Nutzung ≤ 5 % sein. Eine häufige Ursache des Fehlers ist, wenn die CPU für die Bildsignalverarbeitung verwendet wird. Alle kritischen ISP sollten deaktiviert werden, um die CPU nicht zu verwenden oder zu optimieren, um ≤ 5 % zu verwenden.

Anti-Flicker-Lösung

Die Abbildung in 50 oder 60 Hz Beleuchtung mit der falschen Belichtung (Powerline-Frequenz) kann dazu führen, dass der SNR erheblich beeinträchtigt wird. Manuelle Netzfrequenzsteuerung ist erforderlich und getestet. Der am häufigsten verwendete Fehler unterstützt keine manuelle Netzfrequenzsteuerung.

Microsoft.Windows.CameraDebug TraceLogging

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

Derzeit wird dieser Anbieter nur verwendet, um kritische Fehler während der Kameraheftübergänge aufzuzeichnen. In der folgenden Tabelle werden die Ereignisstruktur und der Inhalt zusammengefasst.

Komponente ErrorCode ProcessId threadId OsErrorCode
(Optional)

Erklärung, welche Funktionalität dieses Ereignisses verursacht hat, String.
Mögliche Werte:
- Treiber::Active
- Treiber::P ause
- Treiber::InActive

Fehler des ursprünglichen Treibers, HRESULT

Prozess-ID, bei der fehler aufgetreten ist

Thread-ID, bei der fehler aufgetreten ist

Wenn der Gemeldete Treiberfehler in einen anderen Fehler übersetzt wird, wird HRESULT

Aufzeichnen und Anzeigen von Ereignissen

Weitere Anleitungen finden Sie unter Datensatz - und Ansicht von TraceLogging-Ereignissen.

Im folgenden Beispiel handelt es sich um eine WPRP-Datei zum Erfassen von Microsoft.Windows.CameraDebug TraceLogging-Anbieterereignissen:

<?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>

Device.Streaming-Tests

Problembehandlung bei Windows HLK