Question Comment les caméras à très haut débit d'images écrivent-elles si rapidement?


Enregistrement en 1080p et 100 000 FPS pendant 1 seconde, le codec ProRes 422 utilise 73,2 gigaoctets de stockage. (LA SOURCE)

Comment les caméras ultra-haute vitesse écrivent-elles sur des cartes SD à une vitesse aussi rapide, comme 580,56 gigabits par seconde? Avant d'écrire, le métrage doit également être encodé / traité! Quelle est la technologie derrière les caméras à très haut débit d'images, capable de gérer d'énormes quantités de données d'image? Ont-ils des mémoires tampons gigantesques?


66
2017-07-15 19:53


origine


Des PC haut de gamme peuvent écrire à la RAM à 19,2 Go / s, et que c'est du matériel d'usage général standard. Donc, jetez-le dans la RAM non traité et prenez votre temps pour l'enregistrer. - RomanSt
Faut-il le déplacer sur photo.SE? - dalearn
@dalearn: Si quelque chose, electronics.SE. Comment le cache peut-il être aussi rapide? (à propos des résultats des tests de performance de la bande passante mémoire / cache sur un IvyBridge multicœur) a été bien accueilli. - Peter Cordes
@RomanSt: C'est pour un seul stick (c'est-à-dire un canal / un contrôleur de mémoire). Les ordinateurs de bureau / portables typiques sont à double canal, les ordinateurs de bureau haut de gamme peuvent être triples ou quadri-canaux. par exemple. sans overclocking, la bande passante mémoire maximale théorique d'un processeur Intel avec DDR4-2400 (comme un Coffee Lake i3-8100) est de 37,5 Go / s. Le débit pratique est légèrement inférieur et il faut plusieurs cœurs pour saturer la bande passante de la DRAM. - Peter Cordes
La bande passante de la mémoire GPU est peut-être un meilleur exemple de ce qui peut être fait avec la DRAM soudée sur une carte, avec de nombreux canaux, optimisée pour le débit des modèles d’accès séquentiels. Comme un GTX1080 avec 320 Go / s de bande passante à partir de 8 Go de GDDR5X, ou 112 Go / s pour un budget GTX1050. Et ces jours-ci, il y a des DRAM empilés en 3D, comme HBM (en.wikipedia.org/wiki/High_Bandwidth_Memory) donnant jusqu'à 256 Go / s par paquet. - Peter Cordes


Réponses:


Quelle est la technologie derrière les caméras à haute fréquence d'images capable de gérer d'énormes quantités de données d'image?

Enregistrement en 1080p et 100 000 FPS

Pas en même temps:

Si vous filmez 1 000 000 i / s, vous prenez des photos en monochrome avec une résolution de 128 x 32. Pour une résolution de 1280 x 800 en pleine résolution, il peut tourner à 25 600 images par seconde.

Ces caméras utilisent une combinaison de:

  • grandes quantités de RAM

    "Vous pouvez filmer pendant 7,6 secondes en pleine résolution avec l’option de 288 Go de RAM

  • cartes spécialisées SSD

    "Un CineMag peut directement enregistrer environ 1Gpixel / seconde"

Voici juste un exemple de la façon dont cela se fait:

Jetons un coup d’œil à une véritable caméra à haute vitesse, plutôt que juste   parler dans l'abstrait. Ceci est le Phantom v2512, qui peut tirer   à des résolutions allant jusqu'à 1280 x 800 et des cadences allant jusqu'à 1 000 000 fps   avec une option spéciale. Cependant, pas les deux en même temps. Si vous êtes   en tirant 1 000 000 fps, vous filmez en monochrome à 128 x 32   résolution. Pour une résolution maximale de 1280 x 800, il peut tourner à 25 600   fps. Ils affirment que c'est la caméra vidéo 1Mpixel la plus rapide du   marché.

Donc, il peut tirer à 25 Gpixels par seconde. Cela n'est pas envoyé à un SSD,   cependant, cela va à la RAM. Vous pouvez commander la caméra avec 72 Go, 144 Go,   ou 288 Go de RAM. RAM dynamique, bien sûr, beaucoup plus rapide que tout autre SSD.   Vous pouvez filmer pendant 7,6 secondes en pleine résolution avec la RAM de 288 Go   option.

Pour des prises de vue plus longues et plus lentes, elles offrent un SSD spécialement conçu pour   vidéo haute vitesse, le CineMag IV. Un CineMag peut enregistrer directement à propos de   1 Gpixel / seconde, soit 1500 Mo / s. Bien sûr, étant donné qu'ils sont   en utilisant un SSD personnalisé et non une unité standard, il n’ya aucune raison de   s'attendent à ce qu'ils soient nécessairement limités aux vitesses de ceux utilisés dans   SSD standard pour PC.

La source Comment les caméras haute vitesse traitent-elles des gigaoctets de données à des vitesses aussi courtes? - Quora


Lectures complémentaires


75
2017-07-15 20:19



Ils comprennent également des ASIC ultra-rapides sur mesure pour effectuer la compression vidéo et l'encodage en temps réel. Ne pensez pas à un encodage vidéo accéléré par matériel avec accélération matérielle sur les stéroïdes, mais plutôt à un encodage vidéo matériel purement littéral. Le "processeur" vidéo représente probablement plus de 20 000 $ du coût de la seule caméra. - qasdfdsaq
Un exemple d'une configuration et d'une utilisation réelles de ces SSD, vous pouvez consulter la configuration de Linus Tech Tips. Ce n'est probablement pas la meilleure configuration, mais c'est un exemple. - Ismael Miguel
Je ne suis pas sûr de savoir dans quel monde la vitesse d’écriture est de 1500 Mo / s pour un SSD haut de gamme. PM1725a, Samsung, fait plus que cela et c'est un SSD de centre de données «standard» - j'en ai quelques-uns sur mes serveurs. - TomTom
La citation indique 10 000 FPS mais l'original indique 100 000 FPS (trop petit pour un montage). - Zackary
@ Zackary Merci. Fixé. - DavidPostill♦


Ce n'est pas ce qui se passe du tout.

Comme on peut le voir clairement dans la vidéo, l’enregistrement à 120 000 images par seconde se fait avec 512 * 320 résolution, qui est inférieure à 8% de la bande passante pour 1080p. À 170 000 images / s, la résolution est seulement 256 * 256, et l'enregistrement 340k se fait à nouveau à la moitié de cette résolution, ce qui ne représente que 3% de la bande passante dont vous parlez.
La vidéo finale sur YouTube est 1080p, bien sûr, mais la la source les vidéos (au moins celles à grande vitesse) ne le sont pas, elles sont mises à jour après coup.

Alors, alors qu'il est encore pas mal, ce n'est pas ce que vous pensez.

Le plus petit modèle de ces caméras a 72 Go de RAM, et ils montent à 288 Go de RAM. En supposant la plus basse des résolutions qu'ils ont utilisées dans la vidéo et le plus grand modèle de la caméra, la caméra pourrait stocker environ 2 millions d'images à pleine chrominance, soit environ 5,8 secondes de vidéo dans la RAM, comme ça, non. besoin de jamais écrire quelque chose.
Mais ça ne pas faire cela, il stocke des cadres qui sont environ 1/10 de cette taille. Donc, vraiment, il peut enregistrer presque une minute sans jamais écrire quelque chose. Ajoutez à cela un support de stockage rapide (dont même les moins chers sont capables de prendre 100 Mo / s de nos jours, et le top est plus proche de 1 Go / s), et il est peu surprenant de voir comment cela pourrait fonctionner.
Notez que grâce aux écritures parallèles, même avec un support lent qui ne supporte pas toujours les écritures indéfiniment, vous pouvez augmenter considérablement la capacité totale d’enregistrement de manière à ce qu’elle soit pratiquement illimitée enregistrements de vitesse de toute façon).

En ce qui concerne le traitement / la compression, ProRes 422 n'est pas comparable à la compression vidéo typique. C'est un simple sous-échantillonnage de chrominance mort suivi d'un DCT, strictement limité à une seule trame. Pas d'estimation de mouvement, de prédiction, de dépendance entre les images, aucune de ce genre. Donc, fondamentalement, c'est une sorte de single-frame sous-échantillonné JPEG la compression, qui est bien documentée depuis plus de 25 ans, un parallèlement embarrassant problème, et pour lequel du matériel dédicacé et bon marché qui a toute la transformation câblé est facilement disponible. Faire ce rapide n'est pas un défi technique. Stocker des données compressées est aussi rapide que stocker des données non compressées.


4
2017-07-16 12:11





Comme mentionné, RAM haute vitesse. Si cela ne coupe pas la moutarde, vous pouvez:

  • entrelacer RAMS haute vitesse. Par exemple, vous attachez huit ou seize puces de mémoire vive parallèlement à la sortie du capteur et dites-leur de stocker les unes après les autres, puis la première à nouveau, à tour de rôle. Les RAM ne doivent être qu'un huit ou un seizième. S'ils ne peuvent pas gérer les changements de données si rapidement devant leurs entrées, ajoutez un registre supplémentaire rapide en tant qu'intermédiaire.

    Une autre méthode consiste à brancher simultanément les huit, seize ou même plusieurs mémoires RAM, mais échelonner la longueur des fils / tracés qui les mènent, de sorte que les données actuelles à différents moments apparaissent à l’entrée de chaque RAM.

  • Utilisez de la mémoire qui n'est pas adressable mais qui fonctionne plutôt en mode FIFO / queue - cela ne nécessite aucune manipulation des adresses, vous pouvez simplement synchroniser les données dans ces périphériques aussi vite qu'ils peuvent, jusqu'à ce qu'ils sortent littéralement - si vous avez besoin de plus d'espace, il vous suffit d'attacher plus de ces périphériques à cette autre extrémité. Une fois que le temps est venu de le lire, vous pouvez le faire à votre vitesse préférée.


1
2017-07-16 15:08



fifo est implémenté soit par le biais de grands registres à décalage, soit par un registre d'adresse incrémenté introduit dans un décodeur d'adresse. Les registres à décalage sont très coûteux en termes de puissance et d'espace silicium (en termes relatifs) par rapport à un décodeur d'adresse. - ratchet freak