Un fotograma 4K contiene más de ocho millones de píxeles. Enviar treinta de esos fotogramas cada segundo sin compresión crea un flujo de datos muy grande.Por lo tanto, los módulos de cámaras USB a menudo usan MJPEG porque la compresión JPEG reduce la cantidad de datos que deben viajar a través del enlace USB.
USB2.0 tiene mucho menos ancho de banda práctico que USB3.x. Incluso en USB3.x, los modos de alta velocidad de bits sin comprimir pueden competir con otros dispositivos y los límites del controlador host.MJPEG permite que la misma interfaz física lleve una resolución o velocidad de fotogramas más alta al reducir el número de bytes por fotograma.
A diferencia de los códecs de vídeo GOP largos como H.264/H.265, MJPEG comprime cuadros individuales como imágenes JPEG. Esto hace que el acceso al marco aleatorio sea relativamente simple y evita las dependencias de predicción entre cuadros.que la simplicidad es útil aunque los artefactos de compresión permanecen.
La compresión no hace que los datos desaparezcan, sino que traslada el trabajo a otro lugar.Un procesador embebido débil puede luchar con varias corrientes 4K MJPEG incluso si el bus USB puede llevarlos.
Para los sistemas con varias cámaras, medir la utilización del USB y la carga de decodificación de la CPU/GPU.
El host todavía debe negociar el modo, recibir el flujo, decodificar cuadros y moverlos a la memoria.La calidad del cable y el uso compartido del controlador USB también pueden afectar el rendimiento sostenido.
Una especificación debe verificarse en el host final en lugar de suponer una prueba exitosa en un PC de escritorio.
Si un algoritmo es sensible a los artefactos JPEG, requiere valores de píxeles consistentes o evita la latencia del decodificador, se puede preferir YUY2 u otra ruta sin comprimir / en bruto.Resolución más baja, una tasa de fotogramas más baja o una interfaz diferente pueden ser necesarias.
Compare la tabla de modos: resolución, velocidad de fotogramas y formato. Luego compruebe la versión USB, la carga de decodificación del host, la latencia y si la aplicación procesa cada fotograma.Un módulo publicitario 4K30 puede comportarse de manera muy diferente dependiendo de si ese modo es MJPEG, H.264 u otro formato.
Una sola cámara 4K30 MJPEG puede transmitir confiablemente en un host, pero cuatro cámaras idénticas pueden abrumar la topología USB o los recursos de decodificación.Sin embargo, el sistema combinado todavía tiene que recibir y decodificar cuatro flujosPor lo tanto, el diseño de múltiples cámaras requiere mediciones agregadas, no una suposición por cámara.
La declaración completa debe incluir el formato y la interfaz: por ejemplo, 3840 × 2160 a 30 fps en MJPEG a través de un enlace USB específico.Este hábito de lectura evita muchos errores de selección.
Es un formato de compresión con pérdida, por lo que los artefactos son posibles.
H.265 puede comprimir más eficientemente, pero añade complejidad de códec y a menudo más latencia.
Puede ser posible para algunos formatos e implementaciones, pero se debe verificar la velocidad de datos exacta, la sobrecarga del protocolo y la tubería de hosts.