Jump to content

    
Sign in to follow this  
blumenkraft

Попинайте идею (ffmpeg на плис)

Recommended Posts

может я чего-то не понимаю, но все эти NVIDIA/AMD многоядерные GPU как раз для всякого хитрого. а для стандартных задач типа ужать/разжать поток есть готовые аппаратные чипы.

по операция/за бакс, за ватт, за секунду наверняка ПЛИС уделают. к тому же они идут уже на готовых платах - бери и втыкай в комп, а с ПЛИСинами еще и плату сделать надо (но может от майнеров какие-то ПЛИС-платы можно купить, но там может быть затык в обмене с ПК)

я слабо разбираюсь, mjpeg когда то давно делал, а про CUDA-у только слышал (в компе стоит, но задач и желания программировать нету), из обывательской логики такие предположения делаю

 

Share this post


Link to post
Share on other sites
On 2/27/2019 at 1:20 AM, blumenkraft said:

Примечательно, что именно из этой идеи сейчас делают вполне коммерческие продукты, которые делают умный апскейлинг пиксельной графики до современных форматов. Эхх...

Это то же самое что говорить про лопату, а потом через пару лет вспомнить про galaxy note и сказать: Ну я же говорил.

Тематике кучу лет, пашут над ней довольно много компаний. Но из-за того, что это реально сложно не все приходят к коммерческому продукту.

10 человек инженеров, 3 алгоритмиста, год-два работы и железо по кодекам у вас в кармане.

Если говорить про обработку, то тут еще человек 10, 5 на алгоритм и пару на интеграцию.

А потом платите зарплату, закупайте софт и молитесь чтобы вся эта куча заработала как нужно, поскольку тесты это одно, а в реальности качество будет зависеть от многих факторов.

Share this post


Link to post
Share on other sites
On 2/26/2019 at 9:25 PM, yes said:

с ПЛИСинами еще и плату сделать надо (но может от майнеров какие-то ПЛИС-платы можно купить, но там может быть затык в обмене с ПК) 

так полюбившаяся майнерам VCU1525: 4 канала DDR4 ECC (72bit) + PCI-E x16 + 2x QSFP28

 

другое дело - непонятно ради чего это затевать, если это не транскодинг в рилтайме? в чём выгода ?

On 9/28/2015 at 10:46 AM, blumenkraft said:

Кстити, нашел уже как минимум одну железку которая делает именно то, что я предлагаю: http://www.signalogic.com/index.pl?page=ffmpeg

Какое отношение эта железка имеет к FPGA?

Ребятки тупо портировали ffmpeg на ti'ную архитектуру с66хх, судя по описанию...

Share this post


Link to post
Share on other sites
On 9/15/2015 at 12:22 AM, blumenkraft said:

Всем привет! У нас в мире есть такая мегасофтина, называется ffmpeg.......

Вообщем интересует сама "поднимаемость" такой идеи. Какие-то аппаратные энкодеры видеосигналов уже делают в FPGA, но хочется понять реально ли это в принципе.

Напишите этому человеку: andrey-yurin.livejournal.com

Он долго и серьезно занимается видеообработкой на fpga.

Share this post


Link to post
Share on other sites

судя по тому что xilinx выпустил плис Zynq UltraScale+ EV со встроенным кодеком Н.264/265 до 4к х 2к 60 Гц делать это ip ядрами нерационально в отличии от более простых операций видеообработки типа скалинга - фирменная борда zcu104 на нем стоит всего 895 уе и в качестве бонуса hls c opencv

на суперпупер-армы в смартфонах (которые к слову порвали все бенчмарки, а на деле только "баян") для решения задач видеокодеков ставят чаще всего полудохлые дсп с тактовой в разы ниже чем у ведущего арм-а, но при этом без проблем де/кодирующих пару-тройку фулхд потоков не выжирая аккумулятор

Edited by fguy

Share this post


Link to post
Share on other sites

В смартфонах никто и никогда не ставил DSP для видео, даже обработка фото с матрицы идет аппаратно.

Это очень и очень затратно делать при помощи процессора. Вы сами себе противоречите говоря про FPGA.

Хороший скейлинг также не так и прост. Уж не говоря про upscale на основе superesolution и нейронные сети. Все что было простым уже реализовано, новые методы дают выше качество.

Я хочу сказать, что работа с изображением на текущий момент (а в будущем все будет еще хуже) очень затратная. Либо под это делается специализированное решение из DSP, либо это полностью заказное решение.

Share this post


Link to post
Share on other sites
5 hours ago, lexx said:

В смартфонах никто и никогда не ставил DSP для видео, даже обработка фото с матрицы идет аппаратно.

к вашему невежеству это до сих пор делает куалком, еще ранее это делал TI, но они забили на мобильные сок

у xilinx поточный скейлер в виде ip существует и работает вполне себе успешно - сам пользовался лет 5 назад, насколько он качественный судить не возьмусь

обработкой изображений практически не занимаюсь но тот же xilinx для hls реализовал частично opencv

Quote

Video library to implement several aspects of modeling video design in C++ with  video Functions, specific data types, memory line buffer and memory window (hls_video.h). Through a data type hls::Mat, Vivado HLS is also compatible with existing OpenCV functions: AXIvideo2cvMat, AXIvideo2CvMat, AXIvideo2IplImage, cvMat2AXIvideo, CvMat2AXIvideo, cvMat2hlsMat, CvMat2hlsMat, CvMat2hlsWindow, hlsMat2cvMat, hlsMat2CvMat, hlsMat2IplImage, hlsWindow2CvMat, IplImage2AXIvideo, IplImage2hlsMat, AbsDiff, AddS, AddWeighted, And, Avg, AvgSdv, Cmp, CmpS, CornerHarris, CvtColor, Dilate, Duplicate, EqualizeHist, Erode, FASTX, Filter2D, GaussianBlur, Harris, HoughLines2, Integral, InitUndistortRectifyMap, Max, MaxS, Mean, Merge, Min, MinMaxLoc, MinS, Mul, Not, PaintMask, PyrDown, PyrUp, Range, Remap, Reduce, Resize, Set, Scale, Sobel, Split, SubRS, SubS, Sum, Threshold, Zero

 

Share this post


Link to post
Share on other sites
2 minutes ago, Pavia said:

Лучше бы оптимизированные деревья решений сделали бы.  Можно было-бы  OpenCV в 100 раз ускорить.

большинство функций и так работают в стриме на частотах видеопотока - зачем это ускорять в 100 раз?

Share this post


Link to post
Share on other sites

Никто тут еще не упомянул про амбрелловские SoC чипы https://www.ambarella.com/, может этого будет достаточно. Чем всю обработку и структуру реализовываать на FPGA.

Share this post


Link to post
Share on other sites

 90 процентов функций занимают 10 процентов времени, а оставшиеся 10 процентов - оставшиеся 90 процентов времени. Вот я и предлагаю ускорить, то что больше всего занимает времени. 

Сейчас качество распознавание упирается именно в недостаток производительности и именно в деревьях решений. А не в ваши функции препроцессинга, которые были оптимизированы ещё полвека назад.

Edited by Pavia

Share this post


Link to post
Share on other sites
1 hour ago, Pavia said:

 90 процентов функций занимают 10 процентов времени, а оставшиеся 10 процентов - оставшиеся 90 процентов времени. Вот я и предлагаю ускорить, то что больше всего занимает времени. 

Сейчас качество распознавание упирается именно в недостаток производительности и именно в деревьях решений. А не в ваши функции препроцессинга, которые были оптимизированы ещё полвека назад.

 

насколько понимаю "качество распознавание" сейчас делают на ИИ, да и препроцессинг делают там же в первых слоях, благо большинство функций это все тот же "высокоинтеллектуальный" многочлен - в этом направлении тот же xilinx не стоит на месте и представил Версаль, который окромя плис будет содержать сотни (128-400) процов с широким реконфигурируемым АЛУ 512 бит для решения задач в т.ч. и AI

Не очень понимаю в каком месте вы увидели в плис "недостаток производительности" для ИИ? Существующие фрэймворки влезают в современную плис среднего класса и показывают производительность и энергоэффективность на зависть всем цпу и гпу.

тенденция на уход от "чистой" плис к сборке с набором "железной" периферии радует - это позволяет освободить ресурсы плис для решения пользовательских задач, а не на реализацию кабы-каких микроконтролеров, недоядер контролеров ДДР, видеокодеков и т.п.

Edited by fguy

Share this post


Link to post
Share on other sites
3 hours ago, fguy said:

лаго большинство функций это все тот же "высокоинтеллектуальный" многочлен - в этом направлении тот же xilinx не стоит на месте и представил Версаль,

Дык не нужен многочлен. Нужно дерево решений. Это компараторы с безумным количеством if(). Причем деревья работают лучше и быстрее чем НС на многочленах. Поэтому в OpenCV первыми и завезли каскады. Поэтому ti встраивает гироскопы деревья решений. Единственно кто не может понять это NVidia с AMD. Даже intel и та ускорило условный переход с 12 до 6 тактов. 

 

Share this post


Link to post
Share on other sites
2 hours ago, Pavia said:

Дык не нужен многочлен. Нужно дерево решений. Это компараторы с безумным количеством if(). Причем деревья работают лучше и быстрее чем НС на многочленах. Поэтому в OpenCV первыми и завезли каскады. Поэтому ti встраивает гироскопы деревья решений. Единственно кто не может понять это NVidia с AMD. Даже intel и та ускорило условный переход с 12 до 6 тактов. 

 

а в чем проблемы у плис с реализацией деревьев? "компаратор" это все то же АЛУ, а полученные результаты в виде 0 и 1 как веса идут в многочлен для получения ответа - даже умножители ненужны для реализации - похожий по нагрузке поиск нескольких максимумов в потоке прекрасно работает на плис в пайплайне

"дерево решений" напоминает почивший за 30 лет пролог - что то я сомневаюсь что замена слов на цифры что то принципиально изменит и писать эти деревья ручками кто то упрется

Edited by fguy

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this