Wie schreiben Kameras mit extrem hoher Bildrate so schnell?

11329
clickbait

Die Aufzeichnung mit 1080p und 100.000 FPS für 1 Sekunde im ProRes 422-Codec verbraucht 73,2 Gigabyte Speicherplatz. (QUELLE)

Wie schreiben Ultra-High-Speed-Kameras auf SD-Karten mit so schnellen Geschwindigkeiten wie 580,56 Gigabit pro Sekunde? Vor dem Schreiben muss das Material auch codiert / verarbeitet werden! Welche Technologie steckt hinter Kameras mit extrem hoher Bildrate, die in der Lage sind, große Mengen an Bilddaten zu verwalten? Haben sie gigantische Speicherpuffer?

66
PCs der Spitzenklasse können [schreiben (19,2 GB / s) in den RAM schreiben] (https://www.memorybenchmark.net/write_ddr4_intel.html), und das ist handelsübliche Allzweckhardware. Laden Sie ihn also in den unverarbeiteten RAM-Speicher und lassen Sie sich Zeit, um ihn zu speichern. RomanSt vor 6 Jahren 15
Sollte dies zu photo.SE verschoben werden? dalearn vor 6 Jahren 2
@dalearn: Wenn überhaupt, Elektronik. [Wie kann Cache so schnell sein?] (Https://electronics.stackexchange.com/q/329789) (Informationen zu Speicher- / Cache-Bandbreite-Benchmark-Ergebnissen bei einer IvyBridge-Multicore-Plattform) wurden dort gut angenommen. Peter Cordes vor 6 Jahren 4
@PeterCordes Das ist sicherlich eine weitere Option. Ich habe gerade photo.SE erwähnt, da ich dort mehrere ähnliche Fragen gesehen habe. dalearn vor 6 Jahren 1
@RomanSt: Das ist für einen einzelnen Stick (dh ein Kanal / ein Speichercontroller). Typische Desktop- / Laptopsysteme sind zweikanalig, High-End-Desktops können dreifach oder vierkanalig sein. zB ohne Overclocking die theoretische maximale Speicherbandbreite einer Intel-CPU mit DDR4-2400 (wie ein [Coffee Lake i3-8100] (https://ark.intel.com/products/126688/Intel-Core-i3-8100- Prozessor-6M-Cache-3_60-GHz)) beträgt 37,5 GB / s. Der praktische Durchsatz ist etwas niedriger, und [zur Sättigung der DRAM-Bandbreite sind mehrere Kerne erforderlich] (https://stackoverflow.com/q/39260020). Peter Cordes vor 6 Jahren 3
Die GPU-Speicherbandbreite ist vielleicht ein besseres Beispiel dafür, was mit DRAMs auf eine Platine gelötet werden kann, mit vielen Kanälen, die für den Durchsatz für sequenzielle Zugriffsmuster optimiert sind. Wie [eine GTX1080 mit 320 GB / s Bandbreite von 8 GB GDDR5X] (https://superuser.com/questions/1186150/whats-the-difference- zwischen-gpu-memory-bandwidth-und-speed) oder 112GB / s für ein Budget GTX1050. Heutzutage gibt es 3D-Stacked-DRAM wie HBM (https://en.wikipedia.org/wiki/High_Bandwidth_Memory), das bis zu 256 GB / s pro Paket bietet. Peter Cordes vor 6 Jahren 8

3 Antworten auf die Frage

75
DavidPostill

Welche Technologie steckt hinter Kameras mit hoher Bildrate, die in der Lage sind, riesige Bilddatenmengen zu verwalten?

Aufnahme bei 1080p und 100.000 FPS

Nicht gleichzeitig:

Wenn Sie 1.000.000 Bilder pro Sekunde aufnehmen, wird in Monochrom mit einer Auflösung von 128 x 32 aufgenommen. Bei einer vollen Auflösung von 1280 x 800 können Bilder mit 25.600 Bildern pro Sekunde aufgenommen werden.

Diese Kameras verwenden eine Kombination aus:

  • große Mengen an RAM

    "Mit der 288-GB-RAM-Option können Sie 7,6 Sekunden bei voller Auflösung aufnehmen

  • spezielle SSD-Karten

    "Ein CineMag kann direkt ungefähr 1Gpixel / Sekunde aufnehmen."

Hier ist nur ein Beispiel, wie es gemacht wird:

Schauen wir uns eine echte Hochgeschwindigkeitskamera an, anstatt nur abstrakt zu sprechen. Dies ist der Phantom v2512, der mit einer speziellen Option Auflösungen von bis zu 1280 x 800 und Bildraten von bis zu 1.000.000 Bildern pro Sekunde aufnehmen kann. Allerdings nicht beide gleichzeitig. Wenn Sie 1.000.000 Bilder pro Sekunde aufnehmen, wird in Monochrom mit einer Auflösung von 128 x 32 aufgenommen. Bei einer vollen Auflösung von 1280 x 800 können Bilder mit 25.600 Bildern pro Sekunde aufgenommen werden. Sie behaupten, dass dies die schnellste 1-Megapixel-Videokamera auf dem Markt ist.

So können 25 Gpixel pro Sekunde aufgenommen werden. Das wird nicht an eine SSD gesendet, sondern geht an RAM. Sie können die Kamera mit 72 GB, 144 GB oder 288 GB RAM bestellen. Dynamisches RAM natürlich viel schneller als jede SSD. Mit der 288-GB-RAM-Option können Sie 7,6 Sekunden bei voller Auflösung aufnehmen.

Für längere und langsamere Aufnahmen bieten sie eine speziell für Hochgeschwindigkeitsvideos entwickelte SSD, die CineMag IV. Ein CineMag kann direkt etwa 1 Gpixel / Sekunde aufnehmen, also 1500 MB / s. In Anbetracht der Tatsache, dass sie eine benutzerdefinierte SSD verwenden und keine Standardeinheit, gibt es keinen Grund zu erwarten, dass diese notwendigerweise auf die Geschwindigkeit beschränkt ist, die in Standard-Standard-SSDs für PCs verwendet wird.

Quelle Wie verarbeiten Hochgeschwindigkeitskameras Gigabytes von Daten bei so kurzen Geschwindigkeiten? - Quora


Lesen Sie weiter

Sie umfassen auch maßgeschneiderte Ultra-High-Speed-ASICs, um die Videokomprimierung und -codierung in Echtzeit durchzuführen. Denken Sie nicht an hardwarebeschleunigte, hardwarebeschleunigte Videocodierung auf Steroiden, sondern an rein wörtliche Hardware-Videokodierung. Der Videoprozessor macht wahrscheinlich mehr als 20.000 US-Dollar der Kosten der Kamera allein aus. qasdfdsaq vor 6 Jahren 24
Ein Beispiel für ein reales Setup und die Verwendung dieser SSDs finden Sie in den Linus Tech Tips. Es ist (wahrscheinlich) nicht das beste Setup, aber es ist ein Beispiel. Ismael Miguel vor 6 Jahren 0
Nur nicht sicher, in welcher Welt 1500 MB / s die hohe Schreibgeschwindigkeit für ein High-End-SSD ist. PM1725a, Samsung, macht weit mehr als das und das ist eine "Standard" -Datenzentrums-SSD - ich habe ein paar davon auf meinen Servern. TomTom vor 6 Jahren 1
Das Zitat besagt 10.000 FPS, aber das Original sagt 100.000 FPS (zu klein für eine Bearbeitung). Zackary vor 6 Jahren 1
4
Damon

Das passiert überhaupt nicht.

Wie im Video deutlich zu erkennen ist, erfolgt die Aufnahme bei 120 kfps mit einer Auflösung von 512 * 320, was weniger als 8% der Bandbreite für 1080p beträgt. Bei 170k fps beträgt die Auflösung nur 256 * 256, und die 340k-Aufzeichnung erfolgt mit der Hälfte dieser Auflösung, was nur 3% der Bandbreite entspricht, von der Sie sprechen.
Das fertige Video auf youtube ist 1080p, sicher, aber die Quelle Videos (zumindest die Hochgeschwindigkeits sind) sind nicht, sind sie nach der Tat hochskaliert.

Es ist zwar noch ziemlich viel, aber es ist nicht annähernd so, wie Sie denken.

Das kleinste Modell dieser Kameras verfügt über 72 GB RAM und bis zu 288 GB RAM. Unter der Annahme, dass die niedrigste Auflösung, die sie im Video verwendet haben, und des größten Kameramodells angenommen wird, könnte die Kamera etwa 2 Millionen Voll-Chroma-Frames oder etwa 5,8 Sekunden Video im RAM speichern. Nein Müssen immer etwas schreiben.
Das tut es aber nicht, es speichert Frames, die etwa 1/10 dieser Größe sind. Also wirklich, es kann fast eine Minute aufnehmen, ohne etwas zu schreiben. Dazu kommt noch ein schnelles Speichermedium (von dem sogar die billigsten derzeit mehr als 100 MB / s aufnehmen können und erstklassig sind eher 1 GB / s), und es ist wenig überraschend, wie es funktionieren könnte.
Beachten Sie, dass dank paralleler Schreibvorgänge selbst mit einem langsamen Medium, das nicht mithalten kann, die Schreibvorgänge unbegrenzt aufrecht erhalten werden können, die Gesamtaufzeichnungskapazität stark erhöht werden kann, so dass sie praktisch unbegrenzt ist (Sie haben keine 2-Stunden-Laufzeit). Geschwindigkeitsaufzeichnungen trotzdem).

In Bezug auf die Verarbeitung / Komprimierung ist ProRes 422 nicht mit einer typischen Videokomprimierung vergleichbar. Es handelt sich hierbei um ein unkompliziertes Chroma-Subsampling gefolgt von einer DCT, die streng auf einen einzelnen Frame beschränkt ist. Keine Bewegungsschätzung, Vorhersage, Interframe-Abhängigkeit, nichts dergleichen. Im Grunde handelt es sich also um eine Art von JPEG- Komprimierung mit Einzelbild-Einzelbildern, die seit über 25 Jahren gut erforscht ist, ein peinlich paralleles Problem, für das dedizierte, preiswerte Hardware verfügbar ist, die die gesamte Transformation fest verdrahtet hat. Dies schnell zu machen, ist keine technische Herausforderung. Das Speichern komprimierter Daten ist genauso schnell wie das Speichern unkomprimierter Daten.

1
rackandboneman

Wie erwähnt, Hochgeschwindigkeits-RAM. Wenn das den Senf nicht schneidet, können Sie:

  • verschachteln Hochgeschwindigkeits-RAMS. ZB befestigen Sie acht oder sechzehn RAM-Chips parallel an den Sensorausgang und fordern Sie sie auf, nacheinander zu speichern, dann den ersten, Round-Robin-Modus. Die RAMs müssen nur um ein Acht oder ein Sechzehntel so schnell sein. Wenn die Daten nicht so schnell vor den Eingaben geändert werden können, fügen Sie ein zusätzliches schnelles Register als Vermittler hinzu.

    Eine Alternative ist, alle acht oder sechzehn oder auch viele RAMs gleichzeitig zu spulen - aber die Länge der zu ihnen führenden Drähte / Leiterbahnen ist versetzt, so dass Daten, die zu verschiedenen Zeiten aktuell waren, am Eingang jedes RAM erscheinen.

  • Verwenden Sie Speicher, der nicht adressierbar ist, sondern in einer FIFO- / Warteschlangen-Art arbeitet. Dazu müssen Sie keine Adressen bearbeiten. Sie können die Daten in diese Geräte so schnell wie möglich takten, bis sie buchstäblich das andere Ende erreichen - falls dies der Fall ist Sie benötigen mehr Speicherplatz, indem Sie einfach weitere Geräte an das andere Ende anschließen. Sobald es Zeit ist, es auszulesen, können Sie es mit Ihrer bevorzugten Geschwindigkeit tun.

FiFo wird entweder durch große Schieberegister oder ein inkrementierendes Adressregister implementiert, das in einen Adressdecodierer eingespeist wird. Schieberegister sind im Vergleich zu einem Adressdecodierer relativ teuer hinsichtlich Leistung und Siliziumraum. ratchet freak vor 6 Jahren 0