Een 4K frame bevat meer dan acht miljoen pixels. 30 van die frames per seconde zonder compressie verzenden creëert een zeer grote datastroom.USB-cameramodules gebruiken daarom vaak MJPEG omdat JPEG-compressie de hoeveelheid gegevens die over de USB-link moeten reizen vermindert.
USB2.0 heeft veel minder praktische bandbreedte dan USB3.x. Zelfs op USB3.x kunnen ongekomprimeerde high-bit-rate-modi concurreren met andere apparaten en host-controller-limieten.MJPEG stelt dezelfde fysieke interface in staat om een hogere resolutie of framerate te dragen door het aantal bytes per frame te verminderen.
In tegenstelling tot langlopende videocodecs zoals H.264/H.265, MJPEG comprimeert afzonderlijke frames als JPEG-afbeeldingen. Dit maakt willekeurige frametoegang relatief eenvoudig en voorkomt afhankelijkheden van interframe voorspelling.dat eenvoud nuttig is, ook al blijven de compressie-artifacten.
De camera of brug comprimeert het beeld en de host decodeert het.Een zwakke ingebedde processor kan worstelen met meerdere 4K MJPEG-stromen, zelfs als de USB-bus ze kan dragen.
Voor systemen met meerdere camera's moet zowel het gebruik van USB als de decodering van de CPU/GPU worden gemeten.
De host moet nog steeds de modus onderhandelen, de stream ontvangen, frames decoderen en in het geheugen verplaatsen.De kwaliteit van de kabel en het delen van de USB-controller kunnen ook van invloed zijn op de duurzame prestaties.
Een specificatie moet worden geverifieerd op de eindhost in plaats van ervan uit te gaan dat het een succesvolle test op een desktop-pc is.
Als een algoritme gevoelig is voor JPEG-artifacten, consistent pixelwaarden vereist of decoder-latentie vermijdt, kan YUY2 of een ander ongecomprimeerd / ruw pad worden verkozen.lagere resolutie, kan een lagere framerate of een andere interface nodig zijn.
Vergelijk de modutabel: resolutie, beeldsnelheid en formaat. Controleer vervolgens de USB-versie, de decodering van de host, de latentie en of de applicatie elk beeld verwerkt.Een module adverteren ¥4K30 ¥ kan zich heel anders gedragen, afhankelijk van of die modus MJPEG is, H.264 of een ander formaat.
Een enkele 4K30 MJPEG camera kan betrouwbaar streamen op een host, maar vier identieke camera's kunnen USB-topologie of decoderbronnen overweldigen.Maar het gecombineerde systeem moet nog vier stromen ontvangen en decoderen.Het ontwerp van meerdere camera's vereist daarom geaggregeerde metingen, niet een veronderstelling per camera.
De volledige verklaring moet het formaat en de interface bevatten: bijvoorbeeld 3840×2160 bij 30 fps in MJPEG via een specifieke USB-link.Deze lezen gewoonte voorkomt veel selectiefouten.
Het is een verliezend compressieformaat, dus artefacten zijn mogelijk.
H.265 kan efficiënter comprimeren, maar voegt codec-complexiteit en vaak meer latentie toe.
Het kan mogelijk zijn voor sommige formaten en implementaties, maar de exacte gegevenssnelheid, protocol overhead en host pipeline moeten worden gecontroleerd.