YUY2 è un modo comune per trasportare video in cui le informazioni di luminanza (Y) vengono memorizzate per ogni pixel e le informazioni di crominanza vengono condivise tra pixel adiacenti utilizzando il campionamento 4:2:2. Nel lavoro pratico con i moduli fotocamera, il punto importante è che YUY2 non è pesantemente compresso come MJPEG. L'host riceve una grande quantità di dati immagine per ogni fotogramma.
L'output non compresso evita artefatti di compressione JPEG e rimuove la necessità di decodificare ogni fotogramma. Questo può essere utile per la visione artificiale, l'analisi delle immagini o applicazioni in cui dati pixel coerenti sono più importanti del risparmio di larghezza di banda. L'host può elaborare i fotogrammi direttamente dopo l'acquisizione, sebbene la conversione del colore possa essere ancora necessaria.
Poiché YUY2 invia molti più dati rispetto a MJPEG compresso, la larghezza di banda dell'interfaccia diventa rapidamente un limite. Un modulo USB 2.0 potrebbe offrire 1080p a un frame rate YUY2 modesto, fornendo al contempo un frame rate molto più elevato in MJPEG. Lo stesso principio si applica a 4K: il video non compresso può superare il throughput pratico dell'interfaccia.
Questo è il motivo per cui una tabella delle specifiche mostra spesso frame rate massimi diversi per YUY2 e MJPEG.
La visione umana è generalmente più sensibile ai dettagli di luminosità rispetto ai dettagli di colore. Il campionamento 4:2:2 mantiene le informazioni di luminanza a frequenza pixel orizzontale completa, condividendo i campioni di crominanza tra coppie di pixel. Il risultato riduce il volume dei dati colore rispetto a RGB completo, rimanendo molto meno compresso rispetto a JPEG.
Gli artefatti di compressione sono una variabile, ma la qualità dell'obiettivo, l'esposizione, il rumore, l'elaborazione ISP e l'output del sensore possono dominare la qualità dell'immagine. Un fotogramma YUY2 rumoroso e fuori fuoco può essere meno utile di un fotogramma MJPEG ben esposto. Il formato corretto dipende dal compito a valle.
È utile quando l'host necessita di dati di fotogramma prevedibili, la combinazione risoluzione/frame rate rientra nella larghezza di banda e le risorse CPU/GPU possono elaborare lo stream. È comune nei prototipi di visione artificiale, nelle misurazioni, nello sviluppo di algoritmi e nei sistemi che desiderano evitare la decodifica JPEG.
Cercare la risoluzione esatta e il frame rate elencati sotto YUY2, non solo la risoluzione massima del sensore del modulo. Controllare anche la versione USB, se l'host supporta la modalità richiesta e se più telecamere condividono il bus.
Alla stessa risoluzione e frame rate, YUY2 richiede tipicamente molti più dati di trasporto rispetto a MJPEG perché ogni fotogramma viene inviato con poca o nessuna compressione dell'immagine. Questo è il motivo per cui una telecamera USB può offrire un frame rate MJPEG elevato mentre la sua modalità YUY2 è molto più lenta. Il sensore non è cambiato; l'onere del trasporto sì.
Se l'algoritmo si aspetta già fotogrammi YUV non compressi, YUY2 può rimuovere un passaggio di decodifica e rendere prevedibile l'accesso ai pixel. Ciò può essere utile per misurazioni o prototipazione. Il compromesso è il carico del bus, quindi i progettisti dovrebbero verificare se l'host dispone di larghezza di banda sufficiente per la risoluzione e il numero di telecamere desiderati.
Viene generalmente trasportato senza compressione in stile JPEG, ma utilizza il sottocampionamento della crominanza 4:2:2, quindi non è la stessa cosa del campionamento RGB completo.
Lo stream non compresso richiede molta più larghezza di banda USB per fotogramma.
No. Alcune applicazioni possono utilizzare MJPEG o altri formati in modo efficace. Scegliere in base a larghezza di banda, latenza, elaborazione e requisiti dell'immagine.