YUY2 ist eine gängige Methode für den Videotransport, bei der Luminanzinformationen (Y) für jedes Pixel gespeichert und Chromainformationen zwischen benachbarten Pixeln mit 4:2:2-Abtastung geteilt werden. In der praktischen Arbeit mit Kameramodulen ist der wichtige Punkt, dass YUY2 nicht stark komprimiert ist wie MJPEG. Der Host empfängt für jedes Bild eine große Menge an Bilddaten.
Die unkomprimierte Ausgabe vermeidet JPEG-Komprimierungsartefakte und eliminiert die Notwendigkeit, jedes Bild zu dekodieren. Dies kann für Computer Vision, Bildanalyse oder Anwendungen nützlich sein, bei denen konsistente Pixeldaten wichtiger sind als die Einsparung von Bandbreite. Der Host kann Bilder direkt nach der Aufnahme verarbeiten, obwohl möglicherweise immer noch eine Farbkonvertierung erforderlich ist.
Da YUY2 viel mehr Daten als komprimiertes MJPEG sendet, wird die Schnittstellenbandbreite schnell zu einer Grenze. Ein USB2.0-Modul bietet möglicherweise 1080p bei einer moderaten YUY2-Bildrate, während es in MJPEG eine viel höhere Bildrate bietet. Das gleiche Prinzip gilt für 4K: Unkomprimiertes Video kann den praktischen Durchsatz der Schnittstelle überschreiten.
Deshalb zeigt eine Spezifikationstabelle oft unterschiedliche maximale Bildraten für YUY2 und MJPEG an.
Das menschliche Sehen ist im Allgemeinen empfindlicher für Helligkeitsdetails als für Farbunterschiede. Die 4:2:2-Abtastung behält die Luminanzinformationen bei voller horizontaler Pixelfrequenz bei und teilt die Chromaproben über Pixelpaare. Das Ergebnis reduziert das Farbdatenvolumen im Vergleich zu vollem RGB, während es deutlich weniger komprimiert ist als JPEG.
Komprimierungsartefakte sind eine Variable, aber Objektivqualität, Belichtung, Rauschen, ISP-Verarbeitung und Sensorleistung können die Bildqualität dominieren. Ein verrauschtes, schlecht fokussiertes YUY2-Bild kann weniger nützlich sein als ein gut belichtetes MJPEG-Bild. Das richtige Format hängt von der nachgelagerten Aufgabe ab.
Es ist nützlich, wenn der Host vorhersagbare Bilddaten benötigt, die Kombination aus Auflösung/Bildrate innerhalb der Bandbreite liegt und CPU/GPU-Ressourcen den Stream verarbeiten können. Es ist üblich bei Prototypen für maschinelles Sehen, Messungen, Algorithmenentwicklung und Systemen, die die JPEG-Dekodierung vermeiden möchten.
Achten Sie auf die genaue Auflösung und Bildrate, die unter YUY2 aufgeführt sind, nicht nur auf die maximale Sensorauflösung des Moduls. Überprüfen Sie auch die USB-Version, ob der Host den angeforderten Modus unterstützt und ob mehrere Kameras den Bus gemeinsam nutzen.
Bei gleicher Auflösung und Bildrate benötigt YUY2 typischerweise weitaus mehr Transportdaten als MJPEG, da jedes Bild mit wenig oder keiner Bildkomprimierung gesendet wird. Deshalb kann eine USB-Kamera eine hohe MJPEG-Bildrate bieten, während ihr YUY2-Modus viel langsamer ist. Der Sensor hat sich nicht geändert; die Transportlast hat sich geändert.
Wenn der Algorithmus bereits unkomprimierte YUV-Bilder erwartet, kann YUY2 einen Dekodierschritt entfernen und den Pixelzugriff vorhersagbar machen. Das kann für Messungen oder Prototypen nützlich sein. Der Kompromiss ist die Buslast, daher sollten Designer prüfen, ob der Host über genügend Bandbreite für die gewünschte Auflösung und Anzahl von Kameras verfügt.
Es wird im Allgemeinen ohne JPEG-ähnliche Komprimierung transportiert, verwendet aber 4:2:2-Chromasubsampling, sodass es nicht dasselbe ist wie volles RGB-Sampling.
Der unkomprimierte Stream benötigt pro Bild viel mehr USB-Bandbreite.
Nein. Einige Anwendungen können MJPEG oder andere Formate effektiv nutzen. Wählen Sie basierend auf Bandbreite, Latenz, Verarbeitung und Bildanforderungen.