MP3 Codec

Pagina: 1
Acties:

  • PiepPiep
  • Registratie: Maart 2002
  • Laatst online: 08-06 11:02
Weet iemand hoe MP3 technisch inelkaar zit of een link naar uitleg daarover?
Om uit te leggen wat ik bedoel, stel ik heb gif, dan doel ik op de lzw compressie methode, dus tabel aanmaken en zelfde strings zoeken enzo.
Hoe werkt dat met MP3, layout enzo van de file, waar welke bits precies komen maakt me niet zoveel uit.
Alles wat ik tot nu toe weet is dat het met kijken naar frequenties te maken heeft, zit er bv een harde 10kHz toon in, en een zachtere 10.5kHz toon, dan wordt deze 2e eruit gefiltert.
In neem aan dat de frequenties worden gezocht met een fast fourier transform, deze weet ik opzich hoe ik die moet doen, alleen nog niet hoe ik hem echt fast krijg ;)
Maar stel ik doe hem wat kan ik dan met die data om het uiteindelijk 12x kleiner te krijgen?

486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22


  • The Bad Seed
  • Registratie: November 2001
  • Laatst online: 17-08 08:42

The Bad Seed

Chaotic since 1983

Hail to the guardians of the watchtowers of the north


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Uit m'n hoofd:

1. het geluidsbestand opdelen in frames (van een tiental milliseconden elk)
2. fourier-transformatie op zo'n frame loslaten
3. met behulp van psycho-analyse de 'onhoorbare' tonen eruit filteren, zodat je de entropie van de informatie omlaag brengt.
4. huffman encoding van de overgebleven info.

Hier en daar zitten nog extra besparingen, zoals gebruikmaking van het feit dat links en rechts bijna hetzelfde zijn, etc. Maar dit is het idee.

De source van lame is open. Download die, dan kan je precies uitzoeken hoe 't werkt.

Siditamentis astuentis pactum.


  • Harmsen
  • Registratie: November 2000
  • Laatst online: 11:43
Varienaja schreef op 03 March 2003 @ 21:28:
Uit m'n hoofd:

1. het geluidsbestand opdelen in frames (van een tiental milliseconden elk)
2. fourier-transformatie op zo'n frame loslaten
3. met behulp van psycho-analyse de 'onhoorbare' tonen eruit filteren, zodat je de entropie van de informatie omlaag brengt.
4. huffman encoding van de overgebleven info.

Hier en daar zitten nog extra besparingen, zoals gebruikmaking van het feit dat links en rechts bijna hetzelfde zijn, etc. Maar dit is het idee.

De source van lame is open. Download die, dan kan je precies uitzoeken hoe 't werkt.
punt 5, een zip achtige compressie erover, dus een data lossless compressie als laatste.

What a fine day for Science! | Specs


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Huntor schreef op 03 March 2003 @ 21:35:
punt 5, een zip achtige compressie erover, dus een data lossless compressie als laatste.
Ik dacht dat huffman encoding (geef de meest-voorkomende items het minste aantal bits) al 'zippen' was? Of doet zippen nog meer?

Siditamentis astuentis pactum.


  • Harmsen
  • Registratie: November 2000
  • Laatst online: 11:43
Varienaja schreef op 03 March 2003 @ 21:39:
[...]

Ik dacht dat huffman encoding (geef de meest-voorkomende items het minste aantal bits) al 'zippen' was? Of doet zippen nog meer?
Hmmmz, sorry had niet echt gekeken dat de Huffman encoding dit ook deed, excuses hiervoor. Maar dit is wel de reden waarom als een mp3 gezipt word, dat ie dan niet echt meer kleiner word.

What a fine day for Science! | Specs


  • PiepPiep
  • Registratie: Maart 2002
  • Laatst online: 08-06 11:02
Tnx voor de link, ik denk dat dit precies is wat ik zocht en zelfs meer :)
Ik vraag me trouwens af, als je de huffman compressie eraf haalt zeg maar, en dan lzw zou doen hoeveel de file dan groter/kleiner wordt.
Als ik het goed heb doet zip het namelijk met lzw.

486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

PiepPiep schreef op 03 March 2003 @ 21:44:
Tnx voor de link, ik denk dat dit precies is wat ik zocht en zelfs meer :)
Ik vraag me trouwens af, als je de huffman compressie eraf haalt zeg maar, en dan lzw zou doen hoeveel de file dan groter/kleiner wordt.
Als ik het goed heb doet zip het namelijk met lzw.
Zip gebruikt de volgende technieken:
- RLE (run length encoding, 10 gelijke bytes worden vervangen door een herhalingsfactor en de byte... aaaaaaaaaa wordt dus: 10xa)
- Lempel-Zif-Welsh Herhalingen van bytereeksen worden vervangen naar een pointer naar de eerder voorgekomen bytereeks.
- Huffmann Bytes die vaker voorkomen worden vervangen door een kortere bitrepresentatie dan bytes die minder vaak voorkomen.

Programma's als RAR en ACE voegen hier nog een library aan toe. Deze library is voor alle versies van het programma gelijk, en hoeft dus niet mee opgeslagen te worden met het gecomprimeerde bestand.

Je ziet dat alle technieken gebaseerd zijn op het feit dat data niet gelijkmatig voorkomt in het bestand. Een vol-etropisch bestand kan dus met deze technieken niet gecomprimeerd worden.

[ Voor 4% gewijzigd door kvdveer op 04-03-2003 09:40 . Reden: toevoeging ]

Localhost, sweet localhost

Pagina: 1