Перейти к содержанию
    

MP3 кодер / декодер на Cyclone (сигнал 4 кГц моно)

Добрый день!

Есть проект на Cyclone, в котором входные данные приходят со скоростью 64 кбит/с.

Данные идут в формате PCM A-law, полоса 4 кГц.

Нужно сделать кодер этих данных. И соответственно декодер MP3 в поток 64 кбит/с.

HELP!!!

Подскажите, кто реализовывал такой кодек, с чего начать и где раздобыть корку?

 

P.S. В кристалле будет независимых 8 кодеров и 8 декодеров.

Изменено пользователем Konstantin Ilichev

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Самый простой вариант - использовать компилируемое процессорное ядро, хоть тот же NIOS, а уж исходников для MP3 на С достаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

Есть проект на Cyclone, в котором входные данные приходят со скоростью 64 кбит/с.

Данные идут в формате PCM A-law, полоса 4 кГц.

Нужно сделать кодер этих данных. И соответственно декодер MP3 в поток 64 кбит/с.

HELP!!!

Подскажите, кто реализовывал такой кодек, с чего начать и где раздобыть корку?

 

P.S. В кристалле будет независимых 8 кодеров и 8 декодеров.

 

Вот некоторые мысли:

1. MP3 енкодер тяжелее декодера насколько я понимаю (правда и поток у Вас не самый быстрый)

2. Я не уверен что 8 ядер на кристале - очень изящное решение

3. В данной ситуации готовый мощный проц + внешняя обвязка будет гораздо дешевле

 

Самый простой вариант - использовать компилируемое процессорное ядро, хоть тот же NIOS, а уж исходников для MP3 на С достаточно.

 

Никто не сказал что эти исходники очень оптимально лягут на НИОС. Такое мы уже проходили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Никто не сказал что эти исходники очень оптимально лягут на НИОС. Такое мы уже проходили.

Да кроме NIOS мало ядер ? Есть ARM ядро, да и еще много других.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Никто не сказал что эти исходники очень оптимально лягут на НИОС. Такое мы уже проходили.

Да кроме NIOS мало ядер ? Есть ARM ядро, да и еще много других.

 

Насчет ARM:

1. MP3 для ARM7 должнен быть хорошо оптимизирован

2. Soft ARM7 core вряд ли запашет в FPGA быстрее 20-30 MHz

3. Для нескольких потоков ARM7 явно слабовато будет

4. ARM9 явно лучше но где его взять

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Данные идут в формате PCM A-law, полоса 4 кГц.

Нужно сделать кодер этих данных. И соответственно декодер MP3 в поток 64 кбит/с.

P.S. В кристалле будет независимых 8 кодеров и 8 декодеров.

 

а нужно ли там МП3 ?!?!?!?!?

всеже он максимально эффективен при сжатии музыки. У Вас же судя по всему речь с полосой 4кГц. При сжатии речи боле эффективны иные алгоритмы компрессии. Вы не указали до какого битрейта Вам надо жать а то может статься, что реально обойтись каким-нить АДИКМ (e.g. G.726), которое лучше "ложится" в ПЛИС, чем вокодеры.

 

Если Вы занимаетесь темой в рамках курсового проекта, то посмотрите статью "А.Н. Дегтеренко. Кодирование речевых сигналов на основе систем с переменной структорой" .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насчет ARM:

1. MP3 для ARM7 должнен быть хорошо оптимизирован

2. Soft ARM7 core вряд ли запашет в FPGA быстрее 20-30 MHz

3. Для нескольких потоков ARM7 явно слабовато будет

4. ARM9 явно лучше но где его взять

 

ARM9 с частотой ядра 36MHz едва-едва справлялся с Декодированием потока МП3, правда там еще ось крутилась (ЕРОС на Psion Revo)

 

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

пятибаксовый TMS320VC5501 с десяток каналов не самых легких вокодеров потянет в рил-тайме.

ну а о производительности на поприще ДЕкодирования МП3 можно судить из доки на известную реализацию:

Some results implementation of mp3 decoder for tms320vc55xx platform: 
– 44kHz output joint stereo – one of worst case of calculation ~20 MHz (38 frames  ~0.5 MHz per frame)
– 48kHz output mono – one of easy case of calculation ~10 MHz (42 frames  ~0.25 MHz per frame)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

Есть проект на Cyclone, в котором входные данные приходят со скоростью 64 кбит/с.

Данные идут в формате PCM A-law, полоса 4 кГц.

Нужно сделать кодер этих данных. И соответственно декодер MP3 в поток 64 кбит/с.

А какой поток должен быть у сжатой речи?

Изменено пользователем Partisan

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ARM9 с частотой ядра 36MHz едва-едва справлялся с Декодированием потока МП3, правда там еще ось крутилась (ЕРОС на Psion Revo)

 

Ну там еще и ОС крутилась. Видел ASIC на 2 ARM7 который играл и MP3 и MP4.

 

 

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

 

Ето точно. Я бы понял такую задачу если бы делался ASIC и какие то ядра лежали в кармане а за какие то много денег просили. Или народ наслушался сказок что FPGA за 30$ заменяет ASIC за те же деньги.

В общем получается "Блондинка за 30 копеек".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще для кодирования такого входного сигнала + еще реализация на плисине кодера -напрашивается АДИКМ (кажется G.723). Все остальное слишком сложное...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С наступающим НОВЫМ ГОДОМ!!!

 

Спасибо за поддержку!

Сделали так: заменили MP3 на ADPCM кодирование и реализовали его на внешней TMS.

Решили не ломать голову над циклоном.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделали так: заменили MP3 на ADPCM кодирование и реализовали его на внешней TMS.

Решили не ломать голову над циклоном.

ну вот теперь можно говорить о зарождении направления по решению задач оптимальными методами и удобными инструментами!!

с наступающим! =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...