In che modo le videocamere con frame rate ultra elevato scrivono così velocemente?


66

La registrazione a 1080p e 100.000 FPS per 1 secondo nel codec ProRes 422 utilizza fino a 73,2 gigabyte di spazio di archiviazione. (FONTE)

In che modo le telecamere ad altissima velocità scrivono su schede SD a velocità così elevate, come 580,56 gigabit al secondo? Prima di scrivere, anche il filmato deve essere codificato / elaborato! Qual è la tecnologia alla base delle telecamere con frame rate ultra-elevato in grado di gestire enormi quantità di dati immagine? Hanno giganteschi buffer di memoria?


15
I PC di fascia alta possono scrivere su RAM a 19,2 GB / s , e questo è un hardware generico standard. Quindi scaricalo su RAM non elaborato e poi prenditi il ​​tuo tempo risparmiandolo.
Roman,

2
Questo dovrebbe essere spostato su photo.SE?
Dalearn,

4
@dalearn: semmai, electronics.SE. Come può la cache essere così veloce? (sui risultati del benchmark della larghezza di banda di memoria / cache su un IvyBridge multi-core) è stato ben accolto lì.
Peter Cordes,

3
@RomanSt: è per un singolo stick (cioè un canale / un controller di memoria). I tipici sistemi desktop / laptop sono dual-channel, i desktop di fascia alta possono essere tripli o quad-channel. ad es. senza overclock, la larghezza di banda di memoria massima teorica di una CPU Intel con DDR4-2400 (come un Coffee Lake i3-8100 ) è di 37,5 GB / s. Il throughput pratico è leggermente inferiore e sono necessari più core per saturare la larghezza di banda DRAM .
Peter Cordes,

8
La larghezza di banda di memoria della GPU è forse un esempio migliore di ciò che può essere fatto con DRAM saldato su una scheda, con molti canali, ottimizzato per il throughput per i modelli di accesso sequenziale. Come una GTX1080 con 320 GB / s di larghezza di banda da 8 GB di GDDR5X o 112 GB / s per una GTX1050 economica. E in questi giorni c'è una DRAM con stack 3D, come HBM ( en.wikipedia.org/wiki/High_Bandwidth_Memory ) che offre fino a 256 GB / s per pacchetto.
Peter Cordes,

Risposte:


75

Qual è la tecnologia alla base delle fotocamere con frame rate elevato in grado di gestire enormi quantità di dati immagine?

Registrazione a 1080p e 100.000 FPS

Non allo stesso tempo:

Se scatti 1.000.000 di fps, scatti in bianco e nero con una risoluzione di 128 x 32. Per una risoluzione massima di 1280 x 800, può scattare a 25.600 fps.

Queste telecamere utilizzano una combinazione di:

  • grandi quantità di RAM

    "Puoi scattare per 7,6 secondi alla massima risoluzione con l'opzione RAM da 288 GB

  • schede SSD specializzate

    "Un CineMag può registrare direttamente circa 1Gpixel / secondo"

Ecco solo un esempio di come viene fatto:

Diamo un'occhiata a una vera fotocamera ad alta velocità, piuttosto che parlare in astratto. Questa è la Phantom v2512, che può scattare con risoluzioni fino a 1280 x 800 e frame rate fino a 1.000.000 fps con un'opzione speciale. Tuttavia, non entrambi allo stesso tempo. Se scatti 1.000.000 di fps, scatti in bianco e nero con una risoluzione di 128 x 32. Per una risoluzione massima di 1280 x 800, può scattare a 25.600 fps. Sostengono che questa è la videocamera da 1Mpixel più veloce sul mercato.

Quindi può sparare a 25 Gpixels al secondo. Non viene inviato a un SSD, tuttavia, che va alla RAM. È possibile ordinare la fotocamera con 72 GB, 144 GB o 288 GB di RAM. RAM dinamica, ovviamente, molto, molto più veloce di qualsiasi SSD. Puoi scattare per 7,6 secondi alla massima risoluzione con l'opzione RAM da 288 GB.

Per scatti più lunghi e più lenti, offrono un SSD progettato su misura per i video ad alta velocità, il CineMag IV. Un CineMag può registrare direttamente circa 1Gpixel / secondo, quindi 1500 MB / s. Naturalmente, dato che utilizzano un SSD personalizzato e non un'unità standard, non c'è motivo di aspettarsi che questi siano necessariamente limitati alle velocità di quelli utilizzati negli SSD standard per PC.

Fonte In che modo le telecamere ad alta velocità elaborano gigabyte di dati a così basse velocità? - Quora


Ulteriori letture


24
Includono anche ASIC personalizzati ad altissima velocità per eseguire la compressione e la codifica video in tempo reale. Non pensare alla codifica video con accelerazione hardware accelerata dall'hardware sugli steroidi, ma piuttosto alla codifica video hardware letterale pura. Il "processore" video probabilmente rappresenta oltre $ 20.000 del costo della sola fotocamera.
qasdfdsaq,

Un esempio di installazione e utilizzo di questi SSD nel mondo reale, puoi vedere l'installazione di Linus Tech Tips. (Probabilmente) non è la migliore configurazione, ma è un esempio.
Ismael Miguel,

1
Non sono sicuro in quale mondo 1500mb / s sia la velocità di scrittura veloce per un SSD di fascia alta. PM1725a, Samsung, fa molto di più e questo è un SSD datacenter "standard" - ne ho un paio nei miei server.
TomTom,

1
La citazione dice 10.000 FPS ma l'originale dice 100.000 FPS (troppo piccolo per una modifica).
Zackary,

5

Non è affatto quello che succede.

Come si può vedere chiaramente nel video, la registrazione a 120k fps viene eseguita con una risoluzione di 512 * 320 , che è inferiore all'8% della larghezza di banda per 1080p. A 170k fps, la risoluzione è solo 256 * 256 e la registrazione 340k viene eseguita a metà di quella risoluzione, che è solo il 3% della larghezza di banda di cui stai parlando.
Il video finale su YouTube è 1080p, certo, ma i video sorgente (almeno quelli ad alta velocità) non lo sono, vengono ingranditi dopo il fatto.

Quindi, mentre è ancora abbastanza , non è quasi quello che pensi che sia.

Il modello più piccolo di queste fotocamere ha 72 GB di RAM e arriva fino a 288 GB di RAM. Supponendo la più bassa delle risoluzioni che hanno usato nel video e il modello più grande della fotocamera, la fotocamera sarebbe in grado di memorizzare circa 2 milioni di fotogrammi full-chroma o circa 5,8 secondi di video nella RAM in questo modo, no devi mai scrivere qualcosa.
Ma non lo fa, memorizza frame di circa 1/10 di quella dimensione. Quindi davvero, può registrare quasi un minuto senza mai scrivere qualcosa. Aggiungete a ciò un supporto di archiviazione veloce (di cui anche quelli più economici sono in grado di prendere 100 + MB / s al giorno d'oggi, e il massimo è più simile a 1 GB / s), e non c'è da stupirsi di come possa funzionare.
Tieni presente che grazie alle scritture parallele, anche con un supporto lento che non riesce a tenere il passo con il mantenimento indefinito delle scritture, puoi aumentare notevolmente la capacità di registrazione totale in modo che sia praticamente illimitata (non fai alte 2 ore- registrazioni di velocità comunque).

Per quanto riguarda l'elaborazione / compressione, ProRes 422 non è paragonabile alla tipica compressione video. È un semplice sottocampionamento chroma seguito da un DCT, strettamente vincolato a un singolo frame. Nessuna stima del movimento, previsione, dipendenza dall'interframe, niente del genere. Quindi fondamentalmente è una specie di compressione JPEG single-frame sub-campionata , che è ben studiata per oltre 25 anni, un problema imbarazzantemente parallelo , e per il quale è disponibile prontamente hardware dedicato ed economico che ha l'intera trasformazione cablata . Fare questo veloce non è una sfida tecnica. La memorizzazione di dati compressi è rapida quanto la memorizzazione di dati non compressi.


1

Come accennato, RAM ad alta velocità. Se ciò non taglia la senape, puoi:

  • interleave RAMS ad alta velocità. Ad esempio, si collegano otto o sedici chip RAM in parallelo all'uscita del sensore e si dice loro di immagazzinarli uno dopo l'altro, quindi il primo ancora, round robin fashion. Le RAM devono essere solo otto o un sedicesimo più veloci. Se non riescono a gestire i dati cambiando così velocemente davanti ai loro input, aggiungi un registro extra veloce come intermediario.

    Un modo alternativo è stroboscopico tutte le otto o sedici o comunque molte RAM tutte allo stesso tempo - ma scaglionare la lunghezza dei fili / tracce che li portano, quindi i dati che erano correnti in momenti diversi appaiono all'ingresso di ciascuna RAM.

  • Usa una memoria che non è indirizzabile ma invece funziona in modo FIFO / coda - questo non richiede affatto la gestione degli indirizzi, puoi semplicemente sincronizzare i dati su questi dispositivi il più velocemente possibile, fino a quando non esce letteralmente dall'altra parte - se hai bisogno di più spazio, basta collegare più di questi dispositivi a quell'altra estremità. Una volta giunto il momento di leggerlo, puoi farlo alla tua velocità preferita.


fifo è implementato attraverso grandi registri a scorrimento o un registro di indirizzi incrementale immesso in un decodificatore di indirizzo. I registri a scorrimento sono molto costosi in termini di potenza e spazio al silicio (in termini relativi) rispetto a un decodificatore di indirizzo.
maniaco del cricchetto,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.