Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: MP3 декодер
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Kosteg
Получил тему курсового - "MP3 - декодер". Нужно короче всё реализовать на VHDL.
Получилась такая проблемка что в основном декодер реализуется отдельно от ПЛИСы.
Собственно вопрос:

" Возможно ли на NIOS просто впихнуть исходник декодера на СИ и просто обвязать оставшиеся вентили всякой белибердой типа кнопок и индикатора".
___________________________________________________________________

P.S. : Если можна кинте пожалуйста линк оригинальную документацию по MP3 или полезную инфу.
(А то в поисковике одни плееры выскакивают)

Заранее благодарю biggrin.gif

Можно ли конвертить проекты из Матлаба в VHDL.
Говорят что как то можно но неизвестно как.

Заранее извиняюсь если вопрос глупый. unsure.gif
LordVader
Цитата(Kosteg @ Mar 18 2007, 14:35) *
P.S. : Если можна кинте пожалуйста линк оригинальную документацию по MP3 или полезную инфу.
(А то в поисковике одни плееры выскакивают)


А вместо мп3 - OGG можно? Это типа мп3, но лучше жмёт и полностью открытый.
http://www.vorbis.com/
Когда-то давно у меня плеер этих оггов с оф. сайта собрался без вопросов в мсвц. Так что, скорее всего соберётся и под любую платформу.
BuroKRAT
инфа по mp3 еще нужна? могу порыть в загашниках описание.
Kosteg
Цитата(BuroKRAT @ Mar 19 2007, 04:11) *
инфа по mp3 еще нужна? могу порыть в загашниках описание.


Если не трудно то давай.
В таких случаях инфа лишней не бывает.
Кинь на мыло: kostik_ne@ukr.net
CodeWarrior1241
Цитата(Kosteg @ Mar 18 2007, 07:35) *
Можно ли конвертить проекты из Матлаба в VHDL.
Говорят что как то можно но неизвестно как.


У Xilinx есть софт - System Generator - http://www.xilinx.com/ise/optional_prod/system_generator.htm. По-мойму, демо действителен 60 дней, но license key не трудно найти. Софт требует устанобленной Matlab и Simulink, и позволает переходить впрямую от Simulink blockset или m-code до VHDL. Я когда-то пользовался Huffman code module от проекта Opencores.org - http://www.opencores.org/pdownloads.cgi/list/decoder. Если вы там не смотрели, может что-то пригодитса.
Diletant
Цитата
Получил тему курсового - "MP3 - декодер".


Я не совсем понимаю - разве для использования mp3 не надо покупать лизензию? Как тогда может mp3-декодер быть темой курсового?

http://www.iis.fraunhofer.de/fhg/iis/EN/bf...s/mp3/index.jsp
LordVader
Цитата(Diletant @ Mar 23 2007, 10:44) *
Я не совсем понимаю - разве для использования mp3 не надо покупать лизензию? Как тогда может mp3-декодер быть темой курсового?

http://www.iis.fraunhofer.de/fhg/iis/EN/bf...s/mp3/index.jsp


А ОГГ - никаких лицензий, отчислений и проч. - ВООБЩЕ не требует )
Kosteg
Какая лицензия mp3 - шара. Я нишу курачь патаму што дофига выпендриваюсь на парах. И по моему я в силах это сделать.




предупреждение за маты // Doka
bloodden
Цитата(BuroKRAT @ Mar 19 2007, 05:11) *
инфа по mp3 еще нужна? могу порыть в загашниках описание.

Если не сложно, скинте и мне на bloodden2005#mail.ru/ Заранее благодарю.
dryadae
И мне, в личку! Если не трудно... smile.gif
Kosteg
Я вижу эта тема вызывает ажиотажик.

Кароче с этим проэктом, я так понял, единственный путь быстро реализовать его на ПЛИСе - это просто промоделировать в матлабе модуль с дискретным косинус преобразованием + декодировщик по Хафману. И конвертнуть всё DSPBuilder-ом в VHDL (Кстати, под него подходит только матлаб выше 7-й версии 14-й релиз). А дальше просто замутить обвязку МП3 - плеера содраную с официального сайта Xilinx.

Жаль что нет времени особо разбираться с NIOSом. Конец семестра на носу. sad.gif
BuroKRAT
так, сразу выложу свой архивчик сюда... а то как-то не хорошо получается. просят а я уже не догоняю, что и кому

http://ifolder.ru/1707821
vvs157
Цитата(Diletant @ Mar 23 2007, 10:44) *
Я не совсем понимаю - разве для использования mp3 не надо покупать лизензию? Как тогда может mp3-декодер быть темой курсового?

http://www.iis.fraunhofer.de/fhg/iis/EN/bf...s/mp3/index.jsp

По-моему в РФ патенты на алгоритмы не выдаются. Запантетовать алгоритм можно в Штатах, но не в Европе. Поэтому в тех странах, где нет патентов на алгоритмы проблем с использованием быть не должно, Объектом же авторского права может быть только конкретная реализации, а не общаа идея,
Kosteg
Изначально при создании мп3 институт фраунгофера просил бабки, но потом группа разработчиков по накатаной стезе выпустила фриварнй мп3 кодек, который стал стандартом (ламэ который). а всё из за туповатых менеджеров, которые пытались продать никому не известный проект за хорошие деньги.


так что по моему мп3 можно считать халявным.
CaPpuCcino
2 Kosteg
вы когда сообщения набираете, локоть с шифта убирайте, пожалуйста - трудо потом читать.
да и нарушение п.п. 2.1 г Правил форума smile3046.gif
wpost
подниму старую тему.... кто-нить за 5 лет решил вопрос?
нужно реализовать аппаратное декодирование mp3 или OGG на ПЛИС (Altera). кто может помочь исходниками буду благодарен...
Kuzmi4
Цитата(wpost @ Apr 10 2012, 07:12) *
.... кто-нить за 5 лет решил вопрос?

Здесь проверяли ?
wpost
Цитата(Kuzmi4 @ Apr 10 2012, 09:03) *
Здесь проверяли ?


Да. это единственное, что пока нашел... честно скажу, что не хватает знания mp3 чтобы связать эти 3 функции... а связки их в этом проекте как раз и нет...
чем заполнить header_type я разобрался... а вот со структурой frame_type и в частности sideinfo_type появился затык... откуда брать данные для неё?

Правильная последовательность блоков ?

входная память под frame -> huffman -> промежуточная память -> IMDCT -> промежуточная память -> filter bank -> память содержащая pcm данные

Если кому будет интересен вопрос структуры mp3, то я нарыл вот такую статью
правда оно на испанском... приходится курить гугл переводчик.... но хоть что-то стало проясняться...
wpost
исходники с OpenCores на ПЛИС Altera практически не переносимы из-за несоответствия языка VHDL и есть серьезные сомнения в её работоспособности в принципе.
bav
может, проще взять рабочие исходники на cpp и по ним сделать проект.
исходники на cpp, немного доработав, использовать как референсную модель, добавить обвязку на SC и подсоединять свои модули.
wpost
Цитата(bav @ Apr 13 2012, 18:32) *
может, проще взять рабочие исходники на cpp и по ним сделать проект.
исходники на cpp, немного доработав, использовать как референсную модель, добавить обвязку на SC и подсоединять свои модули.


Да такую тему тоже рассматривал. нашел даже lame на с++ только там сам черт ногу сломит...

Вот нашел первоисточник откуда содран проект c OpenCores http://simple-mp3-soft-ip-core.wikispaces.com/es-huffman.vhd
тут букв побольше и исправлены ошибки, в которые я уже успел вляпаться... но нет цельных vhdl файлов, а только их куски. т.е. если скрестить файлы с OpenCores и эти правки может что-то и получится сделать...
bav
Цитата
нашел даже lame на с++ только там сам черт ногу сломит...

главное, что бы рабочие исходники. поправьте их, как Вы считаете лучше и в путь!
Цитата
если скрестить файлы с OpenCores и эти правки может что-то и получится сделать...

учитывая, что
Цитата
честно скажу, что не хватает знания mp3
лучше делать по модели.
попробуйте для начала перенести прогу на ниос, а там сделайте аппаратные ускорители для тех модулей, которые требуют по-больше ресурсов.
MishaN
Что нибудь получилось? я тоже хочу сделать MP3 на FPGA, но пока знаний маловато у меня....
x736C
Вообще-то все придумано в неплохом виде вот этими ребятами.
На чистом Verilog. Как довесок к MPEG2 декодеру.
http://www.ece.mcmaster.ca/~nicola/mpeg.html
Там же сборка под DE1.

Странно, что никто не кинул ссылку. А может это оно и утекло на opencores.

UPD: Хотя нет, вряд ли. На opencores на vhdl и какой-то «огрызок» на первый взгляд.

UPD2: Для справки. Все ядро mp3 выливается в 600 триггеров @ 4 МГц, обеспечивая частоту семплирования 48 кГц.
serg GW
Господа, кто-нибудь сталкивался с переносом вышеуказанного мп3 декодера (MAC_MP3_Hardware) на Spartan 6?

Ломаю голову над тем, что на выходе звук искажённый, дребезжащий (в прикреплённом файле пример того что удалось декодировать).
При этом битстрим собрался успешно, без ошибок. Сам mp3_top.v подключён к AXI-Stream обвязке, работоспособность которой была проверена.
Gloval
Возможно, где перепонения происходят или еще какие ошибки. Предлагаю найти какой рефернсный декодер на С, скормить ему с десяток мп3 фреймов, сохранить промежуточные результаты этапов декодирования, и с ними же прогнать в тестбенчах код декодера, сравнивая. Это более менее позволит локализовать ошибки.
serg GW
Да, как-раз это и собираюсь сделать. По той-же ссылке есть MAC_MP3_Software, которое и есть референсный декодер, он как-раз и записывает в файл промежуточные результаты. Буду пробовать каждый блок по отдельности.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.