2016-03-03 2 views
-3

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

Мой вопрос похож на тот, здесь, но не было подходящего ответа:

Shrink string encoding algorithm

То, что я пытаюсь сделать, это поток живой звук по беспроводной сети (мой собственный спецификации, а не Wi-Fi) с ограниченным ограничением полосы пропускания. Предположим, у меня есть пакеты размером 60 байт. Мне нужен алгоритм для сжатия этих, скажем, 35 ​​байтов каждый раз в обязательном порядке. Надежное гарантированное сжатие до фиксированного размера является ключевым. Качество звука менее приоритетно.

Любые предложения или указатели? Я могу создать собственный алгоритм с нуля, поэтому, даже если вы не знаете ни о каких библиотеках или стандартных алгоритмах, я был бы благодарен за блестящие идеи любого рода!

+0

Возможный дубликат [Алгоритм кодирования с использованием струйной строки] (http://stackoverflow.com/questions/20765078/shrink-string-encoding-algorithm) – Chewpers

+3

Почему поиск «постоянного битрейта аудио» не помогает? Есть ли причина, по которой вы не можете просто использовать ffmpeg? – rici

+0

Фрактальное сжатие возможно? :) – marko

ответ

2

Хорошо, что вы упомянули свой прецедент: живое аудио.

Есть many audio CODECs (COder-DECoder), которые работают именно так (постоянная скорость передачи). Например, взгляните на Opus. Вы можете выбирать битрейты от 6 кбит/с до 510 кб/с и размеры кадров от 2,5 мс до 60 мс.

Я использовал его в прошлом, чтобы транслировать аудио через радиочастотные каналы. Возможно, вам также понадобится реализовать буфер де-дрожания (см. Более here). Также обратите внимание, что внутренние часы многих звуковых карт не точны, и может быть «дрейф» между исходной и целевой скоростью (например, буфер 30 мксек может воспроизводиться в 29,9 мсек или 30,1 мсек), и вам, возможно, придется компенсировать это также.

Смежные вопросы