View Full Version : Software Dolby Pro-Logic II decoder?
radosuaf
25th May 2006, 11:44
I have an analog stereo TV card (Leadtek WinFast TV2000XP Expert) along with SB Live! 5.1 and 5.1 speakers and would like to decode Dolby Surround broadcasts 'on the fly' when watching TV. I found Aud-X, which acts like a DPL II software decoder but have no idea how to set is as a default DirectShow filter for WinFast PVR. Is there any way to do that or other one to get Dolby Surround from TV?
Rockaria
26th May 2006, 05:07
The best & easiest way would be connecting the unmodified line-in/out(from win-tv) eventually to an external receiver/speaker set DPL(II) certified.
The cheaper s/w solution is as inquired, using the S/W DPL(II) decoder such as Aux-X(i didn't test) or FFDShow in the graphedit by capturing the line-in(dynamically, from the wintv) and decoding through the filter chain.
The winamp has the line-in plugin but no DS(DPL(II)) decoder,afaik.
And other players have , AFAIK, no line-in plugin.
Some TV viewers(including the dscaler, wintv..) might have dsfilters with audio source selectable(I am not uptodate).
But what I've tested so far is using the graphedit(i.e. saved as tvDPLII.flt) as said above :
Audio Capture Source:capture->FFDShow : DPL II decoder : 6ch pcm out->Default DirectSound Device.
In this case, the tv player, I guess, must have the line-in disabled to prevent the conflict anyhow while playing the video only.
radosuaf
26th May 2006, 08:47
It really works!!! It's just now A and V are out of sync, picture stutters and I get sound only from the center speaker :/. Is there somethnig else apart form Aud-X I could use?
Rockaria
28th May 2006, 18:36
The video decoding & rendering is supposedly having some more latency than DPL II decoding.
For the audio synchronization, there's a 'delay' DSP in the FFDShow to adjust.
If the 'center' only is played, the original stream might be 'mono', if the filters & player are set correctly.
3dsnar
30th May 2006, 08:10
It really works!!! It's just now A and V are out of sync, picture stutters and I get sound only from the center speaker :/. Is there somethnig else apart form Aud-X I could use?
Did you manage to run FFDshow, or the same problem occurs?
Aud-X DSfilter displays information about the decoded stream.
What is it?
Cheers, 3d
voidmind
30th May 2006, 09:22
well i think my post was killed, and this is the only one closest to it?.....
so how do i do this with the optical out on my ps2?, decode the prologic II signal
i have no idea what graphedit is....
voidmind
30th May 2006, 12:21
its kidna working how i want it to,
i notice different channels for rear and front, using graphedit (not as hard as i thought it would be) and the steps in post 2.
however, outputting the sound to the direct sound renderer, OR any other one (they seem to be all the same, 4 devices, same unchangeable config page). It has a 500ms buffer...
i want to decrease this to its absolute minimum. Hopefulli 0ms lol.
how do i do this?
Rockaria
1st June 2006, 00:37
I believe the buffer(mine is 26ms) does not necessarily mean the audio latency(delay). Instead, I thinks it's used for continuous DAC process for analog speaker connection or SPDIF encapsulation for digital connection.
Once the buffer(FIFO) starts to be filled with the minimum pcm segments in a brief time(~0ms, no sync), it will ensure the seemingless rendering process(sync) unless there's any major resource holding longer than the buffer length.
Unfortunately, the FFDShow's 'dolby decoder' DSP does not seem to be DPL II yet. It looks like DPL or DS, identical rears.
Also remember, any s/w dpl(II) emulations(esp. decoding), can never be as good as the h/w solutions which also cannot be perfect in reproduction of original channels(i.e. servo feedback).
The analog line-in is converted to PCM through ADC while the SPDIF-in is de-capsulated to PCM, to be fed to the capture device. Other than the quality(fidelity,carrier.., SPDIF is pure DIGITAL), they are pretty much same in the later processes(almost no delay in encoding/decoding unlike DD).
3dsnar
1st June 2006, 09:59
Also remember, any s/w dpl(II) emulations(esp. decoding), can never be as good as the h/w solutions
1) Yes it can.
2) Why do you think that it isn't possible?
3) Our algorithm is as good (please test) :D
BTW. FFDshow has some simplified algorithm,
therefore it does not work as it should
(no front vs rear channels separation)
Cheers, 3d.
Rockaria
1st June 2006, 10:47
1) Yes it can.
2) Why do you think that it isn't possible?
3) Our algorithm is as good (please test)
BTW. FFDshow has some simplified algorithm,
therefore it does not work as it should
(no front vs rear channels separation)
Cheers, 3d.
The major differences I assume are :
1) 180 degree phase shift(rear merge in most s/w solutions) vs. 90 degree(h/w enc/dec)
2) The servo feedback process for adjusting surrounds(center,rear) in h/w decoding
The rests seem to be what you need to prove(system model) prior to any claims or tests...;)
Do you add any ancillary data to the DPL II stream for later better decoding?
Because I read somewhere claiming it(emulation) decodes better than h/w(original, certified) decoders..
3dsnar
1st June 2006, 11:14
It is true that most of the software solutions do not work.
Also it does not mean that it is not possible to implement
a proper decoder (in fact any analog or DSP h/w can be implemented as software DSP).
=========================
Emulating analogue filters is a tricky business, and people claim
that digial will never match analog filters quality, but this is a different story and it does not concern DPLII that much.
(it more related to emulating some special synthesizer filters, etc.)
BTW. I wonder if modern amps have DSP chips for DPLII decoding or analog circuits? I think DSP.
=========================
No, there are no 'dirty' tricks in our decoder ;)
(no auxilary data).
The quality is good because it operates in bark scale (critical filterbanks), so it is a 'improved' sorta solution. The DPLII concept is pretty old, and I have used some modern DSP solutions (bark scale approach, etc), which are not present in certified dolby algorithm.
To prove that the algorithm sounds better than certified dolby algorithm would require descent subjective tests...
So someone would have to do such an evaluation.
However users can simply listen and decide how does it compare to for example certified PowerDVD algorithm. And the difference is significant!!
(I hope you will have a chance to check it out)
Cheers, 3d
Rockaria
1st June 2006, 12:12
The 'certified PowerDVD' is a new area to me especially when I have some decent h/w decoders.:p
I am not sure (although many say) if the h/w DPL II decoder is implemented in analog circuits.
But what I am sure is the two predefined modes(movie, music) reproduce better than any other surround DSP(artificial) modes.
So it sounds to me the DPL II decoder DSP in Aud-x is an improved solution, not a s/w emulation, of Dolby's matched DPL II encoder-decoder solution..
I hope I can test the functionality anytime soon (hopefully provided with the better usability)..
BTW, do you have a clear picture of the DPL II model in mind?
Because the documents on their site is indeed very old and not clear on recent DPL II(mostly on old DPL or DS)...
voidmind
1st June 2006, 13:00
ive tried aud-x,
it seems damn good, however.
i get no rears, discussing this in aud-x forum too.
the fronts are quiter compared to non aud-x, so there is something going on.
i wonder if there is a way of puttig aud-x through a mixer of some sort, so i can distribute the channels?
also, a program to capture sound, put it through aud-x and play it, as fast as possible would be good.!!
thanks
radosuaf
1st June 2006, 14:14
Actually, I didn't involve FFDShow in the whole process. What I did was just passing the sound from "Auxilary" input directly through Aud-X and sending it to the default DirectSound output.
3dsnar
1st June 2006, 17:15
@Rocaria.
Well, in fact I have no idea how the original DPLII decoder works...
I knew how to downmix (thanx to your post, by the way ;) ),
and I have some DSP knowledge and experience, so figured out
how to resolve that. Since I was thinking in terms of the latest
DSP techniques, possibly my approach is a bit more modern that Dolby's approach... And this may result in better quality
---
@Radosuaf and Voidming.
I am sorry, I am not a DS expert... nor soundcard expert.
I have heard that there are problems with 7.1 soundcards...
But maybe someone else can help.
Thanks.
3dsnar
1st June 2006, 17:21
Radosuaf, and Voidmind
Please check out this thread.
This addresses the problem:
http://www.aud-x.com/forum/viewtopic.php?t=61
Rockaria
1st June 2006, 18:19
...possibly my approach is a bit more modern that Dolby's approach
That explaines exactly how the norms DPL II downmix & upmix are possible..
. DPL II upmix :: upmix DPL II stream to 6ch PCM :: not exactly/intended DPL II decoding
. DPL II downmix :: downmix 6ch PCM to 2ch DPL II-like stream :: not exactly DPL II encoding.
Thanks for the clarification.
3dsnar
1st June 2006, 18:26
By the way, the downmixing described in this thread:
http://forum.doom9.org/showthread.php?s=&threadid=57988
must be very close to a true DPLII downmixing, because it works
very well on a certified hardware decoders (I've tested it).
So it is nearly exact (if not exact) DPLII downmixing.
Rockaria
1st June 2006, 19:00
The encoding/decoding & downmix/upmix are used mixed in many similar threads(including my own).
I meant 'the downmix/upmix' should be regarded as a wider concept possibly involving dpl II encoding/decoding.
http://en.wikipedia.org/wiki/Dolby_Pro_Logic
Maybe we need to be more precise?
The encoding is a very simple downmixing with a correct DPL II matrix compared to the DPL II decoding.
If the 'DPL II decoding' sounds more reasonable for the intended(emulated) DPL II decoding, I believe using the corresponding 'DPL II encoding' is proper even if it is a simple downmixing(with dpl II matrix).
So if your DSFilter is not emulating the DPL II decoding, it's better be called as (DPL II) upmix or similar, but not 'dpl II decoding'. Just my thoughts..
3dsnar
1st June 2006, 19:07
So if your DSFilter is not emulating the DPL II decoding, it's better be called as (DPL II) upmix or similar, but not 'dpl II decoding'. Just my thoughts..
Yes, exactly.
But I did not want to make things too complicated...
And since it is a sort of 'reverse' process - upmix (to the DPLII downmix), I called it DPLII decoding.
I hope you can forgive me that ;)
-----
BTW. Since I know that you are a user of the HRTF based emulation implemented in FFDshow,
I am curious of your thoughs regarding my virtual surround emulatioh.
Please check out this thread:
http://forum.doom9.org/showthread.php?t=111889
Rockaria
1st June 2006, 19:18
Yes, exactly.
But I did not want to make things too complicated...
I understand that.;)
.., I called it DPLII decoding.
I hope you can forgive me thatAs you might understand, I just want to be precise for myself.(not to be confused):thanks:
scharfis_brain
1st June 2006, 19:35
some time ago I disussed the DPL2 encoding here on the forums. And we interpreted the 90° phase shift as a kind temporal delay to help the decoder to do proper separation etc.
the delay just needs to take some samples of time, I guess.
3dsnar
1st June 2006, 19:48
90 degrees phase shift is not really a time delay,
because for all spectrum components it reflects the phase.
(it can be viewed as sort of frequency dependent time shift - which decreases with increase of the frequency)
But IMHO such operations do not provide any added value (when compared to simple sign change described in this thread
http://forum.doom9.org/showthread.php?s=&threadid=57988)
for DPLII upmixing (at least I did not find any value in it, when implementing my algorithm).
Also, certified DPLII decoders seem to work fine without it.
I think that downmixing the surrounds with -90 and +90
phase shift creates a 180 degree phase difference. Therefore
instead of doing that (which is computationally complex), the same can be achieved by changing the surrounds sign (which results also in 180 deg. phase difference also).
To summarize:
You can do the +90/-90 phase shifts,
but simple sign change results in identical performance.
(empirically tested with certified DPLII hardware decoder)
Cheers, 3d.
Rockaria
1st June 2006, 22:36
If we ignore the center( & LFE),
<<with the prevailing matrix>>
Dolby Pro Logic II Left Right Center Rear Left Rear Right
Left Total 1.000 0.000 0.707 -0.8165 -0.5774
Right Total 0.000 1.000 0.707 0.5774 0.8165
<reference1> : 90 degree phase shift
The mix -0.8165(Ls1) & -0.5774(Rs2) are -90 degree off from the Lf
The mix +0.5774(Ls2) & +0.8165(Rs1) are +90 degree off from the Rf
Thus mix(Ls1, Rs2) & mix(Ls2, Rs1) are 180 degree off each other : but they belong to different channel(Lt,Rt).
<reference2> : 180 degree phase shift
The mix -0.8165(Ls1) & -0.5774(Rs2) are -180 degree off from the Lf
The mix +0.5774(Ls2) & +0.8165(Rs1) are +0 degree off from the Rf
Thus mix(Ls1, Rs2) are 180 degree off from mix(Ls2, Rs1, Rf) : but they belong to different channel(Lt,Rt)
<<with my adjusted matrix>>
Dolby Pro Logic II Left Right Center Rear Left Rear Right
Left Total 1.000 0.000 0.707 0.8165 -0.5774
Right Total 0.000 1.000 0.707 -0.5774 0.8165
<reference3> : 90 degree phase shift
Both +0.8165(Ls1) & -0.5774(Rs2) are +-90 degree off from the Lf
Both -0.5774(Ls2) & +0.8165(Rs1) are +-90 degree off from the Rf
The Ls1 & Rs2 are 180 degree off from each other
The Ls2 & Rs1 are 180 degree off from each other
The (Ls1 & Rs2) & (Ls2 & Rs1) are also 180 degree off from each other(different channel)
<reference4> : 180 degree phase shift
+0.8165(Ls1) is 0 degree off & -0.5774(Rs2) is 180 degree off from the Lf
-0.5774(Ls2) is 180 degree off & +0.8165(Rs1) is 0 degree off from the Rf
The Ls1 & Rs2 are 180 degree off from each other
The Ls2 & Rs1 are 180 degree off from each other
The (Ls1 & Rs2) & (Ls2 & Rs1,Rf) are also 180 degree off from each other(different channel)
The best arrray(by phase region) for each rear identification & seperation would be <reference3>.
Also note the reference 1 & 2 already have the rears mixed : mix(Ls1, Rs2) & mix(Ls2, Rs1).
In the reference 2, all the three factors are mixed together : mix(Ls2, Rs1, Rf)
Also as I addressed before, the surround seperations are heavily dependant on the stream & channel complexity :
. the simple 6ch speaker test clips are most generous : over 95% of seperations on any reasonable encoder model
. the mix of 6ch speaker test clip & normal music would be ideal for the test.
At least, I think, I see some important differences can be made by the phase shift degree change.
3dsnar
2nd June 2006, 07:16
I am not sure if I understand how all the mixes were created.
especially I am confused with the signs/phases
So please skip the sign changes (since they can be represented by phase shifts) and rewrite the equations.
For example, the downmix equation, that I assume in my decoder
(from this thread: http://forum.doom9.org/showthread.php?s=&threadid=57988)
is:
Lt = L + 0.7071 C + 0.7071 LFE - 0.866 BL - 0.5 BR
Rt = R + 0.7071 C + 0.7071 LFE + 0.5 BL + 0.866 BR
and it can be represented without the sign modifications (only phase modifications) like this:
Lt = L{0°} + 0.7071 C{0°} + 0.7071 LFE{0°} + 0.866 BL{180°} + 0.5 BR{180°}
Rt = R{0°} + 0.7071 C{0°} + 0.7071 LFE{0°} + 0.5 BL{0°} + 0.866 BR{0°}
Please rewrite your reference equations in such a way,
to avoid any misunderstandings.
:thanks:
PS. What is important in above, is 180° difference of BL mixed to Lt and BL mixed to Rt.
Similarly for BR.
Any phase relations between fronts and surrounds cannot be assumed (they can be any,
because this is signal dependent)
Also, the weights are very important, because IMHO they are assumed by the decoder.
Rockaria
2nd June 2006, 08:37
http://forum.doom9.org/showthread.php?p=781624#post781624
I wonder how it can be totally forgotten when yourself also engaged in?:eek: ;)
The numbers are not as important as the sign which denotes the direction of the phase shift degree.
If you read through the thread again, you will find I also settled down to the numbers you linked(more than 4 times so far).
Some basic interpretations :
. I didn't want to include the LFE and center when the rear seperation is focused on.
. Ls1==0.866BL, Ls2==0.5BL
. Rs1==0.866BR, Rs2==0.5BR
. Rf==R, Lf==L
when coefficient Ls1 = sqrt(3/4) * Ls,,, and Rs2 = sqrt(1/4) * Rs....
We also know it has some more variations.
These clearer symbols are also used in some other threads, if you are asking for the personal standards.
I hope you can easily understand my previous post with the interpretation table now, although it has some trivial mistypings in the later part.
The keypoint is :
if you have more channels mixed in the same phase region, you will more hardly reproduce the original channels.
If I were as clever as Dolby, or the other way around, I would choose the reference 3 for the DPL II model.
Also I actually couldn't find any reasonable(not between Lt & Rt which are already seperated) '180 degree off' relations between the rears in the reference 1 & 2.
3dsnar
2nd June 2006, 09:33
OK, nevermind the weights, let's focus on the phase shifts
For example for reference 3 (you wrote):
"Both +0.8165(Ls1) & -0.5774(Rs2) are +-90 degree off from the Lf"
does it mean that:
-0.5774(Rs2) is shifted by 90° with sign changed, hence
it is +0.5774(Rs2) shifted by 270°
?
Therefore I want to stick only to phase shifts, without the sign adjustements.
So (just to make sure) is reference 3 in fact?:
L = FL{0°} + 0.7071 C{0°} + 0.866 SL{90°} + 0.5774 SR{180°-90°=90°}
R = FR{0°} + 0.7071 C{0°} + 0.5774 SL{180°+90°=270°=-90°} + 0.866 SR{-90°}
??
Cheers, 3d
Rockaria
2nd June 2006, 09:56
OK, nevermind the weights, let's focus on the phase shifts
For example for reference 3 (you wrote):
"Both +0.8165(Ls1) & -0.5774(Rs2) are +-90 degree off from the Lf"
does it mean that:
-0.5774(Rs2) is shifted by 90° with sign changed, hence
it is +0.5774(Rs2) shifted by 270°
?
Therefore I want to stick only to phase shifts, without the sign adjustements.
So (just to make sure) is reference 3 in fact?:
L = FL{0°} + 0.7071 C{0°} + 0.866 SL{90°} + 0.5774 SR{180°-90°=90°}
R = FR{0°} + 0.7071 C{0°} + 0.5774 SL{180°+90°=270°=-90°} + 0.866 SR{-90°}
??
Cheers, 3dWrong! Why don't you get straightforward, instead of all the :confused: :confused: :confused: :confused:
<before the center mix>
Lt = FL{0°} + 0.866 SL{+90°} + 0.5774 SR{-90°}
Rt = FR{0°} + 0.5774 SL{-90°} + 0.866 SR{+90°}
<reference3> : 90 degree phase shift
Both +0.8165(Ls1) & -0.5774(Rs2) are +-90 degree off from the Lf
Both -0.5774(Ls2) & +0.8165(Rs1) are +-90 degree off from the Rf
The Ls1 & Rs2 are 180 degree off from each other
The Ls2 & Rs1 are 180 degree off from each other
The (Ls1 & Rs2) & (Ls2 & Rs1) are also 180 degree off from each other(different channel)
It seems you feel OK with In the reference 2, all the three factors are mixed together : mix(Ls2, Rs1, Rf)?
scharfis_brain
2nd June 2006, 12:45
look at this thread: http://forum.doom9.org/showthread.php?t=109481&highlight=phase
and this article: http://www.gamasutra.com/features/sound_and_music/19981218/surround_03.htm
I think, that delaying the surround channels would be the way to go instead of altering the signs of the DPLII matrix.
I found, that Rockaria's personal matrix has problems with centered surround effects that are meant to be reproduced by both surround speakers (DPLII) or the surround-back speaker (DPLIIx).
Inverting the phase of one of the Surround channels like this modified matrix does can enhance the perceived width and separation of both channel because it is simply something like crosstalk reduction. But At the cost of centered surround sounds. That's why I prefer the unaltered matrix.
tebasuna51
2nd June 2006, 13:47
Rockaria you say me in related thread http://forum.doom9.org/showthread.php?p=784476#post784476
Tebasuna51, I suggest you to be very careful(confident) when it becomes triangular situation, unless you are enjoying mediating...
But I don't want mediate, only understand yours posts. When you say:
<reference1> : 90 degree phase shift
The mix -0.8165(Ls1) & -0.5774(Rs2) are -90 degree off from the Lf
...
<reference3> : 90 degree phase shift
Both +0.8165(Ls1) & -0.5774(Rs2) are +-90 degree off from the Lf
...
. Ls1==0.866BL, Ls2==0.5BL
. Rs1==0.866BR, Rs2==0.5BR
. Rf==R, Lf==L
Forgetting the coefficients, do you assume than original BL and BR are +90 degree off from the original FL?
3dsnar
2nd June 2006, 16:17
Wrong!
Lt = FL{0°} + 0.866 SL{+90°} + 0.5774 SR{-90°}
Rt = FR{0°} + 0.5774 SL{-90°} + 0.866 SR{+90°}
OK, now I understand.
Such approach is ok for DPLII downmixing, because the important thing (as I said) is 180° difference between SL in Lt and SL in Rt. Similarl thing for SR.
This is also acomplished withot the 90° phase shifts (with the equations that I am using).
--
Now, if (for example) FL and SL have the same phase (the front vs rear panning was created without any phase shifts), than your equations will be more efficient. But if the phase difference between FL and SL is 90°, than your approach will decrease DPLII decoding efficiency.
Therefore this is strongly related to signal properties, and a statement that one way (of downmixing) is better than the other is not correct.
----
In fact, pannning way of creating 5.1 mixes is pretty old approach. In the past this was the most common way to create 5.1 sound. In modern movies, with good sound, with professional sound production, usually it is much more complex. Often signal in the rear channels has nothing to do with the signal in front channel (only some of the effect are panning). Moreover, producers often introduce 90° phase difference in case of panning, because in 5.1 panorama this results in much better spatiality of the sounds.
Therefore the optimum would be to chose between the two downmixing approaches with reference to 5.1 sound properties.
3dsnar
2nd June 2006, 16:31
look at this thread: http://forum.doom9.org/showthread.php?t=109481&highlight=phase
and this article: http://www.gamasutra.com/features/sound_and_music/19981218/surround_03.htm
I think, that delaying the surround channels would be the way to go instead of altering the signs of the DPLII matrix.
I found, that Rockaria's personal matrix has problems with centered surround effects that are meant to be reproduced by both surround speakers (DPLII) or the surround-back speaker (DPLIIx).
Inverting the phase of one of the Surround channels like this modified matrix does can enhance the perceived width and separation of both channel because it is simply something like crosstalk reduction. But At the cost of centered surround sounds. That's why I prefer the unaltered matrix.
Scharfis, unfortunately you are not correct.
90° phase shift is applied to all spectrum components (this is not a delay!). This is obtained through the Hilbert transform, which (computationally) is in fact some complex spectrum components manipulation. So with FFT you calculate the spectrum, do some phase manipulations, and go back (with IFFT) to time domain.
This usually looks like waveform shape changes.
Here is an example
90deg phase shift of a simple sinusoidal waveform.
http://forum.doom9.org/attachment.php?attachmentid=5854&stc=1&d=1149262045
And more complex waveform with several harmonics (square waveform):
http://forum.doom9.org/attachment.php?attachmentid=5855&stc=1&d=1149262045
==========================
Rocaria's equations should work fine, as well as the approach withouth the 90 deg phase shifts.
Should I prepare some test examples?
Cheers, 3d.
Rockaria
2nd June 2006, 18:53
@Tebasuna51, Wrong quote. Another dead cow... I ask you again just to state what you think is right, confidently. Otherwise, you are not in the position, unfortunately just making the solution a very long route, as experienced before.
Forgetting the coefficients, do you assume than original BL and BR are +90 degree off from the original FL?If you are asking.. It's the reason why I prefer my clearer symbols : Ls1,Ls2,Rs1,Rs2...
If you can read below matrix correctly, I want to believe you are already having the answer.
Dolby Pro Logic II Left Right Center Rear Left Rear Right
Left Total 1.000 0.000 0.707 -0.8165(Ls1) -0.5774(Rs2)
Right Total 0.000 1.000 0.707 0.5774(Ls2) 0.8165(Rs1)
BTW, the DPL II encoding process is known as(the sequence is not that important though) : front copy->center mix->rear mix
and the decoding process is of course, the reversed way, enhancing the seperation quality by (analogic) servo negative feedbacks.
@Scharfis, you are repeating the same words again and again(only to attack?), no progress in the conversations.
There's no arithmetic addition/subtraction in the DPL II processing, there are just some mix and de-mix of the channel signals imbeded in different phase region(excluding the center), presumably overlapping to some degree to each other.
The centered surround effects is just an illusion residing only in your imagination that you wanna see.
@3dsnar, thanks for the clarifications against some surrealistic assumptions.
But the problem I am noticing is people tend to attack any new thing simply because of they cannot(ot haven't) think of it or different from prevailing beliefs/myths.
The original issue was, I believe, about the effect of phase shift change from 90(h/w,original) to 180(s/w emulation)?
The reference1 & 2 shows the negative effect clearly : In the reference 2, all the three factors are mixed together : mix(Ls2, Rs1, Rf)
Do you agree with this before discussing the next issue on my adjusted model?
Maybe you need to read the Dolby's unclear documents again to get the clearer picture...
[edit] DPL II encoding steps : front copy->center mix->rear mix
Rockaria
2nd June 2006, 19:58
OK, now I understand. I hope it does not mean I have the better understanding ability..
Such approach is ok for DPLII downmixing, because the important thing (as I said) is 180° difference between SL in Lt and SL in Rt. Similarl thing for SR.
Also I actually couldn't find any reasonable(not between Lt & Rt which are already seperated) '180 degree off' relations between the rears in the reference 1 & 2.
Some check points before going into any deeper:
. the coefficients are already practically used in the DPL II matrices(Ls1,Ls2...). I don't understand why we need to abstract them into SL,SR, only to make things ambiguous again?
. If identifyng/seperating the rear signals is the purpose of the phase shift, why do we need the 180 degree off relation between the Lt & Rt when they are already seperated as stereo?
. indeed the Dolby's documents(I believe it's on DPL) does not explain clearly where the 180 degree off relation need to be established on DPL II, causing variety of different interpretations. I believe Ls1:Rs2 & Rs1:Ls2 are most reasonable.
. We cannot ignore the original 90 degree off relations of the coefficients from the fronts. On the 0 degree phase region in the reference 2, we are already noticing the mix of three signals. I absolutely have no idea how to identify & seperate them reasonably.
3dsnar
2nd June 2006, 21:19
OK. Before we continue with separating the surrounds,
and get into the other reference mixes, and weights
let's focus on separating the centre channel.
All spectral components that have common phase and amplitude in Lt and Rt,
are separated as centre channel, during the DPL2 decoding.
Therefore if you have FL and FR which are identical, they will be
(during decoding) decoded as centre channel.
But if they differ by sign (180° difference), but beside the sign are the same,
they will be separated as FL and FR.
The only information about the centre channel, downmixed with the same amplitude and phase to Lt and Rt is that it is represented by spectral components of the same phase and amplitude.
Interestingly, this approach is generally ok from listener's point of view, because when you reproduce the same signal from left speaker and right speaker, you will hear it from between the speakers (like from the imaginary centre channel).
But when they are the same, but differ by sign, you will hear them as coming from left and right speaker (they are spread in stereo panorama).
If you have no further question regarding this, we can continue with separating fronts/rears.
Rockaria
2nd June 2006, 22:00
Correction : iirc, the Dolby's doc says the DPL (II) encoding process as below :
copy fronts-> center mix(-3db) -> rear mix (-3db, +-90 surround(coef?) phase shift making 180 degree off as the result.)
Note the 180 degree phase shift are the result of the 90 degree phase shifts.
So the center seperation will happen after the rear seperation/cancellation in DPL II decoding.
OK. 3dsnar, that seems to be a fairly detailed explanation(for some other people) than what I explained somewhere briefly : center seperation/cancellation(from the Lt & Rt).
Now back to the issue: it seems to be the high time for you to provide the reasonable explanations on the checkpoints I was questioning about your theory..
Some check points before going into any deeper:
. the coefficients are already practically used in the DPL II matrices(Ls1,Ls2...). I don't understand why we need to abstract them into SL,SR, only to make things ambiguous again?
. If identifyng/seperating the rear signals is the purpose of the phase shift, why do we need the 180 degree off relation between the Lt & Rt when they are already seperated as stereo?
. indeed the Dolby's documents(I believe it's on DPL) does not explain clearly where the 180 degree off relation need to be established on DPL II, causing variety of different interpretations. I believe Ls1:Rs2 & Rs1:Ls2 are most reasonable.
. We cannot ignore the original 90 degree off relations of the coefficients from the fronts. On the 0 degree phase region in the reference 2, we are already noticing the mix of three signals. I absolutely have no idea how to identify & seperate them reasonably.
Do you agree with it or have any other issue?
3dsnar
2nd June 2006, 23:21
IMHO many of the Dolby's suggestions are with reference
to 5.1 signal created by simple panning. Historically, I think this was the way to produce the early 5.1 signals.
Nowadays, origial 5.1 signals are much more complex in terms of production, hence those 90 deg. phase shift operations will not bring any added value.
====================
The checkpoints:
. the coefficients are already practically used in the DPL II matrices(Ls1,Ls2...). I don't understand why we need to abstract them into SL,SR, only to make things ambiguous again?
Sorry, but I do not understand what you mean
. If identifyng/seperating the rear signals is the purpose of the phase shift, why do we need the 180 degree off relation between the Lt & Rt when they are already seperated as stereo?
The common phase spectral components will be extreacted from Lt and Rt as centre channel. The opposite phase components are assumed to belong to front channels or to surround channels. So for example, if Lt=Rt, it means that the whole signal will be directed to the centre channel.
Theoretically, separating centre channel can take place before, or after separatin surrounds, because the surrounds (in Lt and Rt) do not share any common phase spectral components, because they are have opposite signs
. I believe Ls1:Rs2 & Rs1:Ls2 are most reasonable.
Yes
. We cannot ignore the original 90 degree off relations of the coefficients from the fronts. On the 0 degree phase region in the reference 2, we are already noticing the mix of three signals. I absolutely have no idea how to identify & seperate them reasonably.
First of all, the signals can be phase-adjusted, not the coefficients. I.e. phase shifting of a scalar value is the same scalar value.
You can separate them by analyzing spectrums of both: Rt and Lt.
Please note that Ls is present in Rt and Lt (with different sign and known weights),
while Rf is present only in Rt. The same story with Lf, which is present only in Lf, while Ls is present in Rt and Lt (with opposite sign, and known weights). This is enough information to roughly distinguish between Ls, Lf and Rs, Rf
Rockaria
3rd June 2006, 00:33
. I believe Ls1:Rs2 & Rs1:Ls2 are most reasonable.
Yes
I feel that's enough. Satisfied! And as for the rest, I'd say the time will tell...
By the way, if you will understand,
I have been working on the system analisys & architecting for decades, after several levels of programming. I also agree we are using different languages, not by the teritory origin, but by the career. As I said earlier, the audio area is just my hobby, no school study, only to enjoy the systems effectively.
But because of my career, I can say I am trained to see through any target system relatively easily when focused on.
I am also able to understand your language without any problem(even between the lines). Maybe the problem is you cannot understand mine & logic which is relatively simple to transfer byond the cultures, if we can believe in that fact is fact, nothing else...
You will find my posts keeping the consistency, if you read through the related threads. Also I can't repeat more than three times, that's my limitation maybe...
Anyway, I will also have to respect your pride in the career. And yes, it's internet. :thanks:
scharfis_brain
3rd June 2006, 01:25
3dsnar, your images aren't approved yet. can you upload them somewhere else?
hmm. You are right. Now I remember analogue filters doing phase shifts that are frequency dependant. So it won't be the same as a delay.
So could it be possible that the 90° phase shift Dolby mentions for DPL1 (4.0) downmixing is the 7kHz low pass filter Dolby uses for the surrounds?
Now Going one step ahead: Dolby says that there is no low pass filtering for the surround channels in DPL2 (5.1) anymore. Does this mean that we don't need to bother with 90° phase shifting anymore?
Rockaria, I don't want to attack you.
The centered surround effects is just an illusion residing only in your imagination that you wanna see.
hmm and what is Dolby Digital 5.1 EX then? In my imagination, too? Sorry, but there is a centered surround, because 5.1 EX offers a matrix encoded centered surround channel.
I (try to) stop arguing now about this. I think we have different points of view. And we also have different listening preferences.
Rockaria
3rd June 2006, 01:42
We have been discussing on the DPL II and 'The centered surround effects' is mentioned in the linked thread also...
Maybe we have been using the differernt language again?;) I thinks it's kinda decent closing, anyway...respecting the differences...
tebasuna51
3rd June 2006, 03:11
@Tebasuna51, Wrong quote. Another dead cow... I ask you again just to state what you think is right, confidently. Otherwise, you are not in the position, unfortunately just making the solution a very long route, as experienced before.
Because my poor english I can't determine if this is a insult or not. I prefer forget it.
But now, with maths there aren't language problems. Your matrix:
DPL II Left Right Center Rear Left Rear Right
Left Total 1.000 0.000 0.707 -0.8165(Ls1) -0.5774(Rs2)
Right Total 0.000 1.000 0.707 0.5774(Ls2) 0.8165(Rs1)
And your identities:
. Ls1==0.866BL, Ls2==0.5BL
. Rs1==0.866BR, Rs2==0.5BR
We have:
LT = L + 0.707 C - 0.8165(0.866BL) - 0.5774(0.5BR)
RT = R + 0.707 C + 0.5774(0.5BL) + 0.8165(0.866BR)
Or:
LT = L + 0.707 C - 0.7071 BL - 0.2887 BR
RT = R + 0.707 C + 0.2887 BL + 0.7071 BR
Really I haven't the answer to my question. Maybe if you redefine your clearer symbols : Ls1,Ls2,Rs1,Rs2...
But the problem I am noticing is people tend to attack any new thing simply because of they cannot(ot haven't) think of it or different from prevailing beliefs/myths.
Before to attack any thing I want to understand it.
But, to continue with your proposed method:
Some check points before going into any deeper:
. the coefficients are already practically used in the DPL II matrices(Ls1,Ls2...). I don't understand why we need to abstract them into SL,SR, only to make things ambiguous again?
For me ambiguous are Ls1,Ls2,Rs1,Rs2. SL is the Surround/Rear/Back Left channel from original multichannel audio.
Please define your symbols.
. If identifyng/seperating the rear signals is the purpose of the phase shift, why do we need the 180 degree off relation between the Lt & Rt when they are already seperated as stereo?
Because the method to extract the rear signals in upmix phase is based in signals with 180 degree off relation between the Lt & Rt. I agree with 3dsnar comment.
. indeed the Dolby's documents(I believe it's on DPL) does not explain clearDolby's documentsly where the 180 degree off relation need to be established on DPL II, causing variety of different interpretations. I believe Ls1:Rs2 & Rs1:Ls2 are most reasonable.
I agree with: Dolby's documents aren't clear. I wait to know Ls1:Rs2 & Rs1:Ls2
. We cannot ignore the original 90 degree off relations of the coefficients from the fronts. On the 0 degree phase region in the reference 2, we are already noticing the mix of three signals. I absolutely have no idea how to identify & seperate them reasonably.
Maybe this is the difference between ours interpretations about the method to extract the rear signals. You expect to identify & seperate the rear signals from only one signal (LT or RT). I think the rear signals are identify & seperate comparing LT and RT. I agree with 3dsnar comment.
---------------------------------------
To finish this long post I want resume (with simplified coeficients and results to see the relevant questions) my test in the mentioned thread.
Purpose: check the relation between input and output channels in the process
6channelwav -> DPL II downmix -> DPL II upmix -> 6channelwav'
Where:
- 6channelwav is a Channel_Test (channels separated in time)
- DPL II upmix was made with Cyberlink PowerDVD 6, Audio Effect dsf (software decode). Two modes Music and Movie.
- DPL II downmix was made with BeHappy using three matrices:
M1 (like BeSweet/Azid)
LT = L + 0.7 C - 0.8 BL - 0.5 BR
RT = R + 0.7 C + 0.5 BL + 0.8 BR
M2 (my interpretation of Rockaria suggested)
LT = L + 0.7 C + 0.8 BL - 0.5 BR
RT = R + 0.7 C - 0.5 BL + 0.8 BR
M3 (with inverted signs for back channels)
LT = L + 0.7 C + 0.8 BL + 0.5 BR
RT = R + 0.7 C - 0.5 BL - 0.8 BR
Results (L, R, ... input channels, L', R'... output channels) :
M1 decoded in Music mode
L' = 0.7 L + 0.3 C
R' = 0.7 R + 0.3 C
C' = 0.6 C
SL' = - 0.7 SL
SR' = 0.7 SR
M1 decoded in Movie mode
L' = 0.7 L
R' = 0.7 R
C' = 0.6 C
SL' = - 0.7 SL
SR' = - 0.7 SR
M2 decoded in Music mode
L' = 0.7 L + 0.3 C
R' = 0.7 R + 0.3 C
C' = 0.6 C
SL' = 0.7 SL
SR' = 0.7 SR
M2 decoded in Movie mode
L' = 0.7 L
R' = 0.7 R
C' = 0.6 C
SL' = 0.7 SL
SR' = - 0.7 SR
M3 decoded in Movie mode
L' = 0.7 L
R' = 0.7 R
C' = 0.6 C
SL' = 0.7 SL
SR' = 0.7 SR
But I don't know if all soft/hard decoders have similar behaviour.
Rockaria
3rd June 2006, 04:40
Because my poor english I can't determine if this is a insult or not. I prefer forget it.
No, I want to say you have near perfect English. The rest is another thing.
In fact, I also was wondering what you were expecting by reintroducing the not-so-smooth memory...
So I just tried to be transparent to what I meant for the quoted message.
But now, with maths there aren't language problems. Your matrix:
DPL II Left Right Center Rear Left Rear Right
Left Total 1.000 0.000 0.707 -0.8165(Ls1) -0.5774(Rs2)
Right Total 0.000 1.000 0.707 0.5774(Ls2) 0.8165(Rs1)
No it's not mine, it's quoted from wikipedia on DPL II.(you will find the link in my linked thread). I just put the reasonable names on them.
The coefficients(Ls1,....) are explained in this thread and your favored link also, including mine.
The difference between the quoted matrices and your formula is maybe the styles?
And your identities:
. Ls1==0.866BL, Ls2==0.5BL
. Rs1==0.866BR, Rs2==0.5BR
We have:
LT = L + 0.707 C - 0.8165(0.866BL) - 0.5774(0.5BR)
RT = R + 0.707 C + 0.5774(0.5BL) + 0.8165(0.866BR)
Or:
LT = L + 0.707 C - 0.7071 BL - 0.2887 BR
RT = R + 0.707 C + 0.2887 BL + 0.7071 BR
Really I haven't the answer to my question. Maybe if you redefine your clearer symbols : Ls1,Ls2,Rs1,Rs2...
Also, that's not the explanations of my identities. I just put some more efforts to make a mapping table between the two different styles especially for 3dsnar.
I decided not to use the equation to prevent any confusion because I've actually seen some people were doing the arithmetic operations on the numbers.
I guess duplicating each rears on different phase region is for more accurate seperation by the image comparisons?
I believe we must consider there can be some overlappings on different phase regions.
Before to attack any thing I want to understand it. I honestly appreciate that. I even believe helping each other to understand better is the goal of these forum participations.
But, to continue with your proposed method:
For me ambiguous are Ls1,Ls2,Rs1,Rs2. SL is the Surround/Rear/Back Left channel from original multichannel audio.
Please define your symbols.
The former is detailed and the latter is grouped concept. And as you see, they are already practically used in many referenced matrices : as they are and explained somewhere
Because the method to extract the rear signals in upmix phase is based in signals with 180 degree off relation between the Lt & Rt. I agree with 3dsnar comment.
I agree with: Dolby's documents aren't clear. I wait to know Ls1:Rs2 & Rs1:Ls2
Maybe this is the difference between ours interpretations about the method to extract the rear signals. You expect to identify & seperate the rear signals from only one signal (LT or RT). I think the rear signals are identify & seperate comparing LT and RT. I agree with 3dsnar comment.
I also want to agree with everybody on everything. But sometimes I find there is left only one truth : we should repect that we cannot be same on everything. What I count only is that (he) agrees 'Ls1:Rs2 & Rs1:Ls2' is most reasoable.
---------------------------------------
To finish this long post I want resume (with simplified coeficients and results to see the relevant questions) my test in the mentioned thread.
Purpose: check the relation between input and output channels in the process
6channelwav -> DPL II downmix -> DPL II upmix -> 6channelwav'
Where:
- 6channelwav is a Channel_Test (channels separated in time)
- DPL II upmix was made with Cyberlink PowerDVD 6, Audio Effect dsf (software decode). Two modes Music and Movie.
- DPL II downmix was made with BeHappy using three matrices:
...
M2 (my interpretation of Rockaria suggested)
LT = L + 0.7 C + 0.8 BL - 0.5 BR
RT = R + 0.7 C - 0.5 BL + 0.8 BR
...
M2 decoded in Movie mode
L' = 0.7 L
R' = 0.7 R
C' = 0.6 C
SL' = 0.7 SL
SR' = - 0.7 SR
M3 decoded in Movie mode
L' = 0.7 L
R' = 0.7 R
C' = 0.6 C
SL' = 0.7 SL
SR' = 0.7 SR
But I don't know if all soft/hard decoders have similar behaviour.
If you read the thread from the beginning, the issue was actually 'why the s/w emulation using 180 phase shift cannot be as good as the h/w decoders using 90 degree phase shifts for the rears". Then suddenly it developed into about 'my DPL II model' without resolving the original issue.(it often happens)
That's also why the reference4( s/w emulation with the adjusted matrix) cannot be perfect as seen in the above test results : M2 movie mode, if we suppose the s/w decoder is perfect.
As I concluded in my linked thread, with the s/w encode emulation, mine shows around 75~95% of the seperations, but around 20% better than the prevailing matrix.
I believe I have provided my basis fully enough through here and my linked thread.
So some more Reading & Reasoning might help you fill the gaps in the unresolved logics...
But if there still remains some unresolved issue, why not we just let them left as some respectful differences for now..;)
3dsnar
3rd June 2006, 08:00
@Rocaria.
Shure thing, we've probably got different backgrounds.
And it is great that we've managed to communicate! :)
@Scharfis,
here are the images again:
sinusoidal waveform:
http://forum.videohelp.com/images/guides/p1513768/sine_90degshift.jpg
square waveform:
http://forum.videohelp.com/images/guides/p1513768/sqare_90degshift.jpg
Cheers, 3d.
Rockaria
3rd June 2006, 08:51
And it is great that we've managed to communicate!
Not really the troubles in sorting out the drives of variety of systems, which was another delight to me.:)
scharfis_brain
3rd June 2006, 15:50
@3dsnar: Do you have comments on my thoughts?
3dsnar
3rd June 2006, 21:45
So could it be possible that the 90° phase shift Dolby mentions for DPL1 (4.0) downmixing is the 7kHz low pass filter Dolby uses for the surrounds?
Now Going one step ahead: Dolby says that there is no low pass filtering for the surround channels in DPL2 (5.1) anymore. Does this mean that we don't need to bother with 90° phase shifting anymore?
Scharfis, I think that the 90 deg. phase shift is more related to the way the first 5.1 signals were produced and mastered,
as I speculate here:
http://forum.doom9.org/showthread.php?t=111603&page=2
Nowadays, when the sound tracks are more complex, such approach may be obsolete. I.e. I think that the simpler approach with simple sign change gives similar performance.
--
The lowpas filtering is probably related to analog way to resolving the DPL downmix. Since in analog domain you cannot simply compute a spectrum, do some operations with its elements, and than go back to time domain (with reverse spectrum calculation), therefore some bandpass filtering was the way to go. Tha band pass filtering is a sort of simplified spectrum representation, but the frequency resolution in such a case is ofcourse very much limited when compared to digital spectrum.
Probably, the DPLII is an early digital era solution, where all the wonderful things such as digital spectrum calculation, nonlinear operations with the spectrum bins operations and possiblility to go back to time domain again begun to be available in commercial DSP processors.
This allowed for DPLII downmixing and upmixing).
To summarize. I think that the 90 deg. phase shifts
had more to do with the way the 5.1 sondtracks were mastered,
where the DPLII was developed, rather than any general solution which would be better for all purposes.
Finally, taking under consideration how the sound is produced nowadays,
my opinion is that we do not need to bother with the 90 deg. shifts anymore.
The simplest way to make shure which approach is more efficient is to take a good 5.1 clip
(reach 5.1 panorama) and test it with both approaches. I have done it and honestly,
cannot say which is better in terms of chanel separation quality... Hence it is easier to use the simpler approach. :)
Cheers, 3d.
Rockaria
4th June 2006, 02:56
Now, I remember there's a similar effort for the s/w active matrix encoder/decoder plugin for winamp5 and foobar2k v0.9x
claiming Dolby & similar (surround) compatiable, not sure how much faithful to DPL II though.
http://www.andrewlabs.com/atsurround/introduction.php
Like DPL II, it has AS(Active Steering) and AS2 mode.
http://www.andrewlabs.com/atsurround/processingmodes.php
It also has sorta hrtf mode for 6ch to 2ch headphone surround effect.
Might be a good comparison for foobar & winamp users.
3dsnar
4th June 2006, 08:36
Will check it out and report my observations.
Cheers, 3d.
3dsnar
4th June 2006, 09:16
Hmm, I've managed to run the virtual surround algorithm,
but no success with the stereo to 5.1 conversion...
I.e. no signal was generated for my surround speakers, C and LFE speaker. Maybe there is something wrong with my settings, I do not know...
3dsnar
4th June 2006, 09:17
I've managed to run the virtual surround algorithm
(5.1 to stereo conversion).
But faild to runt stereo to 5.1...
I tried various configurations, but could not produce any sound in
LS, RS, C, LFE speakers.
Maybe you had more luck?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.