Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пректирование кодека H.264
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
yogurt
Подскажите пожалуйста на чём лучше сделать кодек, который должен работать в реальном времени, на ПЛИС или DSP? И может кто нибудь занимался данной темой, может у кого нибудь есть какие нибудть исходники? Заранее спасибо.
AKimbo
Цитата(yogurt @ Nov 19 2007, 16:09) *
Подскажите пожалуйста на чём лучше сделать кодек, который должен работать в реальном времени, на ПЛИС или DSP? И может кто нибудь занимался данной темой, может у кого нибудь есть какие нибудть исходники? Заранее спасибо.

Вам и кодировать и декодировать одновременно понадобились? Коммерческие IP ессесно есть, например Энкодер и Декодер. Цена - пара десяток тысяч долл. Кристалл взять придется довольно увесистый, вроде XC3S1000-1500, и это только на половину ко-дека=)
Antim
Цитата(yogurt @ Nov 19 2007, 16:09) *
Подскажите пожалуйста на чём лучше сделать кодек, который должен работать в реальном времени, на ПЛИС или DSP? И может кто нибудь занимался данной темой, может у кого нибудь есть какие нибудть исходники? Заранее спасибо.


Здравствуйте!
Вы знаете я делал G.726 (АДИКМ) в Cyclone II без использование DSP. После отладки и ухода плат в серийное производство стала ясно, что лучше использовать DSP. Поскольку кодирование/декодирование, в данном случае сжатие голоса, строиться на одной математики, поэтому в xHDL двигать, умножать, делить и т.д. самостоятельно данные не очень удобно, с точки зрения отладки. H.264 сложнее, поэтому здесь без DSP будет очень не просто отлаживаться, все равно модель делать...
Причем я также делал модель в Matlab'е, для отладки. biggrin.gif

С уважением!
blackfin
Цитата(yogurt @ Nov 19 2007, 16:09) *
Подскажите пожалуйста на чём лучше сделать кодек,...

Весь вопрос в том, что понимать под словом "лучше"?

Если "лучше"=="легче", то DSP.
Если "лучше"=="быстрее-выше-сильнее", то FPGA.

Вот, ссылку недавно давали: Altera

Копите деньги..
oval
Цитата(yogurt @ Nov 19 2007, 16:09) *
Подскажите пожалуйста на чём лучше сделать кодек, который должен работать в реальном времени, на ПЛИС или DSP?


Зависит от множества факторов (profile, level, требований по "качеству сжатия" и т.п.). По мере работы над задачей, станет понятно, что выбрать. Могу лишь отметить, что реализация на ПЛИС "с нуля" - весьма не тривиальная задача для целого коллектива...

Цитата
И может кто нибудь занимался данной темой, может у кого нибудь есть какие нибудть исходники? Заранее спасибо.


Имели дело с аппаратной реализацией H.264. Исходников скорее всего найти увы не получиться...

Цитата
Цена - пара десяток тысяч долл.


Сомневаюсь... На порядок выше, а то и не на один... если в исходниках...

P.S. Если появятся вопросы, спрашивайте, постараюсь ответить...
AKimbo
Цитата(oval @ Nov 19 2007, 21:19) *
Сомневаюсь... На порядок выше, а то и не на один... если в исходниках...

О продаже исходников информации никакой не имею, имел в виду IP ядра от Ксайинкса и около, идут в виде EDIF netlist'a и тест-бенчей.
Singer
как правильно сказали, на DSP быстрее разработка и легче отладка. Но, с другой стороны на емкой современной ПЛИС можно обрабатывать на порядок большие потоки данных (скажем на Virtex-4 SX35 192 аппаратных блока умножения с накоплением ), насчет делить - в последних версиях ИСЕ есть нормальная корка для работы с плавающей точкой, есть все основные операции, деление и даже квадратный корень, с темпом выдачи результата вплоть до одного такта на семпл...Вобщем DSP - это хороший вариант по соотношению трудоемкость разработки-цена-качество-производительность, FPGA - бескомпромиссный вариант, когда скорость превыше всего.
cms
Выберите компромисное решение - реализуйте сначала на ПЛИС ядро DSP, а затем на нем запустите алгоритм H.264.

И не так это глупо, как покажется на первый взгляд.
monty
Цитата(oval @ Nov 20 2007, 01:19) *
Зависит от множества факторов (profile, level, требований по "качеству сжатия" и т.п.). По мере работы над задачей, станет понятно, что выбрать. Могу лишь отметить, что реализация на ПЛИС "с нуля" - весьма не тривиальная задача для целого коллектива...
Имели дело с аппаратной реализацией H.264. Исходников скорее всего найти увы не получиться...
Сомневаюсь... На порядок выше, а то и не на один... если в исходниках...

P.S. Если появятся вопросы, спрашивайте, постараюсь ответить...


сорцы х264 - свободные (на С). HDLые - только за деньги.

Сначала нада ТОЧНО определится - какой х264 кодек (уровень, профиль). Предположим что нужен main profile, SD разрешение. Тогда ответ на вопрос на чем делать: на DSP.
Делать SD кодек на FPGA будет значительно дороже как по затратам на разработку так и по используемым аппаратным средствам.

А что за потребность - делать кодек самим? Для каких приложений это все затевается?
yogurt
Цитата(monty @ Nov 20 2007, 09:47) *
сорцы х264 - свободные (на С). HDLые - только за деньги.

Сначала нада ТОЧНО определится - какой х264 кодек (уровень, профиль). Предположим что нужен main profile, SD разрешение. Тогда ответ на вопрос на чем делать: на DSP.
Делать SD кодек на FPGA будет значительно дороже как по затратам на разработку так и по используемым аппаратным средствам.

А что за потребность - делать кодек самим? Для каких приложений это все затевается?


Необходимо изменять скорсть данных т.е. степень сжатия видеоинформации задавая щаг квантователя, естественно качество изображения буде ухудшаться с увеличение шага квантователя, но в данном случае качество изображения не так важно. Поэтому готовые IP ядра не помогут, необходимы исходники. Профиль кодирвания - базовый.
monty
Цитата(yogurt @ Nov 20 2007, 14:52) *
Необходимо изменять скорсть данных т.е. степень сжатия видеоинформации задавая щаг квантователя, естественно качество изображения буде ухудшаться с увеличение шага квантователя, но в данном случае качество изображения не так важно. Поэтому готовые IP ядра не помогут, необходимы исходники. Профиль кодирвания - базовый.

Не понял. Находу менять уровень квантования?
Битрэйт на выходе енкодера какой должен быть - константный или переменный? Почему вы уверены что готвые коры не позвояют менять битрэйт (и/или тип рэйт контроля находу)?

Это для броадкаста надо? Менять бирэйт в завис от допустимой полосы что ли (стат. мукс.)?
Сорри. Бэйзлайн - скорее это не броадкастное приложение..
yogurt
Цитата(monty @ Nov 20 2007, 12:08) *
Не понял. Находу менять уровень квантования?
Битрэйт на выходе енкодера какой должен быть - константный или переменный? Почему вы уверены что готвые коры не позвояют менять битрэйт (и/или тип рэйт контроля находу)?

Это для броадкаста надо? Менять бирэйт в завис от допустимой полосы что ли (стат. мукс.)?
Сорри. Бэйзлайн - скорее это не броадкастное приложение..


Да, необходимо находу менять уровень квантования, а следовательно и выходной битрэйт (другог способа менять выходнй битрэйт я не знаю). Выходной битрэйт должен быть переменный. Это надо для броадкаста.

Менять бирэйт в завис от допустимой полосы что ли (стат. мукс.)? Да именно для этого.
А что есть корки позволяющие менять выходной битрэт?
Andrewak
Если ещё актуально:
http://www.latticesemi.com/products/fpga/e...m?source=topnav
В этих fpga реализованы В ЖЕЛЕЗЕ полнофункциональные dsp ядра. В самом маленьком варианте 24 умножителя с накоплением 18Х18.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.