HydrogenAudio

Hydrogenaudio Forum => Scientific Discussion => Topic started by: cjanscen on 2003-11-18 05:09:47

Title: Abstraction layer idea
Post by: cjanscen on 2003-11-18 05:09:47
First let me say know practically nothing about psychoacoustic algorithms and losy file formats, but and idea just occured:

Could an abstraction layer be implemented between the psychoacoustic algorithm and the actual physical file-storage format? So that way you could pick an algorithm, and then pick a file format to use when encoding from source....examples:

LAME-APS algorithm + mp3 file format

xing algorithm + mp3 file format

or better yet....

MPC algorithm + mp3 file format

OGG algorithm + mp3 file format

X algorithm + Y format

Is this at all possible? Or are the psychoacoustic algorithm's too tied to their respective file formats? Where does the container fit into all this? Thanks for your time
Title: Abstraction layer idea
Post by: sthayashi on 2003-11-18 05:28:39
This would be a highly cool idea, but the problem is that each algorithm you mentioned is highly dependent on the format.

In fact, it's probably better to think of the file format as the algorithm, and the settings as just tweaks
Title: Abstraction layer idea
Post by: Gabriel on 2003-11-18 09:38:20
The problem is that you usually tweak you psychoacoustic model in order to take into consideration the possibilities and the limitations of your format.
Title: Abstraction layer idea
Post by: cjanscen on 2003-11-19 02:40:03
Quote
The problem is that you usually tweak you psychoacoustic model in order to take into consideration the possibilities and the limitations of your format.


So if there was a layer of abstraction, it would probably have to use some sort of intermediate file format, then every psychoacoustic algorithm would have to optimise for that...and then that intermediate format would be translated into Y file format....so in short, massive rewriting for minimal gains.

Also this theoretical intermediate file format would be a compromise between all of the different algorithms capabilities...if such a thing were implemented it would probably have a very hard time aproaching the efficiency (file size/quality ratio) of anything that already exists...

But on the positive side, if something like this existed, all the different layers could be worked on independently...it could be like "profiling" an audio file encoding process, so instead of for speed it would be for the efficiency of a given encoding path (say: wav->mpc alg.->intermediate file-> ogg format->vorbis container)...maybe some day...