Como as câmeras com taxa de quadros ultra alta gravam tão rápido?

66

A gravação em 1080p e 100.000 FPS por 1 segundo no codec ProRes 422 usa 73,2 gigabytes de armazenamento. (FONTE)

Como as câmeras de velocidade ultra-alta gravam nos cartões SD em velocidades tão rápidas, como 580,56 gigabits por segundo? Antes de escrever, a filmagem também precisa ser codificada / processada! Qual é a tecnologia por trás das câmeras com taxa de quadros ultra alta capaz de gerenciar grandes quantidades de dados de imagem? Eles têm buffers de memória gigantescos?

isca de click
fonte
15
Os PCs de primeira linha podem gravar na RAM a 19,2 GB / s , e esse é o hardware de uso geral disponível no mercado. Então despeje-o na RAM não processado e, em seguida, gaste seu tempo salvando-o.
RomanSt
2
Isso deve ser movido para photo.SE?
Dalearn
4
@dalearn: Se alguma coisa, electronics.SE. Como o cache pode ser tão rápido? (sobre os resultados de benchmark de largura de banda de memória / cache em um IvyBridge com vários núcleos) foi bem recebido lá.
Peter Cordes
3
@ RomanSt: Isso é para um único stick (ou seja, um canal / um controlador de memória). Os sistemas de desktop / laptop típicos são desktops de dois canais e high-end, que podem ser triplos ou quádruplos. por exemplo, sem overclock, a largura de banda máxima teórica de memória de uma CPU Intel com DDR4-2400 (como um Coffee Lake i3-8100 ) é de 37,5 GB / s. A taxa de transferência prática é um pouco menor e são necessários vários núcleos para saturar a largura de banda da DRAM .
Peter Cordes
8
A largura de banda da memória da GPU é talvez um exemplo melhor do que pode ser feito com a DRAM soldada em uma placa, com muitos canais, otimizados para taxa de transferência para padrões de acesso sequenciais. Como um GTX1080 com 320 GB / s de largura de banda de 8 GB de GDDR5X ou 112 GB / s por um orçamento GTX1050. Hoje em dia, existem DRAMs empilhadas em 3D, como o HBM ( pt.wikipedia.org/wiki/High_Bandwidth_Memory ), que oferece até 256 GB / s por pacote.
Peter Cordes

Respostas:

75

Qual é a tecnologia por trás das câmeras de alta taxa de quadros capazes de gerenciar grandes quantidades de dados de imagem?

Gravação a 1080p e 100.000 FPS

Não ao mesmo tempo:

Se você está gravando 1.000.000 qps, está filmando em monocromático com resolução de 128 x 32. Para resolução total de 1280 x 800, pode gravar a 25.600 fps.

Essas câmeras usam uma combinação de:

  • grandes quantidades de RAM

    "Você pode filmar por 7,6 segundos em resolução máxima com a opção de 288GB de RAM

  • cartões SSD especializados

    "Um CineMag pode gravar diretamente cerca de 1Gpixel / segundo"

Aqui está apenas um exemplo de como isso é feito:

Vamos dar uma olhada em uma câmera real de alta velocidade, em vez de apenas falar em abstrato. Esse é o Phantom v2512, que pode gravar em resoluções de até 1280 x 800 e taxas de quadros de até 1.000.000 fps com uma opção especial. No entanto, não os dois ao mesmo tempo. Se você está gravando 1.000.000 qps, está filmando em monocromático com resolução de 128 x 32. Para resolução total de 1280 x 800, pode gravar a 25.600 fps. Eles afirmam que esta é a câmera de vídeo 1Mpixel mais rápida do mercado.

Assim, ele pode disparar a 25 Gpixels por segundo. Isso não é enviado para um SSD, no entanto, que vai para a RAM. Você pode encomendar a câmera com 72 GB, 144 GB ou 288 GB de RAM. RAM dinâmica, é claro, muito, muito mais rápido que qualquer SSD. Você pode gravar por 7,6 segundos em resolução máxima com a opção de 288 GB de RAM.

Para filmagens mais longas e lentas, eles oferecem um SSD personalizado para vídeo em alta velocidade, o CineMag IV. Um CineMag pode gravar diretamente cerca de 1Gpixel / segundo, ou seja, 1500MB / s. Obviamente, considerando que eles estão usando um SSD personalizado e não uma unidade pronta para uso, não há motivos para esperar que eles sejam necessariamente limitados às velocidades daqueles usados ​​em SSDs padrão disponíveis para PCs.

Fonte Como as câmeras de alta velocidade processam gigabytes de dados em velocidades tão curtas? - Quora


Leitura adicional

DavidPostill
fonte
24
Eles também incluem ASICs de alta velocidade sob medida para fazer a compressão e codificação de vídeo em tempo real. Pense não na codificação de vídeo acelerada por hardware acelerada por hardware em esteróides, mas na codificação de vídeo de hardware literal pura. O "processador" de vídeo provavelmente responde por mais de US $ 20.000 do custo da câmera sozinha.
qasdfdsaq
Um exemplo de configuração e uso no mundo real desses SSDs, você pode ver a configuração das Dicas técnicas da Linus. (Provavelmente) não é a melhor configuração, mas é um exemplo.
Ismael Miguel
11
Apenas não sei em que mundo 1500mb / s é a velocidade de gravação rápida para um ssd de ponta. A PM1725a, Samsung, faz MUITO mais do que isso e esse é um SSD "padrão" do datacenter - eu tenho alguns deles nos meus servidores.
TomTom
11
A citação diz 10.000 FPS, mas o original diz 100.000 FPS (pequeno demais para uma edição).
Zackary
5

Não é isso que acontece.

Como pode ser visto claramente no vídeo, a gravação a 120k fps é feita com resolução de 512 * 320 , que é menos de 8% da largura de banda para 1080p. A 170k fps, a resolução é de apenas 256 * 256 , e a gravação de 340k é feita novamente com metade da resolução, que representa apenas 3% da largura de banda da qual você está falando.
O vídeo final no youtube é 1080p, com certeza, mas os vídeos de origem (pelo menos os de alta velocidade) não são, eles são aprimorados após o fato.

Portanto, embora ainda seja bastante , não é exatamente o que você pensa que é.

O menor modelo dessas câmeras possui 72 GB de RAM e eles chegam a 288 GB de RAM. Assumindo a menor das resoluções que eles usaram no vídeo e o maior modelo da câmera, ela poderá armazenar cerca de 2 milhões de quadros full-chroma, ou cerca de 5,8 segundos de vídeo na RAM, precisa escrever alguma coisa.
Mas não faz isso, armazena quadros com cerca de 1/10 desse tamanho. Realmente, pode gravar quase um minuto sem nunca escrever nada. Acrescente a isso um meio de armazenamento rápido (dos quais até os mais baratos são capazes de ocupar mais de 100 MB / s hoje em dia, e o alto nível é mais parecido com 1 GB / s), e há pouca surpresa em como isso poderia funcionar.
Observe que, graças às gravações paralelas, mesmo com uma mídia lenta que não consiga manter as gravações indefinidamente, você pode aumentar bastante a capacidade total de gravação, tornando-a virtualmente ilimitada (você não faz duas horas em alta velocidade). de qualquer maneira).

Quanto ao processamento / compactação, o ProRes 422 não é comparável à compactação de vídeo típica. Trata-se de uma subamostra de croma simples, seguida de uma DCT, estritamente restrita a um único quadro. Nenhuma estimativa de movimento, previsão, dependência entre quadros, nenhum desse tipo. Então, basicamente, é um tipo de compactação JPEG de quadro único subamostrada , que é bem pesquisada por mais de 25 anos, um problema paralelamente embaraçoso e para o qual hardware barato e dedicado, com toda a transformação conectada, está prontamente disponível. Fazer isso rápido não é um desafio técnico. Armazenar dados compactados é tão rápido quanto armazenar dados não compactados.

Damon
fonte
1

Como mencionado, RAM de alta velocidade. Se isso não cortar a mostarda, você pode:

  • intercalar RAMS de alta velocidade. Por exemplo, você conecta oito ou dezesseis chips de RAM em paralelo à saída do sensor e pede que eles armazenem um após o outro e, em seguida, o primeiro novamente, à moda de rodízio. As RAMs só precisam ter um oito ou um décimo sexto da velocidade. Se eles não conseguirem lidar com a alteração de dados tão rapidamente na frente de suas entradas, adicione um registro rápido extra como intermediário.

    Uma maneira alternativa é estroboscópica todas as oito ou dezesseis ou quantas RAMs todas ao mesmo tempo - mas escalonar o comprimento dos fios / traços que levam a elas, para que dados atualizados em momentos diferentes apareçam na entrada de cada RAM.

  • Use a memória que não é endereçável, mas que funciona de maneira FIFO / fila - isso não exige manipulação de endereços, você pode simplesmente registrar os dados nesses dispositivos o mais rápido possível, até que literalmente saia do outro lado - se você precisa de mais espaço, basta conectar mais desses dispositivos a essa outra extremidade. Quando chegar a hora de lê-lo, você poderá fazê-lo na sua velocidade preferida.

rackandboneman
fonte
O fifo é implementado por meio de registradores de grande turno ou de um registrador de endereço incremental alimentado em um decodificador de endereço. Registros de turno são muito caros em espaço de energia e silício (em termos relativos) em comparação com um decodificador de endereço.
Ratchet freak