Portable Games 2. Geluid - Welk effect heeft compressie op de kwaliteit?

Door ObAt op donderdag 12 mei 2011 18:46 - Reacties (12)
Categorie: Geluid, Views: 2.565

Inleiding
Mijn laatste blog bracht een heel aantal vragen naar boven, daarom heb ik besloten dat ik deze blog maak waarin ik wat dieper in ga op de zaken die ik eerder heb besproken. Aan te raden is dan ook om eerst mijn laatste blog te lezen!

We gaan het onder andere hebben over de kwaliteitsverlies, en als deze er Łberhaupt is. Daarna gaan we kijken naar de verschillen tussen Wave en Ogg Vorbis, en wat voor voor- en nadelen aan Ogg Vorbis zitten. Maar om te beginnen wil ik nog eens duidelijk uitleggen wat ik met mijn vorige blog bedoelde.

Games ombouwen?
We gebruiken Left4Dead 2 maar weer is als voorbeeld. Stel je hebt mooi alle Wave's gedecodeerd tot Ogg Vorbis bestanden, is het dan mogelijk om de game nog te draaien? Het antwoord is makkelijk gezegd: Nee, dat gaat helaas niet. De dingen die dat regelen zitten vaak zo diep in de game dat je het niet kunt wijzigen. (We komen hier later nog op terug, maar laat het maar nu voor hoe het is)

De vraag is dan, wat heb je dan aan de compressie? Nou het antwoord is simpel, je kunt iets inpakken zodat het tijdelijk een stuk kleiner is. Dit is erg handig bij het 'vervoer' van games, wat meestal via DVD'tjes of via Steam gaat. Het is in economisch opzicht erg handig om maar 1 DVD'tje te hoeven gebruiken i.p.v. 3! De kosten van een DVD'tje zijn dan wel zeer laag tegenwoordig (nog geen 20 cent tegenwoordig) maar als je 10 miljoen games verkoopt wil ik best wel 10 miljoen keer die 20 cent houden (2 miljoen euro). Het zelfde geldt bij games die eerst gedownload moeten worden zoals bij Steam, bandbreedte kost ook vrijwel niets meer tegenwoordig maar op grote schaal (tienduizenden terabytes = ~10 miljoen verkochte games) is het ook zeker de moeite waard om is na te kijken!

Kwaliteitsverlies, of niet!
Zelf beweer ik dat de kwaliteit er niet op achteruit gaat bij het encoderen van Wave bestanden naar Ogg Vorbis, als dit klopt daar gaan we (en ik zelf ook) nu achter komen. Voor deze test heb ik een liedje (Rihanna - Don't Stop The Music) gedownload in 1:1 formaat, oftewel als Wave bestand. Ik heb het liedje gedecodeerd tot een Ogg Vorbis bestand en daarna heb ik deze weer terug gedecodeerd tot een Wave'je. We zullen de verschillen is bekijken.

Als eerste heb ik verschillende mensen het verschil proberen te laten vinden door er na te luisteren. De uitkomst hiervan is, is dat de helft dacht dat het Ogg Vorbis bestandje het origineel was en de andere helft dacht dat de Wave het origineel was (verschil is dus bijna niet te horen, het was dus gokwerk).

Nu is een beetje de technische kant van het verhaal bekijken. Ik heb dezelfde bestanden gebruikt die ik in het vorige voorbeeld heb gebruikt. Deze bestanden heb ik door middel van Adobe Soundbooth eenvoudig kunnen analyseren. Het resultaat volgt in de volgende twee afbeeldingen.

http://imageshack.us/m/807/9776/ogg.jpg
Het OGG Vorbis bestand

http://imageshack.us/m/842/2278/wavezb.jpg
Het origineel Wave bestand

Zoals je kunt zien, zie je dat sommige golfjes (strepen) minder hoog zijn bij het OGG bestand dan bij het origineel. Dit geeft aan dat er wel degelijk kwaliteitsverlies is! Maar het totaal verlies is zeer laag en bijna niet te horen. Om nog maar een vergelijking te maken heb ik nu ook het MP3 bestand (10.1mb @ 320kbps) geanalyseerd.

[url=http://imageshack.us/m/52/4779/mp3y.jpghttp://imageshack.us/m/52/4779/mp3y.jpg[/url]
Het MP3 bestand

De verschillen zijn gigantisch! Er is duidelijk een kwaliteitsverlies te zien, en dit is wel hoorbaar voor een geoefend oor. Als je de verschillen tussen OGG en WAV vergelijkt met MP3 en WAV zie je dat OGG Vorbis veel beter uit de test komt! Als je de verschillen niet ziet is het aangeraden om de afbeeldingen op te slaan en dan na elkaar te bekijken.

Ook nog leuk om te weten, bekijk het verschil van grootte is tussen de verschillende bestanden.

Wave: 44,9 MB (47.116.436 bytes)
MPEG-1 Layer 3 (MP3): 10,1 MB (10.684.460 bytes)
Ogg Vorbis: 3,67 MB (3.856.627 bytes)

Conclusie
Kort samengevat, het decoderen naar Ogg Vorbis geeft een compressieverhouding van 91.8% (!!!). Het zal een understatement zijn om te zeggen dat dit gigantisch veel is! MP3 geef opzicht ook een heel nette compressie, namelijk 77.5%. Het enige nadeel is, is dat het geluid er hoorbaar op achteruit gaat, wat niet het geval is bij Ogg Vorbis. Xiph.Org Foundation (maker van Ogg Vorbis) heeft in deze blog dus beide wedstrijden gewonnen, beste compressie en beste kwaliteit.

Het enige nadeel wat Ogg Vorbis heeft is dat Wave en MP3 in tegenstelling tot Ogg Vorbis veel uitgebreider wordt ondersteund door vrijwel alle Hard- en Softwaremakers. Wel moet er bij worden gezegd dat vrijwel alle nieuwe apparaten (en programma's) Ogg Vorbis wel al ondersteunen, een aantal voorbeelden zijn: Samsung, SanDisk, Rio, Neuros Technology, Cowon, Iriver, Philips en Unreal Tournament 2004. De toekomst zal leren als dit lijstje nog een stuk groter wordt, of als programmeurs geen behoefte hebben aan wat nieuws :)

Volgende: Portable Games 1. Geluid - Hoe een Game 90% kleiner te maken. 04-'11 Portable Games 1. Geluid - Hoe een Game 90% kleiner te maken.

Reacties


Door Tweakers user Sebazzz, donderdag 12 mei 2011 18:52

Je bedoeld compressieverhouding 10%?

Als je 100MB naar 10MB comprimeert is je compressieverhouding 10%, het is namelijk 10% van het origineel.

Door Tweakers user ObAt, donderdag 12 mei 2011 19:08

Sebazzz schreef op donderdag 12 mei 2011 @ 18:52:
Je bedoeld compressieverhouding 10%?

Als je 100MB naar 10MB comprimeert is je compressieverhouding 10%, het is namelijk 10% van het origineel.
Sorry, ik zie nergens 100MB staan. Het origineel bestand is 'maar' 44.9mb :)

Door Tweakers user i-chat, donderdag 12 mei 2011 19:12

1- (3,67 / 44,9) = 1 - 0,0817 0,918 ofwel 91,8% klik voor uitleg
ik denk dat sebaz de compressie ratio formule niet door heeft...

toegegeven ik moest ook even diep nadenken hoe het ook alweer zat.

[Reactie gewijzigd op donderdag 12 mei 2011 19:13]


Door Tweakers user Lieuwe15, donderdag 12 mei 2011 19:38

Ik zie niet zozeer de link tussen 'de hoogte van de streepjes' en geluidskwaliteit.. Gooi er maar eens een FFT overheen, dan zul je zien dat bijvoorbeeld mp3 zowat alles boven de 17khz afkapt..

Door Tweakers user Wiethoofd, donderdag 12 mei 2011 19:39

Je moet even je afbeeldingen een max breedte van 575px geven, er valt nu 2/3e van je afbeelding weg. Misschien mooi om de Lightbox-feature hiervoor te gebruiken die je tot je beschikking hebt.

Verbazingwekkend dat gamemakers geen gebruik maken van het veel efficiŽntere Ogg Vorbis, tijd voor een petitie :P

Door Tweakers user Ventieldopje, donderdag 12 mei 2011 19:48

Weer een niets zeggend blog natuurlijk, wat voor compressie instellingen heb je gebruikt, wat voor en wat voor versie voor de mp3 encoder?

Bovendien zijn mp3 en ogg lossy formaten wat dus inhoud dat er altijd wel wat data verloren gaat of gecomprimeert wordt vandaar de kleine bestands grootte.

Wil je lossless comprimeren moet je het encoden met codecs als FLAC en Monkeys Audio (APE) ;)

Bovendien kan niet elke codec even veel geluids sporen aan ;)

[Reactie gewijzigd op donderdag 12 mei 2011 19:49]


Door Tweakers user RielN, donderdag 12 mei 2011 19:50

Lieuwe15 schreef op donderdag 12 mei 2011 @ 19:38:
Ik zie niet zozeer de link tussen 'de hoogte van de streepjes' en geluidskwaliteit.. Gooi er maar eens een FFT overheen, dan zul je zien dat bijvoorbeeld mp3 zowat alles boven de 17khz afkapt..
NEe, de hoogte is de amplitude. Dat van die kwaliteit slaat nergens op.

Door Tweakers user ObAt, donderdag 12 mei 2011 20:28

RielN schreef op donderdag 12 mei 2011 @ 19:50:
[...]


NEe, de hoogte is de amplitude. Dat van die kwaliteit slaat nergens op.
Wat ik bedoel met kwaliteitsverlies is dat als je de bestanden naar MP3 encodeerd en daarna weer terug naar Wave, lijken ze totaal niet meer op elkaar, oftewel kwaliteitsverlies het bestand lijkt niet meer op het origineel. Bij Ogg Vorbis is dit stukken minder.

Door Tweakers user Cave_Boy, donderdag 12 mei 2011 20:38

Je zou het verschil beter zien als je beide plaatjes overelkaar had met verschillende kleuren. Verder mooi artikel.

Door Tweakers user ObAt, donderdag 12 mei 2011 21:37

Cave_Boy schreef op donderdag 12 mei 2011 @ 20:38:
Je zou het verschil beter zien als je beide plaatjes overelkaar had met verschillende kleuren. Verder mooi artikel.
Ik heb er een GIF'je van gemaakt maar op een of andere manier wil dat maar niet werken. Als er animo is wil ik deze wel uploaden :)

Door Tweakers user Jesserr, donderdag 12 mei 2011 22:34

Gebruikt Android op telefoons niet al .ogg? Ik zag het laatst ergens, weet even niet meer zeker of het Android was of niet. Is natuurlijk wat anders dan een game, maar meer om aan te geven dat het toegepast wordt.

Door Tweakers user Elijan9, vrijdag 13 mei 2011 13:38

ObAt schreef op donderdag 12 mei 2011 @ 20:28:
Wat ik bedoel met kwaliteitsverlies is dat als je de bestanden naar MP3 encodeerd en daarna weer terug naar Wave, lijken ze totaal niet meer op elkaar, oftewel kwaliteitsverlies het bestand lijkt niet meer op het origineel. Bij Ogg Vorbis is dit stukken minder.
Die link is er niet zo simpel tussen "lijkt totaal niet op elkaar" en "kwaliteitsverlies"! Een vergelijking op basis van grafische weergave van de amplitudes zegt niet zoveel. Twee sinussen van dezelfde frequentie kunnen er totaal tegengesteld uitzien, maar de toonhoogte en kwaliteit is hetzelfde.

Daarom zou je dus eigenlijk, zoals Lieuwe15 al noemde, een FFT moeten maken van het origineel en de uiteindelijke versie. Het kan immers heel goed zijn dat alle verschillende frequenties in de zelfde sterkte aanwezig zijn in origineel en alternatief, maar dat de fase van deze frequentie net even anders ligt waardoor het wave plaatje er totaal anders uit ziet!

Reageren is niet meer mogelijk