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?
tebasuna51
4th June 2006, 15:39
Here my test with new ATSurround for Foobar2000 0.9:
wav6 -> DPL II -> stereo_wav -> ATSurround Dec AS2 -> wav6'
Notes:
- wav6 is a Channel_Test (channels separated in time)
- wav6' obtained with Foobar Convert function
- DPL II with BeHappy and matrix M1 (see previous post) without LFE
- ATSurround Dec ASr have similar results
- Old ATSurround for Foobar2000 0.83 tested before with similar results
- Only amplitude are measured (without phase relation) then I don't put signs.
DPL II -> ATSurround Dec AS2
L R C BL BR
---- ---- ---- ---- ----
L' 0.67 - 0.06 0.30 0.03
R' - 0.67 0.06 0.03 0.30
C' 0.06 0.06 0.67 0.02 0.02
LFE' - - - - -
SL' 0.10 0.06 0.03 0.73 0.64
SR' 0.06 0.10 0.03 0.64 0.73
- Rear channels mixed
- Front-Rear channels mixed
- Very high rear global volume (compared with front volume)
And now, using Foobar Convert function also for stereo_wav:
wav6 -> ATSurround Enc -> stereo_wav -> ATSurround Dec AS2 -> wav6'
ATSurround Enc -> ATSurround Dec AS2
L R C LFE BL BR
---- ---- ---- ---- ---- ----
L' 0.67 - 0.06 0.15 0.05 0.05
R' - 0.67 0.06 0.15 0.05 0.05
C' 0.06 0.06 0.67 1.71 - -
LFE' - - - - - -
SL' 0.10 0.06 0.03 0.07 0.68 0.72
SR' 0.06 0.10 0.03 0.07 0.68 0.72
- Rear channels mixed
- Very high rear global volume (compared with front volume)
- Very high LFE volume (and can't disable LFE input in ATSurround Enc)
@3dsnar
Check if ATSurround is active at File -> Preferences -> DSP Manager in Foobar.
Rockaria
4th June 2006, 16:58
wav6 -> DPL II -> stereo_wav -> ATSurround Dec AS2 -> wav6'I read a user say AS2 produces too much mixes/surrounds in their forum.
http://www.andrewlabs.com/forums/forum-1.html
3dsnar
4th June 2006, 20:37
I've tried only the winamp plugin.
I will test the fb2k plugin then.
But from Tebasuna's experiments
I see that it does not work as it should...
radosuaf
5th June 2006, 08:43
Read the topic - I don't think it's of any help for me... Card is 5.1 and so are the speakers. One thing is the center speaker and the other is the stuttering.
3dsnar
5th June 2006, 13:56
Do you have this problem with playing DPLII files (i.e. AC3, MP3 or PCM)?
radosuaf
5th June 2006, 15:23
Tried MP3s with Windows Media Player 10 yesterday and it worked really nice. Don't know what's the problem...
3dsnar
6th June 2006, 16:14
Hmm, unfortunately I do not have your hardware to test it :(
Maybe it consumes to much of your CPU (and this is the reason for stuttering?)
Did you manage to use other filters succesfully (e.g. FFDshow)?
specise_8472
6th June 2006, 23:41
Why can't we just live with the fact that DPLII requires 90 degree phase shift?
This is the spec, and anything else is just out of spec.
BTW DTS uses 45 degree phase shift in the rears when matrixing in the Center Surround channel.
QUOTE:
Phase shift ES channels – Works only with ES source files, where it allows for phase shifting of Left and Right Surround by ±45° prior to addition of Center Surround channel.
Note: DTS strongly recommends Phase shift be set ON during 6.1 ES encoding for film. For music, you may wish to experiment with both settings.
END QUOTE:
scharfis_brain
7th June 2006, 00:02
Why can't we just live with the fact that DPLII requires 90 degree phase shift?
This is the spec, and anything else is just out of spec.
It may be the spec for DPL1 encoding. But I've never seen official specs describing DPL2 downmixing properly.
If you have sources that do so, I'd be interested very much in them.
specise_8472
7th June 2006, 05:00
It may be the spec for DPL1 encoding. But I've never seen official specs describing DPL2 downmixing properly.
If you have sources that do so, I'd be interested very much in them.
Somwhere on my cluttered gigs of HDD I have the Patent for DPLII (Not specifically mentioned as such - but reading leaves only that impression from the technology used). I will dig it out and let you know.
3dsnar
7th June 2006, 06:17
The thing is that it might be recommended, but without it the certified decoders still work. The questions is if the 90 deg. phase shifts during encoding (especially for some modern 5.1 audio) bring anything extra in terms of decoding. This requires (even informal) listening tests, and would be interesting to find it out.
I'll try to provide some audio examples (one with 90 deg shift and one without).
3dsnar
7th June 2006, 08:42
OK, I have prepared the samples:
Please follow this thread (poll) and decide which ones
sound better:
http://forum.doom9.org/showthread.php?t=112122
Cheers,
3d
Rockaria
7th June 2006, 09:27
Lt = FL{0°} + 0.7071 C{0°} + 0.7071 LFE{0°} + 0.866 BL{180°} + 0.5 BR{180°}
Rt = FR{0°} + 0.7071 C{0°} + 0.7071 LFE{0°} + 0.5 BL{0°} + 0.866 BR{0°}
and
Lt = FL{0°} + 0.7071 C{0°} + 0.7071 LFE{0°} + 0.866 SL{90°} + 0.5 SR{-90°}
Rt = FR{0°} + 0.7071 C{0°} + 0.7071 LFE{0°} + 0.5 SL{-90°} + 0.866 SR{+90°}
You might want to add two more models to fully reflect the discussions in the related threads:
Lt = FL{0°} + 0.7071 C{0°} + 0.7071 LFE{0°} + 0.866 BL{-90°} + 0.5 BR{-90°}
Rt = FR{0°} + 0.7071 C{0°} + 0.7071 LFE{0°} + 0.5 BL{90°} + 0.866 BR{90°}
and
Lt = FL{0°} + 0.7071 C{0°} + 0.7071 LFE{0°} + 0.866 SL{180°} + 0.5 SR{0°}
Rt = FR{0°} + 0.7071 C{0°} + 0.7071 LFE{0°} + 0.5 SL{0°} + 0.866 SR{180°}
Please test them with your dolby certified decoders
and decide which ones sounds better (eg. A vs B version).
The poll question is related to fifthelem_A.mp3 and fifthelem_B.mp3,
while speech_A.mp3 and speech_B.mp3 should sound identical.
You might also want to test with original 6ch(mp4 format) vs dpl II mix(music + speaker test clip), to compare reasonably.
The FFDShow can switch between PCM/AC3 in digital out mode on the fly making it easy to compare.
As I said many times, the speaker test clip is most generous on any models(more than 95% of the seperation quality).
Also the matrices values(Ls1,Ls2,Rs1,Rs2....) might affect the seperation quality by the phase shift degree change.
Comparing the Wikipedia matrix with the current one would be reasonable( also making it reasonable using the variable reference than the values).
So far, the fifthelem_B showed noticeable better seperation, but the test is not setup to compare the seperation fidelity(original vs DPL II).
3dsnar
7th June 2006, 09:40
I think to other models would give similar quality,
to the 90 deg. shift and to the 180 deg. shift respectively.
And it would complicate the comparison, so I decided to stick to the two selected downmixing methods.
The difference between wikipedia and the provided weights, should not affect the results.
(the difference is more related to levels in the decoded channels, but it is very small)
Please make your vote in the poll.
I also provided the input (reference) file.
http://forum.doom9.org/showthread.php?t=112122
Cheers, 3d
Rockaria
7th June 2006, 09:51
I think to other models would give similar quality,
to the 90 deg. shift and to the 180 deg. shift respectively.
And it would complicate the comparison, so I decided to stick to the two selected downmixing methods.
Please make your vote in the poll.
I also provided the input (reference) file.
http://forum.doom9.org/showthread.php?t=112122
Cheers, 3d
No, it's just your thoughts. If 'no listenings(reading)' is the trend of modern conversation, I think I've done my duty.
3dsnar
7th June 2006, 09:57
Rockaria, if you find valuable testing all reference
downmixing methods, please provide the necessary test samples,
and organize a new poll
My thougths = my intuition = knowledge and experiance.
Since depending only on certainty is very energy/time consuming,
I have to rely partly on my intuition.
To be more specific, it would take extra effort to prepare more test samples :)
Cheers, 3d
Rockaria
7th June 2006, 10:22
My thougths = my intuition = knowledge and experiance.
So the second model(reference 3) purely came out of your thought & career!:scared:
I believe what you did is just(although I appreciate the latter):
. asking the matrix format to your fomula style
. implemented a s/w logic of 90 degree phase shift.
from :
@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
I believe you might also have to exclude 'DPL II' from your current dsfilter because it's apparantly misleading. Isn't is just an active matrix decoder, modern or not?
If you don't like to perform the relatively reasonable comparisons and drive the topics for your desires, do it in your own thread. I won't touch it.
3dsnar
7th June 2006, 10:45
Hmm, you are very emotional.
Take it easy, please :)
--
The (my) idea behind the comparison is to see if the 90 deg.
phase shift brings anything extra (or maybe it is opposite)
to the already tested (with results reported) downmixing
equation:
http://forum.doom9.org/showthread.php?s=&threadid=57988
So it is not my equation.
Will see.
--
I think it is reasonable to call it DPLII decoder (in our DSfilter),
because it attempts to upmix DPLII downmixes.
And IMHO this is the simplest way to describe its functionality.
(by calling it DPLII decoder. Most people do not know, nor care how it works. They just want to get multichannel signal from the downmix. That is all.)
It would be nice of you to vote.
If you would decide to compare all 4 ref. downmixes,
I would also vote.
Cheers, 3d.
Rockaria
7th June 2006, 11:10
No, I am absolutely cool.:cool: you are driving.
Your linked thread(4~5 times so far) unfortunately does not contain my matrix(reference 3== your second model) or similar formula, if you want to regard it as your dictionary.
From absolutely 'no idea' on DPL II in the beginning of this thread, you've made a remarkable progress in figuring out the DPL II model, all of a sudden, out of no where, by yourself! It's not a conversation or cooperation, not compliant again.
What I count with the Atsurround plugin(& FFDShow...) is, they does not claim it DPL II compatible, at least.
/no deadhorse pls.:)
3dsnar
7th June 2006, 11:56
No, I am absolutely cool.:cool: you are driving.
Your linked thread(4~5 times so far) unfortunately does not contain my matrix(reference 3== your second model) or similar formula, if you want to regard it as your dictionary.
From absolutely 'no idea' on DPL II in the beginning of this thread, you've made a remarkable progress in figuring out the DPL II model, all of a sudden, out of no where, by yourself!
It's not a conversation or cooperation, not compliant again.
What I count with the Atsurround plugin(& FFDShow...) is, they does not claim it DPL II compatible, at least.
/no deadhorse pls.:)
Cool as ice... :rolleyes:
The second equation comes from your post:
http://forum.doom9.org/showthread.php?t=111603&page=2
I only ajusted some of the weights to make it complient with the first one.
I have never seen any Dolby's specs on how to decode the DPLII matrix, but on the other hand I am pretty much sure that they used the same general concept which I did (I do not see any other way to decode the stream).
Therefore my speculations and assumptions may be correct.
That is all I wanted to say.
Peace, 3d
Rockaria
7th June 2006, 13:12
Maybe I am more inclined to the male-characteristics when engaged in the logic?:rolleyes:
The DPL II matrix on the Wikipedia looked to me more formal than the matrices in other threads, although I settled down to the same valuse as I described in the original thread for s/w 180 degree shift encoding.
That's why I said we need to test with the Wikipedia matrix for 90 degree shift, if you actually respectfully read my posts at all.
http://en.wikipedia.org/wiki/Dolby_Pro_Logic
http://forum.doom9.org/showpost.php?p=782907&postcount=40
You adjusted the values here? I already used the same values there!
The linked thread also contains the test results and analysis on the reference 2,4 models and varying results by the types of contents( speaker test file, 5~6ch music sources and mixed clips), which is the reason why I said we need to test the seperation fidelity as I mentioned above.
In this thread, I explained why the 180 degree shfits(based on various threads including your link) can never be as good as original 90 degree shifts(by Dolby) to deal with the the iiresponsibly(with no basis) repeating assumptions.
Pls figure out what has been actually misleading us to get the correct implementation of the s/w DPL II emulations earlier.
The seemingly convincing test results with the most generous speaker test clip, no seperation fidelity test, no theoretical background & reasoning, irresponsible parroting with no idea..only to refuse or attack., i guess, are included.
The reference 1 might also show the reasonable decent results, if you haven't tested it yet.
But if you have and excluded it because of no good results, Why don't you just say that?
So if you want to build a new house, start it from the scratch or list what resources/references you are using
, which is the widely accepted way to enjoy the conversations with no loss, in full respects.
radosuaf
8th June 2006, 10:56
Hmm, unfortunately I do not have your hardware to test it :(
Maybe it consumes to much of your CPU (and this is the reason for stuttering?)
Did you manage to use other filters succesfully (e.g. FFDshow)?
Hmmm... WinFast PVR takes about 14% of CPU power, CPU is Barton Mobile @2222 MHz so I guess it should be sufficient for such purposes.
3dsnar
8th June 2006, 14:38
Hmm, yes...
Please let me know if you succeeded in connecting
other DS filters (e.g. FFDshow).
:thanks:
3d
ramabadr
17th February 2011, 22:59
Hello,
Is there a standard published version of the DPL II decoding (up-mixing) algorithm? I have read the article "Pro Logic II matrix decoder melds multimedia" by Roger Dressler of Dolby Labs. It gives the general concepts but I would like more specifics to be able to implement the algorithm in software. Members of this forum seem quite knowledgeable on this topic - can some one help? Thanks.
- Ram
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.