ChristianHJW
25th March 2002, 15:43
Hi there,
i am demotivated :( .. seems as if i was investing a lot of time into something thats not supposed to work ?
Here a record of my recent conversation with Michael Smith ( vakor ) from the Vorbis dev team ( thread is here : http://www.powerdivx.com/phpbb2/viewtopic.php?t=382 ) :
<ChrisHJW> I am still trying to prove it should be possible to encode different language movie tracks into one single audio stream with very low extra bitrate
<ChrisHJW> if channel coupling can be used, assuming there is much common sound infomation between the individual languages
<ChrisHJW> as there is no channel coupling for multichannel Vorbis for now
<Bob_> but probably one of the most wanted features
<ChrisHJW> i was suggesting to do a 2ch encoding using f.e the left channel of the english and the left channel of the german soundtrack of a movie
<Bob_> in some variation or another at least
<ChrisHJW> and use Cooledit to make a 2 ch WAV from it
<ChrisHJW> now here is my question :
<ChrisHJW> what can i do to find out what extra bitrate ( compared to mono ? ) Vorbis encoder will need for the 2nd channel with same quality ?
<ChrisHJW> My test ( planned ) :
<ChrisHJW> Encode L channel of english alone ( mono )
<ChrisHJW> 2. add L channel german to that to make it 2 ch and encode with OggDrop with lossy channel coupling ?
<ChrisHJW> Any objections ? am i wrong in my assumption this could help to find out how many common information there is between the individual langauges in one movie ?
<ChrisHJW> I wanted to do this for a couple of movies to get a good overall idea if it was feasible at all
<Vakor> ChrisHJW: that's a terribly ugly hacky way of doing multi-language encoding, given that ogg is designed to do that sort of thing nicely by giving you multiplexed streams. That would suck.
<Vakor> Whilst your test will be roughly accurate (there's some overhead from the headers and framing data, but it's small enough you can probably ignore it), it won't sound good. You need to do lossless coupling, which requires some minor tweaks to the encoder mode setup
<ChrisHJW> vakor : could you please explain 'multiplexed streams' ?
<ChrisHJW> Its standard to put one stream for each language with your movie
<Vakor> yes
<ChrisHJW> but its always double the bitrate you need
<Vakor> multiple logical streams simultaneously in a single physical bitstream --> multiplexed streams
<ChrisHJW> my idea is aiming towards being capable of adding a 2nd language into a 128 kbps stream
<Vakor> yes, that's the price you pay for having two independent soundtracks.
<ChrisHJW> compared to a let say 96 kbps for one language
<ChrisHJW> thanks to channel coupling
<ChrisHJW> every ripper has a 'main' language, in most cases his mother tongue
<Vakor> You'll either save very little or _kill_ quality, and you'll only be able to do it at all by adding horrible hacks - how do you distinguish between a stereo stream and two mono channels that are logically seperate streams?
<Vakor> Answer: without adding non-standard ugly hacks that will be very specific to your implementation, you can't. Don't do it.
<ChrisHJW> well, dont forget we want to define a channel mapping table for Vorbis
<ChrisHJW> so we could put it in now, no hacks !
<ChrisHJW> kill quality : if ever than only for the 2nd ( added ) language, main language will not be affected
<ChrisHJW> on playback the DSF would have to decode all channels but only give the desired language to the wave_out
<Vakor> no, because that has nothing to do with channel mappings.
<Vakor> And it WILL kill quality - it'll either degrade both, or make the secondary one completely unusable.
<Vakor> You could propose a channel mapping which allows that, but it wouldn't be accepted. It's not useful to have multiple languages if the second is going to be a completely horrible quality. It also WON'T save you nearly as much bitrate as you seem to think it will, because there's too little similarity.
<ChrisHJW> so if i use lossless channel coupling instead ?
<ChrisHJW> would quality be acceptable then ?
<ChrisHJW> let me try it first before we drop it completely
<ChrisHJW> is anything wrong with the way i want to try ?
<tangent3> it sounds like an ugly hack to me
<Vakor> ChrisHJW: quality would be substantially degraded (you kill preecho stuff), but much better. Of course, your bitrate won't be substantially reduced doing it that way.
<Vakor> ChrisHJW: it's ugly, will sound nasty, and is completely unacceptable for a public implementation. If you want to experiment, however, you can do so.
<ChrisHJW> Vakor : sorry if i come back to it, i got your message loud and clear ... you dont like the idea
<ChrisHJW> but the trial with two L channels is only ment to find out if it could save bits
<ChrisHJW> i dont want this in the specs
<ChrisHJW> lateron we should do this with Stereo only .. of course
<ChrisHJW> just wanted to clarify this
<ChrisHJW> thanks for your time and input
Guys, i want your input here !!
As this here is Doom9's audio forum i expect a bit more than just a comment. I'd like you all to get your DVDs out, rip/decode a few different language tracks to Stereo WAV's with BeSweet, edit them with Cooledit ( extract L or R channels from the WAVs ) and compare them by making Cooledit ditract one from the other ( like L english - L german, or R french - R english ) and post the graphs here ( if you want me to upload to my webspace mail me ).
Next try is to encode ( with OggDrop or similar )
1. L channel English ( mono )
2. a 2 ch WAV conatining L channel English and L channel German ( or French )
with same qualities ( like 2 ...3 ) and different channel coupling modes.
We are aiming to find out
- if there are any time delays between different language audio tracks, making the idea of channel coupling impossible
- if channel coupling ( only working for 2 ch audio for now, so dont test 4 ch !!! ) does work for different language tracks and what the extra bitrate is we need at different channel coupling modes, plus what the audio quality is like ( distortion, etc. )
- this may only be possible for 2 ch AC3's ?
We dont give up that quickly, do we :D !!!!
i am demotivated :( .. seems as if i was investing a lot of time into something thats not supposed to work ?
Here a record of my recent conversation with Michael Smith ( vakor ) from the Vorbis dev team ( thread is here : http://www.powerdivx.com/phpbb2/viewtopic.php?t=382 ) :
<ChrisHJW> I am still trying to prove it should be possible to encode different language movie tracks into one single audio stream with very low extra bitrate
<ChrisHJW> if channel coupling can be used, assuming there is much common sound infomation between the individual languages
<ChrisHJW> as there is no channel coupling for multichannel Vorbis for now
<Bob_> but probably one of the most wanted features
<ChrisHJW> i was suggesting to do a 2ch encoding using f.e the left channel of the english and the left channel of the german soundtrack of a movie
<Bob_> in some variation or another at least
<ChrisHJW> and use Cooledit to make a 2 ch WAV from it
<ChrisHJW> now here is my question :
<ChrisHJW> what can i do to find out what extra bitrate ( compared to mono ? ) Vorbis encoder will need for the 2nd channel with same quality ?
<ChrisHJW> My test ( planned ) :
<ChrisHJW> Encode L channel of english alone ( mono )
<ChrisHJW> 2. add L channel german to that to make it 2 ch and encode with OggDrop with lossy channel coupling ?
<ChrisHJW> Any objections ? am i wrong in my assumption this could help to find out how many common information there is between the individual langauges in one movie ?
<ChrisHJW> I wanted to do this for a couple of movies to get a good overall idea if it was feasible at all
<Vakor> ChrisHJW: that's a terribly ugly hacky way of doing multi-language encoding, given that ogg is designed to do that sort of thing nicely by giving you multiplexed streams. That would suck.
<Vakor> Whilst your test will be roughly accurate (there's some overhead from the headers and framing data, but it's small enough you can probably ignore it), it won't sound good. You need to do lossless coupling, which requires some minor tweaks to the encoder mode setup
<ChrisHJW> vakor : could you please explain 'multiplexed streams' ?
<ChrisHJW> Its standard to put one stream for each language with your movie
<Vakor> yes
<ChrisHJW> but its always double the bitrate you need
<Vakor> multiple logical streams simultaneously in a single physical bitstream --> multiplexed streams
<ChrisHJW> my idea is aiming towards being capable of adding a 2nd language into a 128 kbps stream
<Vakor> yes, that's the price you pay for having two independent soundtracks.
<ChrisHJW> compared to a let say 96 kbps for one language
<ChrisHJW> thanks to channel coupling
<ChrisHJW> every ripper has a 'main' language, in most cases his mother tongue
<Vakor> You'll either save very little or _kill_ quality, and you'll only be able to do it at all by adding horrible hacks - how do you distinguish between a stereo stream and two mono channels that are logically seperate streams?
<Vakor> Answer: without adding non-standard ugly hacks that will be very specific to your implementation, you can't. Don't do it.
<ChrisHJW> well, dont forget we want to define a channel mapping table for Vorbis
<ChrisHJW> so we could put it in now, no hacks !
<ChrisHJW> kill quality : if ever than only for the 2nd ( added ) language, main language will not be affected
<ChrisHJW> on playback the DSF would have to decode all channels but only give the desired language to the wave_out
<Vakor> no, because that has nothing to do with channel mappings.
<Vakor> And it WILL kill quality - it'll either degrade both, or make the secondary one completely unusable.
<Vakor> You could propose a channel mapping which allows that, but it wouldn't be accepted. It's not useful to have multiple languages if the second is going to be a completely horrible quality. It also WON'T save you nearly as much bitrate as you seem to think it will, because there's too little similarity.
<ChrisHJW> so if i use lossless channel coupling instead ?
<ChrisHJW> would quality be acceptable then ?
<ChrisHJW> let me try it first before we drop it completely
<ChrisHJW> is anything wrong with the way i want to try ?
<tangent3> it sounds like an ugly hack to me
<Vakor> ChrisHJW: quality would be substantially degraded (you kill preecho stuff), but much better. Of course, your bitrate won't be substantially reduced doing it that way.
<Vakor> ChrisHJW: it's ugly, will sound nasty, and is completely unacceptable for a public implementation. If you want to experiment, however, you can do so.
<ChrisHJW> Vakor : sorry if i come back to it, i got your message loud and clear ... you dont like the idea
<ChrisHJW> but the trial with two L channels is only ment to find out if it could save bits
<ChrisHJW> i dont want this in the specs
<ChrisHJW> lateron we should do this with Stereo only .. of course
<ChrisHJW> just wanted to clarify this
<ChrisHJW> thanks for your time and input
Guys, i want your input here !!
As this here is Doom9's audio forum i expect a bit more than just a comment. I'd like you all to get your DVDs out, rip/decode a few different language tracks to Stereo WAV's with BeSweet, edit them with Cooledit ( extract L or R channels from the WAVs ) and compare them by making Cooledit ditract one from the other ( like L english - L german, or R french - R english ) and post the graphs here ( if you want me to upload to my webspace mail me ).
Next try is to encode ( with OggDrop or similar )
1. L channel English ( mono )
2. a 2 ch WAV conatining L channel English and L channel German ( or French )
with same qualities ( like 2 ...3 ) and different channel coupling modes.
We are aiming to find out
- if there are any time delays between different language audio tracks, making the idea of channel coupling impossible
- if channel coupling ( only working for 2 ch audio for now, so dont test 4 ch !!! ) does work for different language tracks and what the extra bitrate is we need at different channel coupling modes, plus what the audio quality is like ( distortion, etc. )
- this may only be possible for 2 ch AC3's ?
We dont give up that quickly, do we :D !!!!