Как камеры со сверхвысокой частотой кадров пишут так быстро?

11316
clickbait

Запись со скоростью 1080p и 100 000 кадров в секунду в течение 1 секунды в кодеке ProRes 422 занимает 73,2 гигабайта памяти. (ИСТОЧНИК)

Как сверхскоростные камеры записывают на SD-карты такие быстрые скорости, как 580,56 гигабит в секунду? Перед записью отснятый материал также должен быть закодирован / обработан! Какая технология стоит за камерами со сверхвысокой частотой кадров, способными обрабатывать огромные объемы данных изображения? Есть ли у них гигантские буферы памяти?

66
ПК высшего класса могут [записывать в ОЗУ со скоростью 19,2 ГБ / с] (https://www.memorybenchmark.net/write_ddr4_intel.html), и это стандартное аппаратное обеспечение общего назначения. Так что выгрузите его в ОЗУ без обработки и не спешите экономить. RomanSt 6 лет назад 15
Должно ли это быть перенесено в photo.SE? dalearn 6 лет назад 2
@dalearn: во всяком случае, electronics.SE. [Как кэширование может быть таким быстрым?] (Https://electronics.stackexchange.com/q/329789) (о результатах тестов пропускной способности памяти / кэша на многоядерном IvyBridge) было хорошо принято там. Peter Cordes 6 лет назад 4
@PeterCordes Это еще один вариант наверняка. Я только что упомянул photo.SE, так как я видел там несколько подобных вопросов. dalearn 6 лет назад 1
@RomanSt: это для одной флешки (т.е. один канал / один контроллер памяти). Типичные настольные / портативные системы являются двухканальными, высокопроизводительные настольные системы могут быть тройными или четырехканальными. например, без разгона, теоретическая максимальная пропускная способность памяти процессора Intel с DDR4-2400 (например, [Coffee Lake i3-8100] (https://ark.intel.com/products/126688/Intel-Core-i3-8100- Процессор-6M-Cache-3_60-ГГц)) составляет 37,5 ГБ / с. Практическая пропускная способность несколько ниже, и [требуется несколько ядер для насыщения пропускной способности DRAM] (https://stackoverflow.com/q/39260020). Peter Cordes 6 лет назад 3
Пропускная способность памяти графического процессора является, пожалуй, лучшим примером того, что можно сделать с помощью DRAM, припаянного к плате, с большим количеством каналов, оптимизированных для пропускной способности для последовательных шаблонов доступа. Как [GTX1080 с пропускной способностью 320 ГБ / с от 8 ГБ GDDR5X] (https://superuser.com/questions/1186150/whats-the-difference-between-gpu-memory-bandwidth-and-speed) или 112 ГБ / s для бюджета GTX1050. И в наши дни есть DRAM с трехмерной структурой, такой как HBM (https://en.wikipedia.org/wiki/High_Bandwidth_Memory), выдающий до 256 ГБ / с на пакет. Peter Cordes 6 лет назад 8

3 ответа на вопрос

75
DavidPostill

Какова технология высокоскоростных камер, способных обрабатывать огромные объемы данных изображения?

Запись на 1080p и 100000 кадров в секунду

Не в то же время:

Если вы снимаете 1 000 000 кадров в секунду, вы снимаете в монохромном режиме с разрешением 128 x 32. Для полного разрешения 1280 x 800 он может снимать со скоростью 25 600 кадров в секунду.

Эти камеры используют комбинацию:

  • большие объемы оперативной памяти

    «Вы можете снимать в течение 7,6 секунд в полном разрешении с опцией оперативной памяти 288 ГБ

  • специализированные карты SSD

    «CineMag может напрямую записывать около 1Gpixel / секунду»

Вот только один пример того, как это делается:

Давайте посмотрим на настоящую высокоскоростную камеру, а не просто будем говорить абстрактно. Это Phantom v2512, который может снимать с разрешением до 1280 x 800 и частотой кадров до 1 000 000 кадров в секунду со специальной опцией. Однако не оба одновременно. Если вы снимаете 1 000 000 кадров в секунду, вы снимаете в монохромном режиме с разрешением 128 x 32. Для полного разрешения 1280 x 800 он может снимать со скоростью 25 600 кадров в секунду. Они утверждают, что это самая быстрая 1-мегапиксельная видеокамера на рынке.

Так что он может снимать со скоростью 25 Гпикселей в секунду. Это не отправляется на SSD, однако, это идет в RAM. Вы можете заказать камеру с 72 ГБ, 144 ГБ или 288 ГБ ОЗУ. Динамическая оперативная память, конечно, намного, намного быстрее, чем у любого SSD. Вы можете снимать в течение 7,6 секунд в полном разрешении с опцией оперативной памяти 288 ГБ.

Для более продолжительной и медленной съемки они предлагают специально разработанный для высокоскоростного видео SSD CineMag IV. CineMag может напрямую записывать около 1 Гпикселя в секунду, то есть 1500 МБ / с. Конечно, учитывая, что они используют пользовательские твердотельные накопители, а не стандартные устройства, нет никаких оснований ожидать, что они обязательно будут ограничены скоростями, которые используются в стандартных готовых твердотельных накопителях для ПК.

Источник Как высокоскоростные камеры обрабатывают гигабайты данных на таких коротких скоростях? - Quora


Дальнейшее чтение

Они также включают сделанные на заказ сверхскоростные ASIC для сжатия и кодирования видео в реальном времени. Подумайте не о аппаратно-ускоренном аппаратном кодировании видео на стероидах, а о чисто буквальном аппаратном кодировании видео. Видеопроцессор, вероятно, составляет более 20 000 долларов от стоимости одной камеры. qasdfdsaq 6 лет назад 24
Пример реальной установки и использования этих твердотельных накопителей вы можете посмотреть в настройках Linus Tech Tips. Это (вероятно) не лучшая установка, но пример. Ismael Miguel 6 лет назад 0
Просто не уверен, в каком мире 1500 Мб / с - быстрая скорость записи для высокопроизводительного ssd. PM1725a, Samsung, делает ПУТЬ больше, чем это, и это «стандартный» SSD ЦОД - у меня есть несколько из них на моих серверах. TomTom 6 лет назад 1
Цитата говорит, что 10000 FPS, но оригинал говорит, что 100000 FPS (слишком мало для редактирования). Zackary 6 лет назад 1
4
Damon

Это не то, что происходит вообще.

Как хорошо видно на видео, запись со скоростью 120 к / с осуществляется с разрешением 512 * 320, что составляет менее 8% пропускной способности для 1080p. При скорости 170 Кбит / с разрешение составляет всего 256 * 256, а запись 340 Кбит / с выполняется снова вдвое меньше, что составляет всего 3% пропускной способности, о которой вы говорите.
Окончательное видео на YouTube - 1080p, конечно, но исходные видео (по крайней мере, высокоскоростные) - нет, они масштабируются после факта.

Так что, хотя это все еще довольно много, это совсем не то, что вы думаете.

Самая маленькая модель этих камер имеет 72 ГБ ОЗУ, а объем оперативной памяти достигает 288 ГБ. Предполагая самое низкое из разрешений, которые они использовали в видео, и самую большую модель камеры, камера могла бы хранить около 2 миллионов полноцветных кадров или около 5,8 секунд видео в ОЗУ просто так, нет нужно когда-нибудь что-то написать.
Но он этого не делает, он хранит кадры размером примерно 1/10 этого размера. Так что на самом деле, он может записывать почти одну минуту, не записывая ничего. Добавьте к этому быстрый носитель данных (который даже самые дешевые в настоящее время способны принимать более 100 МБ / с, а на высшем уровне больше похоже на 1 ГБ / с), и неудивительно, как он может работать.
Обратите внимание, что благодаря параллельной записи, даже с медленным носителем, который не может идти в ногу с поддержанием записи на неопределенный срок, вы можете значительно увеличить общую емкость записи, так что она практически не ограничена (вы не делаете 2-часовой высокой скорость записи в любом случае).

Что касается обработки / сжатия, ProRes 422 несопоставим с типичным сжатием видео. Это простая мертвая подвыборка, за которой следует DCT, строго ограниченный одним кадром. Нет оценки движения, прогнозирования, зависимости между кадрами, ничего подобного. Таким образом, в основном это своего рода субдискретизированным покадрового JPEG сжатия, хорошо проработанный в течение 25+ лет, в ошеломляюще параллельно проблемы, и для которых dedicdated, дешевое оборудование, которое имеет все преобразования зашитым легко доступен. Делать это быстро - не техническая задача. Хранение сжатых данных так же быстро, как и хранение несжатых данных.

1
rackandboneman

Как уже упоминалось, высокая скорость оперативной памяти. Если это не порезает горчицу, вы можете:

  • чередование высокоскоростных RAMS. Например, вы подключаете восемь или шестнадцать микросхем ОЗУ параллельно к выходу датчика и говорите им сохранять один за другим, а затем снова первый, с циклическим перебором. ОЗУ должно быть только одна восьмая или одна шестнадцатая скорость. Если они не могут обрабатывать данные, изменяющиеся так быстро перед своими входами, добавьте один дополнительный быстрый регистр в качестве посредника.

    Альтернативный способ - стробировать все восемь или шестнадцать или сколько угодно ОЗУ одновременно, но поражать длину проводов / следов, ведущих к ним, чтобы данные, которые были текущими в разное время, появлялись на входе каждого ОЗУ.

  • Используйте память, которая не адресуема, но вместо этого работает в режиме FIFO / очереди - это вообще не требует обработки адресов, вы можете просто синхронизировать данные на эти устройства так быстро, как они могут занять, пока они буквально не выйдут на другой конец - если вам нужно больше места, вы просто подключаете больше этих устройств к этому другому концу. Когда придет время, чтобы прочитать его, вы можете сделать это с вашей предпочтительной скоростью.

fifo реализуется либо с помощью больших сдвиговых регистров, либо с помощью инкрементного регистра адресов, поступающего в адресный декодер. Сдвиговые регистры являются очень дорогими по мощности и пространству кремния (в относительном выражении) по сравнению с адресным декодером. ratchet freak 6 лет назад 0

Похожие вопросы