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

66

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

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

clickbait
источник
15
ПК высшего класса могут записывать в ОЗУ со скоростью 19,2 ГБ / с , и это стандартное аппаратное обеспечение общего назначения. Так что сбросьте его в ОЗУ без обработки, а затем не спешите экономить.
RomanSt
2
Должно ли это быть перенесено в photo.SE?
dalearn
4
@dalearn: во всяком случае, electronics.SE. Как кеш может быть таким быстрым? (о результатах тестов пропускной способности памяти / кэша на многоядерном IvyBridge) был хорошо принят там.
Питер Кордес
3
@RomanSt: это для одной флешки (т.е. один канал / один контроллер памяти). Типичные настольные / портативные системы являются двухканальными, высокопроизводительные настольные системы могут быть тройными или четырехканальными. Например, без разгона теоретическая максимальная пропускная способность памяти процессора Intel с DDR4-2400 (как у Coffee Lake i3-8100 ) составляет 37,5 ГБ / с. Практическая пропускная способность несколько ниже, и для насыщения полосы DRAM требуется несколько ядер .
Питер Кордес
8
Пропускная способность памяти графического процессора, возможно, является лучшим примером того, что можно сделать с помощью DRAM, припаянного к плате, с большим количеством каналов, оптимизированных для пропускной способности для последовательных шаблонов доступа. Как GTX1080 с пропускной способностью 320 ГБ / с от 8 ГБ GDDR5X или 112 ГБ / с для бюджетного GTX1050. И в наши дни есть DRAM с трехмерной структурой, например, HBM ( en.wikipedia.org/wiki/High_Bandwidth_Memory ), выдающий до 256 ГБ / с на пакет.
Питер Кордес

Ответы:

75

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

Запись на 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 МБ / с. Конечно, учитывая, что они используют пользовательские SSD, а не стандартные устройства, нет никаких оснований ожидать, что они обязательно будут ограничены скоростями, которые используются в стандартных готовых SSD для ПК.

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


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

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

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

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

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

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

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

Damon
источник
1

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

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

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

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

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