Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];

Вниз

алгоритм сжатия PCM-данных   Найти похожие ветки 

 
zvukoff   (2007-11-10 21:35) [0]

простой, быстрый, еффективный, компресия/декомпресия в real time


 
Johnmen ©   (2007-11-10 21:38) [1]

Ну и чё замолк на полуслове?
Давай уж выкладывай свой алгоритм.


 
zvukoff   (2007-11-10 21:42) [2]

я спрашиваю)


 
Anatoly Podgoretsky ©   (2007-11-10 21:44) [3]

Думаешь мы вопрос не в состоянии отличить от утверждения?


 
Zeqfreed ©   (2007-11-10 21:45) [4]

http://en.wikipedia.org/wiki/Audio_data_compression


 
zvukoff   (2007-11-10 23:45) [5]


> Zeqfreed ©   (10.11.07 21:45) [4]
>
> http://en.wikipedia.org/wiki/Audio_data_compression

спасиба за ссылку много интересного, но там вроде только теория, а меня как нет времени, интересует что-то подобное:
compress(buf_in, buf_out);
извините за наглость)


 
Amoeba ©   (2007-11-11 00:17) [6]


> извините за наглость)

Извиняю.


 
Denis__ ©   (2007-11-11 13:28) [7]


> zvukoff   (10.11.07 23:45) [5]

А может Вам сразу ключи от квартиры?


 
zvukoff   (2007-11-11 22:10) [8]

неужели никто не работал над компресией PCM данных, и ни у кого нет готовых алгоритмов сжатия


 
Amoeba ©   (2007-11-11 22:18) [9]


> zvukoff   (11.11.07 22:10) [8]
>
> неужели никто не работал над компресией PCM данных, и ни
> у кого нет готовых алгоритмов сжатия
>

А если вдруг на самом деле здесь никто не работал над компрессией PCM данных? Что из этого? Вдруг мастерам это просто неинтересно.


 
ProgRAMmer Dimonych ©   (2007-11-11 23:58) [10]

> zvukoff   (10.11.07 23:45) [5]

Ответствуй мне, собеседник, что есть PCM-данные в твоём понимании?

Вообще, в чём суть программы?

Алгоритмы сжатия данных, если они действительно хорошие, не так-то просто раздобыть. Описание способа сжатия, например, в MP3-файлах - тайна за семью печатями и сорока семью патентами. IMHO, глупо надеяться на то, что кто-нибудь броситься делиться своими наработками (если они есть), не говоря уже о том, что одной функцией здесь явно не обойтись.


 
KilkennyCat ©   (2007-11-12 00:08) [11]

хе, я как раз хотел посоветовать мп3...


 
Zeqfreed ©   (2007-11-12 00:23) [12]

> ProgRAMmer Dimonych ©   (11.11.07 23:58) [10]

> Описание способа сжатия, например, в MP3-файлах - тайна
> за семью печатями и сорока семью патентами.

Ну прямо-таки такая уж тайна? :)


 
zvukoff   (2007-11-12 00:37) [13]


> Вообще, в чём суть программы?

снятие с микрофона, передача PCM-данных и воспроизведение на другом компьютере
естественно отсюда и потребность минимального размера для передачи


 
KilkennyCat ©   (2007-11-12 00:41) [14]

Для этого существует куча кодеков-декодеков. Причем большинство популярных идет по-умолчанию с Win


 
zvukoff   (2007-11-12 00:47) [15]

выиграш на тишине и повторяющихся участках небольшой
нужен простой и ефективный алгоритм сжатия и если он за семью замками)


 
zvukoff   (2007-11-12 00:55) [16]


> KilkennyCat ©   (12.11.07 00:41) [14]
>
> Для этого существует куча кодеков-декодеков. Причем большинство
> популярных идет по-умолчанию с Win

ну хорошо! тогда вопрос как их использовать что б буфер размером 100кб стал чем меньше тем лучше


 
Германн ©   (2007-11-12 01:56) [17]


> zvukoff   (12.11.07 00:47) [15]
>
> выиграш на тишине и повторяющихся участках небольшой
> нужен простой и ефективный алгоритм сжатия и если он за
> семью замками)
>


> zvukoff   (12.11.07 00:55) [16]
>
>
> > KilkennyCat ©   (12.11.07 00:41) [14]
> >
> > Для этого существует куча кодеков-декодеков. Причем большинство
> > популярных идет по-умолчанию с Win
>
> ну хорошо! тогда вопрос как их использовать что б буфер
> размером 100кб стал чем меньше тем лучше
>

Эээ. Пить надо меньше, имхо.


 
KilkennyCat ©   (2007-11-12 01:59) [18]


> как их использовать


с умом.


> что б буфер размером 100кб стал чем меньше тем лучше


прочитал трижды(!), ниасилил смысла...


 
Германн ©   (2007-11-12 02:07) [19]


> KilkennyCat ©   (12.11.07 01:59) [18]

<offtop>
Куда тебе осилить! Кошки - самые никчёмные создания сожительствующие с человеком :-)
</offtop>


 
KilkennyCat ©   (2007-11-12 02:10) [20]


> Германн ©   (12.11.07 02:07) [19]


Нифига - вши и клопы никчемнее! :)
я уж молчу о тараканах в голове...


 
Германн ©   (2007-11-12 02:20) [21]


> KilkennyCat ©   (12.11.07 02:10) [20]

Ну это уже "супер- оффтоп"!


 
Сергей М. ©   (2007-11-12 11:10) [22]


> zvukoff   (12.11.07 00:47) [15]


Нормальные герои всегда идут в обход ?)


 
DVM ©   (2007-11-12 11:16) [23]


> zvukoff   (10.11.07 21:35)  

Что за мода пошла постить то ли вопрос то ли утверждение?


 
Anatoly Podgoretsky ©   (2007-11-12 12:23) [24]

> Сергей М.  (12.11.2007 11:10:22)  [22]

> Нормальные герои всегда идут в обход ?)

Нормальные герои всегда найдут обход


 
ProgRAMmer Dimonych ©   (2007-11-12 17:41) [25]

> KilkennyCat ©   (12.11.07 00:41) [14]
> Для этого существует куча кодеков-декодеков.

Люблю просто к чужим фразам цепляться. Кодек - это общее название для енкодеров//декодеров (CoDec), поентому логичнее или просто кодеков или ен... и де... Хотя это просто придирка :)

> zvukoff   (12.11.07 00:47) [15]
> выиграш на тишине и повторяющихся участках небольшой
> нужен простой и ефективный алгоритм сжатия и если он за
> семью замками)

Люди, которые придумывают эти алгоритмы, тратт лучшие годы своей жизни на учёбу, вместо того, чтобы пивом и девочками баловаться. Так почему они не могут себе позволить, сотворив нечто сжимающее и сжимающее хорошо, потребовать за это нечто приличную сумму? Точнее - за использование этого "нечего". :) Деньги есть - ищи тех, кто занимается вопросами сжатия данных, плати деньги, используй; нет денег - придумывай самостоятельно или юзай готовое, но через три жо... жёстких ограничения :) В любом случае, не заплатив деньжат, бесполезно надеяться на функцию, которая сама всё сделает, а именно - заменит почти целую программу.

> zvukoff   (12.11.07 00:55) [16]
> ну хорошо! тогда вопрос как их использовать что б буфер
> размером 100кб стал чем меньше тем лучше

Копай... Хотя нет, топай :) в сторону справки по WinAPI, ищи раздел MCI, читай до полного просветления. Но одно но: у меня оно, например, до сих пор не наступило. Могу отправить в направлении DirectShow, но там возникнет в три раза больше вопросов, если нет понимания сути происходящего.

Для того, чтобы буфер со 100 КБ сократился до как можно меньше, необязательно пользовать кодеки, можно выбросить каждый второй байт, или ещё как-нибудь поизвращаться, по вкусу... Но тогда о том, чтобы восстановить эту информацию на другом конце провода без потерь, речи не идёт.

Ладно, могу подкинуть ещё идейку. Но сомневаюсь, что тебе удастся её оценить, ибо вразумительного ответа на вопрос о том, что такое PCM-данные в твоём понимании, я так и не услышал. Собственно, идейка: снижай частоту дискретизации. Именно так делают при телефонном разговоре через интернет (не знаю, как это назвать по-другому), если верить книжкам для начинающих пользователей. Если сеть локальная, то вариант просто идеальный. Если нет, то придётся думать глубже.

Если же ещё и сжатие должно происходить без потерь, то придётся вникать в суть формата WAVE, способов оцифровки звука и искать способ замены длинных последовательностей короткими, ибо если сжимать просто произвольные данные, то даже двухкратного сокращения размеров добиться очень сложно. И это легко доказывается даже на уровне полупонимания.


 
zvukoff   (2007-11-12 18:31) [26]


> ProgRAMmer Dimonych ©   (12.11.07 17:41) [25]

в отличии от некоторых спасиба нормальный ответ)

короче попробывал посчитать вышло следующее
при дискредизация 8000 беру два байта пишу среднее, убиваю паузы при разговоре и повторяющие подряд более 3 байт в итоге вышло 2,5-3,5 Кб в сек и качество вроде нормальное и пока-что размер нормальный

и еще вот нарыл мю-закон стандарт аналогового сжатия, правда еще не понял как он работает)))

                 ln(1+m|x|)
F(x)=sgn(x) ---------------  -1<=x<=1
                 ln(1+m)

где m=255(8 бит)
обратное преобразование

 -1                                |y|
F    (y)=sgn(y)(1/m)[(1+m)     -1]   -1 <=y<=1


 
KilkennyCat ©   (2007-11-12 22:45) [27]

еще раз повторюсь... подробно... открой панель управления, посмотри аудиоустройства, там перечислено кучка того, что тебе надо, даже GSM. И что самое смешное, их именно для этих целей разрабатывали.


 
ProgRAMmer Dimonych ©   (2007-11-13 00:30) [28]

> zvukoff   (12.11.07 18:31) [26]

Ой-ой. Я даже не рискнул загружать себе голову и разбираться. Особенно памятуя о том, как долго и мучительно искал информацию по дискретному(-ым?) косинусному(-ым?) преобразованию(-ям?). :)

IMHO, формула с логарифмами, корнями, синусами, косинусами и прочей зоологией - это печально, ибо жрёт сравнительно много процессорных тактов. :)

Кстати, это часом не лэба какая? Не дипломная? Не что-нибудь в этом духе? А то ведь там можно и поизвращаться: отвлечься от глубоких мыслей о сверхсложных алгоритмах и воспользоваться каким-нибудь простым, но неочевидным приёмом. Здесь когда-то давались ссылки на рассказы о том, как студенты сдавали программы злющему преподу (там про распознавание текста, речи и т.п.), вдохновляет.

Если чуть глубже - даю намёк (т.к. дальше этого намёка - уже платно :)): сверять ответы на контрольной работе проще, если заранее договориться о том, что какой жест означает. Таким приёмом я бы, наверное, сразу воспользовался, если бы перестало устраивать 4 КБ/с. Хотя 4 КБ/с - это вроде как и по диалапу досягаемо.


 
Pavia ©   (2007-11-13 00:47) [29]

Такие вопросы надо задавать в разделе multimedia.
Во-вторых конкретно объеснять проблему. Научиться правельно задовать вопрос.

Что касается зжатия речи. То тут теория известна до определенного момента.

А если вам надо просто сжать то предлогаю использовать подходящий кодок.
Как пользоваться Win API можно почитать сдесь.
http://rsdn.ru/article/multimedia/winacm.xml#XSLTPART141120120

> IMHO, формула с логарифмами, корнями, синусами, косинусами
> и прочей зоологией - это печально, ибо жрёт сравнительно
> много процессорных тактов. :)

Ну так БПФ тоже на них основанно и используют. Только в жутко оптимизированном варианте.


 
turbouser ©   (2007-11-13 00:54) [30]


> Pavia ©   (13.11.07 00:47) [29]

Да чтож такое то...
Читать противно...
"объеснять ", "правельно", "задовать", "зжатия"
:(


 
Pavia ©   (2007-11-13 01:00) [31]

Мне тоже :(. Совсем писать разучился.


 
KilkennyCat ©   (2007-11-13 01:22) [32]

Писать - фигня. А вот если еще и какать... то беда :))


 
Германн ©   (2007-11-13 02:14) [33]


> turbouser ©   (13.11.07 00:54) [30]
>
>
> > Pavia ©   (13.11.07 00:47) [29]


> Pavia ©   (13.11.07 01:00) [31]

Очень тревожный симптом!
Надо как-то с ним бороться! (Способ Егора Кузьмича я сразу отметаю).


 
GlFox ©   (2007-11-13 12:30) [34]

А чего? Разве нельзя взять что-нибудь типа lame_enc.dll и юзать функции оттуда?


 
ProgRAMmer Dimonych ©   (2007-11-13 16:15) [35]

> Pavia ©   (13.11.07 00:47) [29]
> Ну так БПФ тоже на них основанно и используют. Только в
> жутко оптимизированном варианте.


Ключевое выделено. Оно понятно, что для ускорения, скажем, тригонометрии пользуют заранее сгенерированные таблицы значений, ибо быстрее, но объяснять, как это впихнуть в прогу - не хочется, а, возможно, придётся. Пришлось бы.

> Германн ©   (13.11.07 02:14) [33]
> Способ Егора Кузьмича я сразу отметаю

А может быть и зря. :)

> GlFox ©   (13.11.07 12:30) [34]

Один фиг кодеки. Разве что юзать, наверное, удобнее, чем Multimedia API - это плюс. Но её, эту DLL-ку с прогой таскать надо, а она у юзверя программы уже может иметься в наличии и, следовательно, окажется лишней. Так что пока советую более приятные решения проблемы.


 
Anatoly Podgoretsky ©   (2007-11-13 16:22) [36]

> ProgRAMmer Dimonych  (13.11.2007 16:15:35)  [35]

Как раз обсуждаются вредные советы для начинающих, там как раз есть такой пункт - никогда не поставляйте ДЛЛ с программой, они есть у вашего пользователя.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.051 c
11-1180379388
=BuckLr=
2007-05-28 23:09
2007.12.09
mdvToolTip не пашет. К чему бы?..


9-1144963743
NightLord
2006-04-14 01:29
2007.12.09
Ландшафт на GLScene


15-1194560860
Умка
2007-11-09 01:27
2007.12.09
Помогите!


2-1194936903
ice321i
2007-11-13 09:55
2007.12.09
Вопрос с запросом


2-1194979634
vegarulez
2007-11-13 21:47
2007.12.09
Вопрос про Font при выводе на принтер.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский