Change search
ReferencesLink to record
Permanent link

Direct link
Audio Compression: A Web-API Optimized Coder Design
2016 (English)Independent thesis Advanced level (professional degree), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

The goal of this thesis was to design a web implemented audio codec with the help of JavaScript and WebGL. The idea was to use the computers graphic processor unit (GPU) for heavy computations through WebGL. The performance was then evaluated on a limited set of systems.The codec structure is based on the existing G.719 codec which is briefly explained. Additionally a custom low complex vector quantizer was implemented instead of the existing one in G.719. The coder was adjusted to take advantage of WebWorkers and the parallelization of WebGL.The final coder works in real time on all tested systems and produces satisfactory audio, even though a slight performance difference can be seen in favour for Chrome over Firefox.It was found that WebGL is a really powerful tool but is costly to use. It is especially resource heavy to read the values from the GPU, it is obvious that WebGL wasn't implemented for that kind of use. An extra layer of difficulty is also added by the fact that values can only be sent and retrieved from WebGL as 8-bit values, this needs to be worked around since 8-bits are not enough for high quality audio.WebWorkers were found to be a good middle ground where the main tools of JavaScript exists while being able to perform heavy calculations without blocking the main script. This bodes well for the future when AudioWorkers are implemented. The suggestion is to wait for them and then evaluate their performance. The currently implemented coder will likely be easily converted when that happens.

Place, publisher, year, edition, pages
Keyword [en]
Keyword [sv]
Teknik, JavaScript, Audio codec, FFT, Fast Fourier Transfrom, AudioWorker, WebWorker, Chrome, Firefox, Audio compression, compression, optimized, WebGL, GPU, codec, G.719, Discrete Cosine Transform, Modified Discrete Cosine Transform, SNR, Vector quantizer, Web Audio, Ericsson, windowing, API, canvas, texture, DCT, MDCT
URN: urn:nbn:se:ltu:diva-42492Local ID: 07fca1aa-5197-4e1c-9a57-25e4fd711f6bOAI: diva2:1015714
External cooperation
Subject / course
Student thesis, at least 30 credits
Educational program
Engineering Physics and Electrical Engineering, master's level
Validerat; 20160522 (global_studentproject_submitter)Available from: 2016-10-04 Created: 2016-10-04Bibliographically approved

Open Access in DiVA

fulltext(782 kB)0 downloads
File information
File name FULLTEXT02.pdfFile size 782 kBChecksum SHA-512
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Bohman, Daniel

Search outside of DiVA

GoogleGoogle Scholar
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

ReferencesLink to record
Permanent link

Direct link