초고속 프레임 카메라는 어떻게 그렇게 빨리 기록합니까?


66

ProRes 422 코덱 에서 1080p 및 100,000 FPS 로 1 초 동안 기록하면 최대 73.2GB의 스토리지가 사용됩니다. (출처)

초고속 카메라는 초당 580.56 기가비트와 같은 빠른 속도로 SD 카드에 어떻게 기록합니까? 쓰기 전에 푸티지도 인코딩 / 처리해야합니다! 엄청난 양의 이미지 데이터를 관리 할 수있는 초고속 프레임 카메라의 기술은 무엇입니까? 그들은 거대한 메모리 버퍼를 가지고 있습니까?


15
PC의 최대 범위 는 19.2 GB / s로 RAM에 기록 할 수 있으며 이는 상용 하드웨어입니다. 따라서 처리되지 않은 RAM에 덤프 한 다음 시간을 절약하십시오.
RomanSt

2
이것을 photo.SE로 옮겨야합니까?
dalearn

4
@dalearn : 전자 제품인 경우 어떻게 캐시를 그렇게 빨리 할 수 ​​있습니까? (멀티 코어 IvyBridge의 메모리 / 캐시 대역폭 벤치 마크 결과에 대해) 잘 수신했습니다.
Peter Cordes

3
@RomanSt : 그것은 하나의 스틱 (즉, 하나의 채널 / 하나의 메모리 컨트롤러)을위한 것입니다. 일반적인 데스크탑 / 노트북 시스템은 듀얼 채널, 고급 데스크탑은 3 배 또는 4 채널 일 수 있습니다. 예를 들어 오버 클로킹없이 DDR4-2400 ( Coffee Lake i3-8100 과 같은)을 사용하는 Intel CPU의 이론상 최대 메모리 대역폭은 37.5GB / s입니다. 실제 처리량은 다소 낮으며 DRAM 대역폭을 포화시키기 위해서는 여러 개의 코어가 필요합니다 .
Peter Cordes

8
GPU 메모리 대역폭은 순차적 액세스 패턴의 처리량에 최적화 된 채널이 많은 보드에 DRAM을 납땜하여 수행 할 수있는 작업의 더 나은 예일 수 있습니다. 마찬가지로 GDDR5X 기가 바이트의 대역폭의 3백20기가바이트 / S와 GTX1080 예산 GTX1050에 대한, 또는 112기가바이트 / s의. 그리고 요즘에는 패키지 당 최대 256GB / s를 제공하는 HBM ( en.wikipedia.org/wiki/High_Bandwidth_Memory ) 과 같은 3D 스택 형 DRAM이 있습니다.
Peter Cordes

답변:


75

방대한 양의 이미지 데이터를 관리 할 수있는 고속 프레임 카메라의 기술은 무엇입니까?

1080p 및 100,000 FPS로 녹화

동시에 아닙니다 :

1,000,000fps를 촬영하는 경우 128 x 32 해상도의 흑백으로 촬영합니다. 1280 x 800의 최대 해상도를 위해 25,600fps로 촬영할 수 있습니다.

이 카메라는 다음의 조합을 사용합니다.

  • 많은 양의 RAM

    "288GB RAM 옵션으로 전체 해상도에서 7.6 초 동안 촬영할 수 있습니다.

  • 특수 SSD 카드

    "CineMag는 약 1Gpixel / second를 직접 기록 할 수 있습니다"

다음은 그 방법을 보여주는 한 가지 예입니다.

초록으로 만 말하기보다는 실제 고속 카메라를 살펴 보겠습니다. Phantom v2512는 특수 옵션으로 최대 1280 x 800의 해상도와 최대 1,000,000fps의 프레임 속도로 촬영할 수 있습니다. 그러나 동시에 둘다는 아닙니다. 1,000,000fps를 촬영하는 경우 128 x 32 해상도의 흑백으로 촬영합니다. 1280 x 800의 최대 해상도를 위해 25,600fps로 촬영할 수 있습니다. 그들은 이것이 시장에서 가장 빠른 1Mpixel 비디오 카메라라고 주장합니다.

따라서 초당 25Gpixel로 촬영할 수 있습니다. 그러나 SSD로 전송되지는 않지만 RAM으로 이동합니다. 72GB, 144GB 또는 288GB RAM으로 카메라를 주문할 수 있습니다. 물론 동적 RAM은 SSD보다 훨씬 빠릅니다. 288GB RAM 옵션을 사용하면 최대 해상도에서 7.6 초 동안 촬영할 수 있습니다.

더 길고 느린 촬영을 위해 고속 비디오를 위해 맞춤형으로 설계된 CineMag IV SSD를 제공합니다. CineMag는 약 1Gpixel / 초를 직접 기록 할 수 있으므로 1500MB / s입니다. 물론, 상용 SSD가 아닌 맞춤형 SSD를 사용하고 있기 때문에 PC 용 표준 상용 SSD에 사용되는 속도로 제한 될 필요는 없습니다.

소스 고속 카메라는 이러한 짧은 속도로 기가 바이트의 데이터를 어떻게 처리합니까? -Quora


추가 자료


24
또한 비디오 압축 및 인코딩을 실시간으로 수행 할 수있는 맞춤형 초고속 ASIC도 포함되어 있습니다. 스테로이드에서 하드웨어 가속 하드웨어 가속 비디오 인코딩이 아니라 순수한 문자 하드웨어 비디오 인코딩이라고 생각하십시오. 비디오 "프로세서"는 아마도 카메라 비용의 $ 20,000 이상을 차지할 것입니다.
qasdfdsaq 1

이러한 SSD의 실제 설정 및 사용 예는 Linus Tech Tips의 설정을 참조하십시오. 아마도 가장 좋은 설정은 아니지만 예제입니다.
Ismael Miguel

1
최고급 ssd를위한 1500mb / s의 빠른 쓰기 속도를 확신 할 수 없습니다. 삼성의 PM1725a는 그 이상을 수행하며 이것이 "표준"데이터 센터 SSD입니다. 서버에 몇 개가 있습니다.
TomTom

1
인용문에는 10,000 FPS가 표시되지만 원본에는 100,000 FPS (편집하기에는 너무 작음)가 표시됩니다.
Zackary

5

그것은 전혀 일어나지 않습니다.

비디오에서 명확하게 볼 수 있듯이 120k fps 로의 기록은 512 * 320 해상도로 수행되며 1080p 대역폭의 8 % 미만입니다. 170kfps에서 해상도는 256 * 256에 불과 하며 340k 레코딩은 그 해상도의 절반에서 다시 수행되며 이는 대역폭의 3 %에 불과합니다.
YouTube의 최종 비디오는 1080p입니다. 그러나 소스 비디오 (최소한 고속 비디오)는 그렇지 않습니다. 사실 이후에 업 스케일됩니다.

그래서, 그것은 여전히 꽤 있지만 , 그것은 당신이 생각하는 것과 거의 다릅니다.

이 카메라의 가장 작은 모델에는 72GB의 RAM이 있으며 최대 288GB의 RAM이 있습니다. 비디오에서 사용 된 해상도 중 가장 낮은 해상도와 카메라의 가장 큰 모델을 가정하면 카메라는 약 2 백만 개의 풀 크로마 프레임 또는 약 5.8 초의 비디오를 RAM에 저장할 수 있습니다. 무언가를 쓸 필요가 있습니다.
그러나 그렇게 하지는 않습니다 . 크기가 약 1/10 인 프레임을 저장합니다. 실제로, 그것은 무언가를 쓰지 않고 거의 1 분을 기록 할 수 있습니다. 거기에 빠른 저장 매체를 추가하십시오 (저렴한 것조차도 오늘날 100 + MB / s를 취할 수 있으며 최고 수준은 1GB / s와 비슷합니다).
병렬 쓰기 덕분에 쓰기가 무기한 지속될 수없는 느린 매체에서도 총 레코딩 용량을 크게 늘릴 수 있으므로 사실상 무제한입니다 (2 시간 동안은하지 않습니다). 어쨌든 속도 기록).

처리 / 압축과 관련하여 ProRes 422는 일반적인 비디오 압축과 비교할 수 없습니다. 이것은 하나의 프레임으로 엄격히 제한되는 DCT가 뒤 따르는 죽은 단순 크로마 서브 샘플링입니다. 움직임 추정, 예측, 프레임 간 의존성, 그런 종류의 것은 없습니다. 기본적으로 그것은 25 년 이상 동안 잘 연구 되어 왔으며 부끄러운 병렬 문제이며 전체 변환 하드 와이어 가 있는 전용의 저렴한 하드웨어를 쉽게 사용할 수 있는 일종의 하위 샘플링 단일 프레임 JPEG 압축 입니다. 이렇게 빨리하는 것은 기술적 인 문제가 아닙니다. 압축 된 데이터를 저장하는 것은 압축되지 않은 데이터를 저장하는 것만 큼 빠릅니다.


1

언급했듯이 고속 RAM. 그래도 겨자를 자르지 않으면 다음을 수행 할 수 있습니다.

  • 고속 RAMS를 인터리브하십시오. 예를 들어, 8 개 또는 16 개의 RAM 칩을 센서 출력에 병렬로 연결하여 차례로 로빈 방식으로 저장하도록 지시합니다. RAM은 1/8 또는 16 분의 1이면됩니다. 입력 앞에서 너무 빠르게 변경되는 데이터를 처리 할 수없는 경우 중개자로서 추가 빠른 레지스터를 추가하십시오.

    다른 방법은 동시에 8 개 또는 16 개 또는 많은 RAM을 모두 스트로브하는 것이지만 와이어로 이어지는 와이어 / 트레이의 길이를 엇갈리게하여 서로 다른 시간에 현재의 데이터가 각 RAM의 입력에 나타납니다.

  • 주소를 지정할 수 없지만 대신 FIFO / 큐 방식으로 작동하는 메모리를 사용하십시오. 주소를 전혀 처리 할 필요가 없습니다. 문자 그대로 다른 쪽 끝이 나올 때까지 데이터를 가능한 한 빨리 이러한 장치에 데이터를 클록 할 수 있습니다. 더 많은 공간이 필요합니다. 다른 쪽 끝에 더 많은 장치를 연결하기 만하면됩니다. 읽을 시간이되면 원하는 속도로 읽을 수 있습니다.


fifo는 큰 시프트 레지스터 또는 주소 디코더에 공급되는 증분 주소 레지스터를 통해 구현됩니다. 시프트 레지스터는 어드레스 디코더에 비해 전력 및 실리콘 공간 (비교적 측면에서)이 매우 비싸다.
ratchet freak
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.