¿Cómo escriben las cámaras con velocidad de fotogramas ultra alta tan rápido?

66

La grabación a 1080p y 100,000 FPS por 1 segundo en el códec ProRes 422 usa hasta 73.2 gigabytes de almacenamiento. (FUENTE)

¿Cómo escriben las cámaras de ultra alta velocidad en las tarjetas SD a velocidades tan rápidas, como 580.56 gigabits por segundo? Antes de escribir, ¡el material de archivo también debe ser codificado / procesado! ¿Cuál es la tecnología detrás de las cámaras de velocidad de cuadro ultra alta que pueden administrar grandes cantidades de datos de imagen? ¿Tienen memorias intermedias gigantescas?

clickbait
fuente
15
Las PC de gama alta pueden escribir en la RAM a 19,2 GB / s , y eso es hardware estándar de uso general. Entonces, vuélvala a la RAM sin procesar y luego tómese su tiempo para ahorrarla.
RomanSt
2
¿Debería esto moverse a la foto SE?
dalearn el
44
@dalearn: En todo caso, electrónica. SE. ¿Cómo puede ser tan rápido el caché? (sobre los resultados de referencia de ancho de banda de memoria / caché en un IvyBridge multinúcleo) fue bien recibido allí.
Peter Cordes
3
@RomanSt: Eso es para un solo stick (es decir, un canal / un controlador de memoria). Los sistemas de escritorio / laptop típicos son de doble canal, los escritorios de alta gama pueden ser triples o de cuatro canales. por ejemplo, sin overclocking, el ancho de banda de memoria máximo teórico de una CPU Intel con DDR4-2400 (como un Coffee Lake i3-8100 ) es 37.5 GB / s. El rendimiento práctico es algo menor, y se requieren múltiples núcleos para saturar el ancho de banda de la DRAM .
Peter Cordes
8
El ancho de banda de la memoria de la GPU es quizás un mejor ejemplo de lo que se puede hacer con DRAM soldado en una placa, con muchos canales, optimizado para el rendimiento de los patrones de acceso secuencial. Como un GTX1080 con 320 GB / s de ancho de banda de 8 GB de GDDR5X , o 112 GB / s para un presupuesto GTX1050. Y en estos días hay DRAM apilada en 3D, como HBM ( en.wikipedia.org/wiki/High_Bandwidth_Memory ) que proporciona hasta 256 GB / s por paquete.
Peter Cordes

Respuestas:

75

¿Cuál es la tecnología detrás de las cámaras de alta velocidad de cuadro capaz de administrar grandes cantidades de datos de imágenes?

Grabación a 1080p y 100,000 FPS

No al mismo tiempo:

Si está disparando 1,000,000 fps, está disparando en monocromo con una resolución de 128 x 32. Para una resolución completa de 1280 x 800, puede disparar a 25,600 fps.

Estas cámaras usan una combinación de:

  • grandes cantidades de RAM

    "Puedes disparar durante 7,6 segundos a resolución completa con la opción de 288 GB de RAM

  • tarjetas SSD especializadas

    "Un CineMag puede grabar directamente alrededor de 1Gpixel / segundo"

Aquí hay solo un ejemplo de cómo se hace:

Echemos un vistazo a una cámara de alta velocidad real, en lugar de hablar en abstracto. Este es el Phantom v2512, que puede disparar a resoluciones de hasta 1280 x 800 y velocidades de cuadro de hasta 1,000,000 fps con una opción especial. Sin embargo, no ambos al mismo tiempo. Si está disparando 1,000,000 fps, está disparando en monocromo con una resolución de 128 x 32. Para una resolución completa de 1280 x 800, puede disparar a 25,600 fps. Afirman que esta es la cámara de video de 1Mpixel más rápida del mercado.

Por lo tanto, puede disparar a 25 Gpixels por segundo. Sin embargo, eso no se envía a un SSD que va a la RAM. Puede pedir la cámara con 72 GB, 144 GB o 288 GB de RAM. RAM dinámica, por supuesto, mucho, mucho más rápido que cualquier SSD. Puede disparar durante 7,6 segundos a resolución completa con la opción de 288 GB de RAM.

Para tomas más largas y lentas, ofrecen un SSD diseñado a medida para video de alta velocidad, el CineMag IV. Un CineMag puede grabar directamente alrededor de 1Gpixel / segundo, por lo que son 1500MB / s. Por supuesto, dado que están utilizando un SSD personalizado y no una unidad estándar, no hay razón para esperar que estos se limiten necesariamente a las velocidades de aquellos utilizados en los SSD estándar estándar para PC.

Fuente ¿Cómo procesan las cámaras de alta velocidad gigabytes de datos a velocidades tan cortas? - Quora


Otras lecturas

DavidPostill
fuente
24
También incluyen ASIC a medida de ultra alta velocidad para realizar la compresión y codificación de video en tiempo real. No piense en la codificación de video acelerada por hardware acelerada por hardware en esteroides, sino en la codificación de video literal pura por hardware. El "procesador" de video probablemente representa más de $ 20,000 del costo de la cámara solamente.
qasdfdsaq
Un ejemplo de una configuración del mundo real y el uso de esos SSD, puede ver la configuración de Linus Tech Tips. (Probablemente) no es la mejor configuración, pero es un ejemplo.
Ismael Miguel
1
Simplemente no estoy seguro en qué mundo 1500mb / s es una velocidad de escritura rápida para un SSD de gama alta. PM1725a, Samsung, hace MUCHO más que eso y ese es un SSD de centro de datos "estándar". Tengo un par de ellos en mis servidores.
TomTom
1
La cita dice 10,000 FPS pero el original dice 100,000 FPS (demasiado pequeño para una edición).
Zackary
5

Eso no es lo que sucede en absoluto.

Como se puede ver claramente en el video, la grabación a 120k fps se realiza con una resolución de 512 * 320 , que es menos del 8% del ancho de banda para 1080p. A 170k fps, la resolución es solo de 256 * 256 , y la grabación de 340k se realiza nuevamente a la mitad de esa resolución, que es solo el 3% del ancho de banda del que estás hablando.
El video final en youtube es 1080p, claro, pero los videos fuente (al menos los de alta velocidad) no lo son, se aumentan después del hecho.

Entonces, aunque todavía es bastante , no es lo que crees que es.

El modelo más pequeño de estas cámaras tiene 72 GB de RAM, y van hasta 288 GB de RAM. Suponiendo la resolución más baja que han usado en el video, y el modelo más grande de la cámara, la cámara podría almacenar alrededor de 2 millones de cuadros de cromo completo, o aproximadamente 5.8 segundos de video en RAM así como así, no Necesito escribir algo alguna vez.
Pero no hace eso, almacena cuadros que son aproximadamente 1/10 de ese tamaño. Entonces, realmente, puede grabar casi un minuto sin tener que escribir algo. Agregue a eso un medio de almacenamiento rápido (del cual incluso los más baratos son capaces de tomar más de 100 MB / s hoy en día, y la categoría superior se parece más a 1 GB / s), y no sorprende que pueda funcionar.
Tenga en cuenta que gracias a las escrituras paralelas, incluso con un medio lento que no puede mantener el ritmo de las escrituras indefinidamente, puede aumentar en gran medida la capacidad de grabación total, por lo que es prácticamente ilimitado (no hace 2 horas de alta- grabaciones de velocidad de todos modos).

En cuanto al procesamiento / compresión, ProRes 422 no es comparable a la compresión de video típica. Es un submuestreo de croma simple muerto seguido de un DCT, estrictamente restringido a un solo cuadro. Sin estimación de movimiento, predicción, dependencia entre cuadros, ninguno de ese tipo. Básicamente, se trata de una especie de compresión JPEG de un solo cuadro con submuestreo , que ha sido bien investigada durante más de 25 años, un problema embarazosamente paralelo , y para el cual está disponible fácilmente un hardware barato y dedicado que tiene toda la transformación cableada . Hacer esto rápido no es un desafío técnico. Almacenar datos comprimidos es tan rápido como almacenar datos sin comprimir.

Damon
fuente
1

Como se mencionó, RAM de alta velocidad. Si eso no corta la mostaza, puedes:

  • intercalar RAMS de alta velocidad. Por ejemplo, conecta ocho o dieciséis chips de RAM en paralelo a la salida del sensor, y les dice que almacenen uno tras otro, y luego el primero, de forma redonda. Las RAM solo necesitan ser un ocho o un dieciseisavo más rápido. Si no pueden manejar el cambio de datos tan rápido frente a sus entradas, agregue un registro rápido adicional como intermediario.

    Una forma alternativa es estropear las ocho o dieciséis o la cantidad de RAM al mismo tiempo, pero escalonar la longitud de los cables / trazas que conducen a ellas, de modo que los datos que estaban actualizados en diferentes momentos aparecen en la entrada de cada RAM.

  • Utilice una memoria que no sea direccionable, sino que funcione de una manera FIFO / cola: esto no necesita manejar direcciones en absoluto, puede simplemente registrar los datos en estos dispositivos tan rápido como puedan, hasta que literalmente salga por el otro extremo, si necesita más espacio, simplemente conecte más de estos dispositivos a ese otro extremo. Una vez que haya llegado el momento de leerlo, puede hacerlo a su velocidad preferida.

rackandboneman
fuente
fifo se implementa a través de grandes registros de desplazamiento o un registro de dirección incremental alimentado en un decodificador de dirección. Los registros de desplazamiento son muy caros en potencia y espacio de silicio (en términos relativos) en comparación con un decodificador de direcciones.
Ratchet Freak