Цитата(Iouri @ Apr 12 2008, 01:11)

господа,
Стоит задача взять данные с 8 аудиокодеков 16bit 48KHZ sampling rate сжать без потерь
и передать, на другом конце принять и разжать. Требования:
1. Compression/Decomression должно быть сделано на FPGA
2. Максимальная задержка 1mS
3. Среда передачи Ethernet
Подскажите какой алгоритм лучше использвать, что почитать по теме и все замечания предложения с удовольствием выслушаю
спасибо всем откликнувшимся
Дык, требования к сжималке неплохо было бы ещё огласить. Битрейт постоянный/переменный, его величина, и т.д.
Навскидку - адаптивная дельта-модуляция (ADPCM), один из самых простых алгоритмов, работающих при малой длине буфера, но и сжатие получается небольшое. После первого знакомства с ней, можно побить сигнал на полосы, и к каждой попробовать прикрутить "свою" ADPCM, причём битрейт в полосах получится разный. Реализация этого алгоритма также очень проста, а компрессия - побольше.
Далее, что-нибудь вроде LD-LP, типа, как в стандарте G728. Сжималка там с потерями, но принцип построения линейного предсказателя можно взять на вооружение и для lossless компрессора. Этот метод посложнее будет, конечно. Разбивка сигнала на полосы также может оказаться полезной.
Ну, и гугль ещё никто не отменял. " сжатие аудио без потерь " и " "low delay audio" " дают море информации. Выбирайте на любой вкус.
Цитата(GetSmart @ Apr 12 2008, 01:58)

Прикольно

Буферизация не более 48 значений (это в идеале), а в реале наверно 32 в лучшем случае.
И что же здесь Вы усматриваете прикольного?
Сообщение отредактировал vetal - Apr 13 2008, 22:43
Самонадеянность слепа. Сомнения - спутник разума. (с)