Un fotogramma 4K contiene più di otto milioni di pixel. Inviando 30 di questi fotogrammi al secondo senza compressione si crea un flusso di dati molto grande.I moduli delle fotocamere USB utilizzano quindi spesso MJPEG perché la compressione JPEG riduce la quantità di dati che devono viaggiare attraverso il collegamento USB.
L'USB2.0 ha una larghezza di banda molto meno pratica di USB3.x. Anche su USB3.x, le modalità non compresse ad alta velocità di bit possono competere con altri dispositivi e i limiti del controller host.MJPEG consente alla stessa interfaccia fisica di trasportare una risoluzione o frame rate più elevata riducendo il numero di byte per fotogramma.
A differenza dei codec video long-GOP come H.264/H.265, MJPEG comprime singoli fotogrammi come immagini JPEG. Questo rende relativamente semplice l'accesso a fotogrammi casuali ed evita le dipendenze di previsione tra fotogrammi.che la semplicita' e' utile anche se gli artefatti di compressione rimangono.
La compressione non fa scomparire i dati, ma sposta il lavoro altrove.Un processore incorporato debole può lottare con diversi flussi MJPEG 4K anche se il bus USB può trasportarli.
Per i sistemi a più telecamere, misurare sia l'utilizzo dell'USB che il carico di decodifica della CPU/GPU.
L'host deve ancora negoziare la modalità, ricevere il flusso, decodificare i frame e spostarli in memoria.La qualità del cavo e la condivisione del controller USB possono anche influenzare le prestazioni prolungate.
Una specifica dovrebbe essere verificata sull'host finale piuttosto che presupposto da un test di successo su un PC desktop.
Se un algoritmo è sensibile agli artefatti JPEG, richiede valori di pixel coerenti o evita la latenza del decodificatore, può essere preferito YUY2 o un altro percorso non compresso / grezzo.risoluzione inferiore, può essere necessario un frame rate inferiore o un'interfaccia diversa.
Confronta la tabella di modalità: risoluzione, frequenza di fotogrammi e formato. Poi controlla la versione USB, carico di decodifica host, latenza e se l'applicazione elabora ogni fotogramma.Un modulo pubblicitario 4K30 può comportarsi in modo molto diverso a seconda che la modalità sia MJPEG, H.264 o altro formato.
Una singola fotocamera 4K30 MJPEG può trasmettere in modo affidabile su un host, ma quattro fotocamere identiche possono travolgere le risorse di topologia USB o decodificatore.Tuttavia il sistema combinato deve ancora ricevere e decodificare quattro flussiLa progettazione multi-camera richiede quindi misure aggregate, non un presupposto per camera.
La dichiarazione completa dovrebbe includere il formato e l'interfaccia: ad esempio, 3840 × 2160 a 30 fps in MJPEG su un collegamento USB specifico.Questa abitudine di lettura previene molti errori di scelta.
È un formato di compressione a perdita, quindi gli artefatti sono possibili.
H.265 può comprimere in modo più efficiente, ma aggiunge complessità al codec e spesso maggiore latenza.
Può essere possibile per alcuni formati e implementazioni, ma la velocità di dati esatta, il protocollo overhead e la pipeline host devono essere controllati.