Log in

View Full Version : Spatial Audio Coding, high quality 5.1ch Audio at 48 to 64Kbps total.


Oki
11th July 2005, 16:57
I have found a nice document about the next step in audio coding from Fraunhofer IIS. They promise high quality 5.1ch Audio at 48 to 64Kbps total.

You can find a Technology Preview PDF here (http://www.m4if.org/exhibitions/IBC2004/presentations/Session4-S.Geyersberger.pdf). It is a kind of Surround but multiplexed in the HE-AAC stream like the SBR part is multiplexed in AAC stream.

Regards,
Oki

E-Male
11th July 2005, 17:36
IMHO nothing is as good as discrete channels

but if you (for whatever reasons) need very low bitrates other methods are of course nice to have

the simplest method i can think of would be this:

-encode as stereo/dpl2-downmix
-compare encode to original and find losses of surround
-add some kind of info about them to the file that the decoder can use
(i know that "some kind of info" is a useless term, but you get my basic idea)
also finding silent channels or channels with the same content for some time can save bits, st the cost of accuracy of course

Oki
12th July 2005, 16:17
IMHO nothing is as good as discrete channels

but if you (for whatever reasons) need very low bitrates other methods are of course nice to have

the simplest method i can think of would be this:

-encode as stereo/dpl2-downmix
-compare encode to original and find losses of surround
-add some kind of info about them to the file that the decoder can use
(i know that "some kind of info" is a useless term, but you get my basic idea)
also finding silent channels or channels with the same content for some time can save bits, st the cost of accuracy of course
I think that Spatial Audio Encoding is something more complicated and powerful than what you are suggesting and goes much further than that. It is mix between the method introduced with HE-AAC encoding (digital mux of additional info) and 3D positional audio. This last part is the key and this will be the next step in audio encoding.

When an audio track of a movie is created, you have:
1 A mono audio source for each effect or sound, included voices.
2 A relative position for that source in 3D.
3 An environment that generates, for instance, echo or reverb effects. You must know only the geometry and the materials of the environment.

After that, a sound processor calculates the 2ch, 5.1ch, 7.1ch or 47.1ch channels that tries to reproduce the exact 3D positional sound with a given number of speakers. The simplest and better way for experiencing that is hearing the output for headphones with the right model of the head of the listener. Better than Dolby Headphones, Sensaura is impressive in that matter.

The easiest way to compress several channels that are trying to reproduce positional audio is to separate the 3 components for each sound: the sample, the relative source position and the environment effects. The ideal system should detect each separate sound and the h(t) applied for each speaker, then you will end with the perfect encoding with the mininum H[s] info.

The real world isn't like that, we have a lot of different sounds in an movie soundtrack, this is why Spatial Audio Enconding proposed by Fraunhofer IIS is more simple than the ideal situation described before but without leaving the original philisophy. It encodes LFE and a mono or stereo sound as "the sound" in HE-AAC and it multiplexes the transform functions used for calculating the rest of the channels. With more bits, more fidelity. With the same number of bits, Spatial Encoded HE-AAC will have far more quality than separate 5.1ch HE-AAC encoding.

It is just another feature of 5.1ch tracks, channels are not independent from eachother if the audio track is correctly created and this is another feature used for compression.

As you can see it has nothing to do with Dolby Surround, it is not additive matrix encoding, it is far more advanced, it uses IIR filter estimation and time convolution which are far more powerful operators than a simple + or -.

This is not just a way to do low bitrates with more quality but a way to increase the quality with a given bitrate, and we all want one thing or another.

regards,
Oki

E-Male
12th July 2005, 21:02
i said "the simplest method i can think of"
so don't kill me please :scared:

all you explained is fine but has limits
as i said: nothing is as good as discrete channels
but for lower bitrates other option should of course be explored

Oki
12th July 2005, 23:35
i said "the simplest method i can think of"
so don't kill me please :scared:

all you explained is fine but has limits
as i said: nothing is as good as discrete channels
but for lower bitrates other option should of course be exploredI am sorry , I do not want to kill anyone ;) I just disagree with you in two points.

I just believe that Spatial Audio Coding is not aimed at low bit rates, it is mainly for high quality 5.1 audio. It is like H.264, it was not aimed at low bitrates, it was thought for HD video.

An analogy:
It cost a lot less in size to encode a moving 3D scene by describing the geometry, textures and movements than encoding the rendered animation. I am telling you exactly that but in the audio realms. If you have the source and the power to render multichannel in realtime, Why we would need to render and compress that later? it is more efficient and gives more quality having the compressed source and render that with full quality. The current Spatial Audio Coding goes in that direction and this is why it is so revolutionary.

I would like to go further, the next step in Spatial Audio Coding will remove the downmix to 5.1ch and we will receive the samples, source positions and environment response in a digital stream. Our sound systems will render the sounds for our customized speaker set. Now the render to THX or THX-EX is handled by expensive professional systems, but in the future any multimedia system will be able to render this kind of information.

as i said: nothing is as good as discrete channels
but for lower bitrates other option should of course be explored
Remember that multichannel sound can not give you spherical positional audio and the sound sources are felt somewhere in a plane, not over or under that plane. This is why I think that multichannel sound is not the clever way and it is very, very limited. From my point of view nothing is as bad as discrete channels even with lossless compression.

In a multichannel future, if you want to feel a sound coming from your top, the current madness will place an additiona speaker over your head :scared:.

Best regards,
Oki

E-Male
13th July 2005, 05:49
i see what you mean

if it is used form the beginning on it makes sense

but it's not usefull for compressing existing ("rendered") 5.1 mixes (if i understand correctly)

also just having the "position" has limits, for example:
-how do you code the difference between "on the center" and "on both front speakers (=phantom center)"
-can you code same thing like "on front left and surround right" (not really a spatial placement, but can happen for artistic reasons, for example in a music mix)

but i now understand that it makes sense using this technique, if it is used before the 5.1 (or whatever channels) mix is "rendered"

Oki
15th July 2005, 08:35
but it's not usefull for compressing existing ("rendered") 5.1 mixes (if i understand correctly)Actually it is not as efficient as coding the source before 5.1ch rendering, but it is more efficient than coding 6 independent streams.
also just having the "position" has limits, for example:
-how do you code the difference between "on the center" and "on both front speakers (=phantom center)"
-can you code same thing like "on front left and surround right" (not really a spatial placement, but can happen for artistic reasons, for example in a music mix)
1st. easy, the environment tells you the diference between center and phantom center because in Spatial Audio Coding you are multiplexing the environment and the position together solving that problem.
2nd. I do not see any problem in coding that situation. If you have the same sound in two channels it is easy to encode that even with phase shift. If they are different, you will have to encode two sound and their positions.

This encoding system can be lossless if you use more bits, reconstructing the 6 channels. This that can not be done by simple additive matrix encoding. And I suspect that you are still thinking that Spatial Audio Coding is based on matrix encoding such as Dolby Surround or Joint Stereo, and this method is very different.

E-Male
15th July 2005, 15:36
you suspect something wrong

>>Actually it is not as efficient as coding the source before 5.1ch rendering, but it is more efficient than coding 6 independent streams.<<
i don't really understand what you mean

Oki
15th July 2005, 22:51
you suspect something wrong

>>Actually it is not as efficient as coding the source before 5.1ch rendering, but it is more efficient than coding 6 independent streams.<<
i don't really understand what you meanSorry about that.

I mean:
- Coding 5.1ch with lossless coding of independent channels is efficient but...
- Coding 5.1ch with lossless Spatial Audio Coding is even more efficient but...
- Coding the source sounds, position and environment geometry/materials before 5.1ch rendering is the most efficient method with the highest fidelity.

About lossy coding, Fraunhofer Institute, part of MPEG group, promises that 64kbps Spatial Audio Coding 5.1ch HE-AAC will give the same fidelity than 384 Kbps 5.1ch AC3. This is 1/6 the size of Dolby AC3 sound.

MP3 Surround uses the same Spatial Audio Encoding technique but bitrate for 5.1ch is 192Kbps and not 64Kbps. You can test fully discrete audio input with a encoder and a player here (http://www.iis.fraunhofer.de/amm/download/mp3surround/downloadpage.html). You have several 5.1ch songs as well. Enjoy it.

E-Male
16th July 2005, 00:02
i see
definitively a research-field to watch for a surround-fanatic like myself :cool:

the coolest thing would be that if (big IF) all source streams plus their positioning are in the audio files one could (after cracking protection and so on and so forth) extract all those source streams and for exmaple dub the movie or remix a song (a capellas and instrumentals for free, yippee)

Oki
16th July 2005, 00:19
Yes, voice separation could be extremely easy. I haven't thought about that!!!! WoW! extremely easy dubbing and multilanguage streams... and even better for karaoke fans.

Take a look at MP3 Surround (http://www.iis.fraunhofer.de/amm/download/mp3surround/termsofuse.html) and tell me if you have enough channel separation. HE-AAC "Surround" will use the same spatial coding, but using HE-AAC v2 streams instead MP3 streams.

E-Male
16th July 2005, 11:01
i'll have a look as it when i have time (maybe tonight, maybe over the week)
maybe it'll make me a believer ;)