Algo de compression à la volée

Algo de compression à la volée - Algo - Programmation

Marsh Posté le 06-05-2009 à 12:01:20    

Bonjour,
Je recherche un algo de compression à la volée (temps réel) pour pouvoir compresser un signal audio (voix à  8KHz sur 12bits) avec ou sans perte.  :p  
Les critères importants sont : encodage à la volée ,taux de compression, taux de perte, complexité de l'algo. De plus si vous avez les sources alors là   :bounce:  
Ça doit être très simple mais quand on ne sait pas  :cry:  
Merci d'avance

Reply

Marsh Posté le 06-05-2009 à 12:01:20   

Reply

Marsh Posté le 06-05-2009 à 13:53:06    

La compression Huffman n'est pas envisager car il faudrait pouvoir compter la fréquence des caractères sur tout le fichier ou sur de gros morceaux du fichier.
 
Par contre, un RLE est possible. Cela consiste à remplacer plusieurs blocs (un octet ou un demi-octet, ou autre chose que l'on choisi à l'avance) successif par un seul exemplaire du bloc et un compteur de répetition. C'est simple mais pas toujours très performant, cela dépend du fichier d'origine.
 
Il y a le LZW, qui est une amélioration du RLE. C'est un chouia compliqué. cela marche en streaming. C'est assez performant sur des fichiers texte mais je ne sais pas ce que cela donne sur des fichiers de sons.
 
Sans doute que le plus performant serait d'utiliser des algorithmes à base de transformation de Fourrier (FFT pour les rapides). Sans doute que certains logiciels font déjà ça. Il me semble que la compression MP3 ou Vobis fonctionne sur ce principe.
 
Edit : J'oubliais le zlib, mias il ne marcherait pas car il contient du Huffman.


Message édité par olivthill le 06-05-2009 à 14:03:06
Reply

Marsh Posté le 06-05-2009 à 14:14:41    

Alors pour le huffman, je suis d'accord, pas de table de fréquence possible. Le RLE  me semble un peu light, défavoriser par un échantillonnage très faible . Et puis c'est de la voix. Et qui dit voix dit harmonique ou Monique pour les intimes. Et la,  le RLE , j'ai peur...
Il me semble aussi que le MP3 fait appel à une table de fréquence, a vérifier.
FFT je vais gratter. Merci
 
En précision, le signal est en acquisition "temps réel".

Reply

Marsh Posté le 06-05-2009 à 15:43:48    

http://speex.org/ ?


---------------
last.fm
Reply

Marsh Posté le 06-05-2009 à 15:45:37    

le mp3 ou l'ogg sont utilisables en streaming, donc ça doit être jouable dans ton cas...il y a probablement un paquet de formats utilisables...:D


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-05-2009 à 15:53:53    

Le mp3 est utilisée en streaming, ça ne veut pas dire que l'on peut encoder a la volée. Le streaming, c'est de la lecture , donc ton fichier est compresser et tu connais la table de fréquence, or dans mon application, tu ne la connais pas car les données ne sont pas en acquises.
Par contre le CEPL de theshockwave va peut-être le faire...........
ahhh merci

Reply

Marsh Posté le 06-05-2009 à 15:56:48    

carabouille a écrit :

Le mp3 est utilisée en streaming, ça ne veut pas dire que l'on peut encoder a la volée.


Alors je reformule - le mp3 peut être utilisé en streaming avec compression à la volée, et l'ogg idem. Cf les outils de chez www.oddsock.org


Message édité par skeye le 06-05-2009 à 15:56:55

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-05-2009 à 16:05:14    

carabouille a écrit :

Alors pour le huffman, je suis d'accord, pas de table de fréquence possible.

T'as aussi le droit d'utiliser une table prédéfinie. Ce qui se fait d'ailleurs la majorité du temps quand on compresse du texte.

Reply

Marsh Posté le 06-05-2009 à 16:05:46    

gzip | netcat

Reply

Marsh Posté le 06-05-2009 à 16:15:02    

bon, ben si ogg / speex, une lib faite spécifiquement pour encoder de la voix, ne vous plait pas, tant pis :)


---------------
last.fm
Reply

Marsh Posté le 06-05-2009 à 16:15:02   

Reply

Marsh Posté le 06-05-2009 à 16:32:59    

Sinon y a des algo de transformée en ondelettes qui sont extrêmement rapides / efficaces, ou éventuellement basées sur la transformée de Gabor (mais suivant quel type de signal audio on a, c'est pas toujours super)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 06-05-2009 à 17:11:07    

Si si, ogg/speex me va , il faut juste le temps  de l'implémenter dans mon appli,  de monter un démonstrateur, de tester, Et contrairement à certain , c'est pas en 10 minutes devant la télé que je vais réussir  
 
Euh  transformée en ondelettes semble très jolie mais c'est quoi le principe??  
 
Pour la table prédéfinie , peut-être mais laquelle prendre ????Elle doit certainement dépendre de la fréquence d'echantillonnage et de la quantification?
 
Donc maintenant, y a plus qu'a mettre les mains dans le cambouis, euh je veux dire, le clavier.  
 
Merci  
 
   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed