W jaki sposób kamery o bardzo wysokiej szybkości klatek zapisują tak szybko?

66

Nagrywanie w rozdzielczości 1080p i 100 000 klatek na sekundę przez 1 sekundę w kodeku ProRes 422 zajmuje do 73,2 gigabajtów pamięci. (ŹRÓDŁO)

Jak ultraszybkie kamery zapisują na kartach SD z tak dużymi prędkościami, takimi jak 580,56 gigabitów na sekundę? Przed napisaniem materiał musi również zostać zakodowany / przetworzony! Jaka technologia kryje się w aparatach o ultrawysokiej liczbie klatek na sekundę, które są w stanie zarządzać ogromnymi ilościami danych obrazu? Czy mają gigantyczne bufory pamięci?

Clickbait
źródło
15
Najwyższej klasy komputery PC mogą zapisywać do pamięci RAM z prędkością 19,2 GB / s , i to jest gotowy sprzęt ogólnego przeznaczenia. Więc zrzuć go do RAM nieprzetworzonego, a następnie nie spiesz się, oszczędzając go.
RomanSt
2
Czy należy to przenieść na photo.SE?
dalearn
4
@dalearn: Jeśli cokolwiek, elektronika. SE. Jak pamięć podręczna może być tak szybka? (o wynikach testu przepustowości pamięci / pamięci podręcznej na wielordzeniowym IvyBridge) został tam dobrze przyjęty.
Peter Cordes,
3
@RomanSt: To dla jednego drążka (tj. Jednego kanału / jednego kontrolera pamięci). Typowe systemy komputerów stacjonarnych / laptopów są dwukanałowe, wysokiej klasy komputery stacjonarne mogą być trzy- lub czterokanałowe. np. bez podkręcania teoretyczna maksymalna przepustowość pamięci procesora Intel z DDR4-2400 (jak Coffee Lake i3-8100 ) wynosi 37,5 GB / s. Praktyczna przepustowość jest nieco niższa i nasycenie przepustowości pamięci DRAM wymaga wielu rdzeni .
Peter Cordes,
8
Przepustowość pamięci GPU jest być może lepszym przykładem tego, co można zrobić przy pomocy DRAM wlutowanych na płytkę, z dużą ilością kanałów, zoptymalizowanych pod kątem przepustowości dla sekwencyjnych wzorów dostępu. Jak GTX1080 o przepustowości 320 GB / s z 8 GB GDDR5X lub 112 GB / s w przypadku budżetu GTX1050. W dzisiejszych czasach istnieje pamięć DRAM ułożona w 3D, taka jak HBM ( en.wikipedia.org/wiki/High_Bandwidth_Memory ) dająca do 256 GB / s na pakiet.
Peter Cordes,

Odpowiedzi:

75

Jaka technologia kryje się w aparatach o wysokiej szybkości klatek, które są w stanie zarządzać ogromnymi ilościami danych obrazu?

Nagrywanie w rozdzielczości 1080p i 100 000 klatek na sekundę

Nie w tym samym czasie:

Jeśli fotografujesz 1 000 000 fps, fotografujesz w trybie monochromatycznym w rozdzielczości 128 x 32. W pełnej rozdzielczości 1280 x 800 może nagrywać z prędkością 25 600 fps.

Te kamery używają kombinacji:

  • duże ilości pamięci RAM

    „Możesz nagrywać przez 7,6 sekundy w pełnej rozdzielczości z opcją RAM 288 GB

  • specjalistyczne karty SSD

    „CineMag może bezpośrednio nagrywać około 1 Gpixel na sekundę”

Oto tylko jeden przykład tego, jak to się robi:

Rzućmy okiem na prawdziwą szybką kamerę, zamiast mówić tylko w sposób abstrakcyjny. Jest to Phantom v2512, który ze specjalną opcją może strzelać z rozdzielczością do 1280 x 800 i częstotliwością do 1 000 000 fps. Jednak nie oba jednocześnie. Jeśli fotografujesz 1 000 000 fps, fotografujesz w trybie monochromatycznym w rozdzielczości 128 x 32. W pełnej rozdzielczości 1280 x 800 może nagrywać z prędkością 25 600 fps. Twierdzą, że jest to najszybsza kamera wideo 1Mpixel na rynku.

Dzięki temu może strzelać z prędkością 25 Gpixeli na sekundę. Nie jest to jednak przesyłane na dysk SSD, który trafia do pamięci RAM. Możesz zamówić aparat z 72 GB, 144 GB lub 288 GB pamięci RAM. Dynamiczna pamięć RAM, oczywiście, znacznie, znacznie szybciej niż jakikolwiek dysk SSD. Możesz strzelać przez 7,6 sekundy w pełnej rozdzielczości z opcją RAM 288 GB.

W przypadku dłuższych, wolniejszych zdjęć CineMag IV oferuje dysk SSD zaprojektowany specjalnie do szybkich filmów. CineMag może bezpośrednio nagrywać około 1 Gpixel / sekundę, więc to 1500 MB / s. Oczywiście, biorąc pod uwagę, że używają niestandardowego dysku SSD, a nie gotowego urządzenia, nie ma powodu, aby oczekiwać, że będą one koniecznie ograniczone do prędkości używanych w standardowych gotowych dyskach SSD na komputery PC.

Źródło W jaki sposób kamery o dużej prędkości przetwarzają gigabajty danych przy tak małych prędkościach? - Quora


Dalsza lektura

DavidPostill
źródło
24
Obejmują one również niestandardowe, bardzo szybkie układy ASIC do kompresji i kodowania wideo w czasie rzeczywistym. Nie myśl o przyspieszaniu sprzętowym przyspieszaniu sprzętowym kodowania wideo na sterydach, ale czystym dosłownym sprzętowym kodowaniu wideo. „Procesor” wideo prawdopodobnie stanowi ponad 20 000 USD kosztu samej kamery.
qasdfdsaq
Przykład rzeczywistej konfiguracji i użycia tych dysków SSD można znaleźć w konfiguracji Linus Tech Tips. To (prawdopodobnie) nie jest najlepsza konfiguracja, ale jest przykładem.
Ismael Miguel
1
Po prostu nie jestem pewien, w jakim świecie 1500mb / s to duża prędkość zapisu dla wysokiej klasy dysku SSD. PM1725a, Samsung, robi o wiele więcej i jest to „standardowy” dysk SSD do centrum danych - mam ich kilka na moich serwerach.
TomTom
1
Cytat mówi o 10 000 FPS, ale oryginał mówi o 100 000 FPS (za mały na edycję).
Zackary,
5

Tak się nie dzieje.

Jak wyraźnie widać na filmie, nagrywanie przy 120k fps odbywa się w rozdzielczości 512 * 320 , co stanowi mniej niż 8% przepustowości dla 1080p. Przy 170k fps, rozdzielczość wynosi tylko 256 * 256 , a nagrywanie w rozdzielczości 340k odbywa się z połową tej rozdzielczości, co stanowi zaledwie 3% przepustowości, o której mówisz.
Ostateczne wideo na youtube to 1080p, jasne, ale filmy źródłowe (przynajmniej te o dużej prędkości) nie są, po tym są powiększane.

Tak więc, choć wciąż jest całkiem sporo , nie jest tak, jak myślisz.

Najmniejszy model tych aparatów ma 72 GB pamięci RAM, a do 288 GB pamięci RAM. Zakładając najniższą rozdzielczość zastosowaną w filmie i największy model aparatu, kamera byłaby w stanie przechowywać około 2 milionów pełnokolorowych klatek lub około 5,8 sekundy wideo w pamięci RAM właśnie tak, nie muszę kiedykolwiek coś napisać.
Ale tego nie robi, przechowuje ramki o rozmiarze mniej więcej 1/10. Tak naprawdę może nagrać prawie jedną minutę, nawet niczego nie zapisując. Dodaj do tego szybki nośnik pamięci (z którego nawet tańsze mogą obecnie pobierać 100+ MB / s, a najwyższy poziom to więcej niż 1 GB / s) i nic dziwnego, jak to może działać.
Zauważ, że dzięki równoległym zapisom, nawet przy wolnym nośniku, który nie może nadążyć za utrzymywaniem zapisów w nieskończoność, możesz znacznie zwiększyć całkowitą pojemność zapisu, więc jest praktycznie nieograniczona (nie robisz 2-godzinnego high- nagrania prędkości i tak).

Jeśli chodzi o przetwarzanie / kompresję, ProRes 422 nie jest porównywalny z typową kompresją wideo. Jest to martwe proste podpróbkowanie barwy, po którym następuje DCT, ściśle ograniczony do pojedynczej klatki. Brak oszacowania ruchu, przewidywania, zależność między ramkami, nic takiego. Zasadniczo jest to rodzaj subpróbkowanej jedno-klatkowej kompresji JPEG , która jest dobrze badana od ponad 25 lat, kłopotliwie równoległego problemu, i dla której dedykowany, tani sprzęt z całą transformacją na stałe jest łatwo dostępny. Szybkość nie stanowi wyzwania technicznego. Przechowywanie skompresowanych danych jest tak samo szybkie, jak przechowywanie nieskompresowanych danych.

Damon
źródło
1

Jak wspomniano, szybka pamięć RAM. Jeśli to nie tnie musztardy, możesz:

  • przeplataj RAMS wysokiej prędkości. Np. Podłączasz osiem lub szesnaście układów pamięci RAM równolegle do wyjścia czujnika i mówisz, aby przechowywały jeden po drugim, a następnie pierwszy, okrągły, robin. Pamięć RAM potrzebuje tylko jednej ósmej lub jednej szesnastej tak szybko. Jeśli nie są w stanie poradzić sobie z tak szybko zmieniającymi się danymi przed danymi wejściowymi, dodaj jeden dodatkowy szybki rejestr jako pośrednik.

    Alternatywnym sposobem jest strobowanie wszystkich ośmiu lub szesnastu lub jakkolwiek wielu pamięci RAM jednocześnie - ale rozłóż długość przewodów / ścieżek do nich prowadzących, aby dane, które były obecne w różnych momentach, pojawiały się na wejściu każdej pamięci RAM.

  • Używaj pamięci, która nie jest adresowalna, ale działa w stylu FIFO / kolejki - to wcale nie wymaga obsługi adresów, możesz po prostu taktować dane do tych urządzeń tak szybko, jak to możliwe, aż dosłownie wyjdzie na drugi koniec - jeśli potrzebujesz więcej miejsca, wystarczy podłączyć więcej tych urządzeń do drugiego końca. Gdy nadejdzie czas, aby to odczytać, możesz to zrobić z preferowaną prędkością.

rackandboneman
źródło
FIFO jest realizowane albo przez duże rejestry przesuwne, albo poprzez rejestr przyrostowy adres wprowadzany do dekodera adresu. Rejestry przesuwane są bardzo drogie pod względem mocy i przestrzeni krzemowej (w kategoriach względnych) w porównaniu z dekoderem adresu.
grzechotka maniaczka