Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: About Block switch (Read 7189 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

About Block switch

THe block switch algorithm can be implemented in time domain.
The samples will through a high pass filter. I wonder why need through a high pass filter? I think whether only using original samples will be better?

About Block switch

Reply #1
Low frequency regions usually do not generate pre-echo.  You would like to filter out low frequencies to prevent over-detection of attacks.

About Block switch

Reply #2
for example, deocde 2 frames.
|----------------|----------------|
frame 1            frame 2
through IMDCT
|----------------|----------------|frame 1
part 1-----------part 2
-----------------|----------------|---------------|frame2
------------------part 1----------part2
---------------------------|------|
----------------------------part3

part 2(frame1) should overlap with part 1(frame2)

I think that pre-echo will generate when part 2(frame1) is much lower than part 1(frame2). Because when part 1(frame2) is high, the quantization error will increase.

So I dont know why low frequency regions usually do not generate pre-echo. Whether the pre-echo generate only in part3?

About Block switch

Reply #3
It is more related to time/frequency sensitivity of human brain,  so most pre-echo impressions come from frequencies above some limit,  for example 2-4 kHz.

Also, if you note the spectrogram - you'd pick up a lot of variation in LF region, which might make your pre-echo detector prone to false detections, because it is based on some kind of "change threshold" and LF changes would be detected as possible pre-echo while, in reality - they are not.

About Block switch

Reply #4
What you define as frame 1 or 2  is by the perspective of bistream. That might mislead you that these two frame contain independent PCM info. In facts, at the encoding side, the generation of frame 1 and 2 exists some waveform overlap. In other words, part2 of frame 1 and part1 of frame 2 won't generate a huge energy gap when performing overlap and add at the decoding side since they derived form a similar (not exactly the same because of windowing) waveform.

Sorry Ivan, i get a different opinion about LF doesn't generate pre-echo. The pre-echo result from quantization error spreading. LF may generate quantization error as well. However, the co-existence of LF and HF introduce the bit-insufficiency which lead to more quantization error. Besides, single masking curve for long block bring the masking mismatch which lead to a even more quantization error. We can say all above is contributed by the existence of HF. Therefore, the identification of HF is significant for block switching and that is why a high pass filter is required.

Certainly, LF also may possess a variation that also introduce the masking curve mismatch. But, since they are LF, how would it change a lot in merely a single frame duration. Once again, the LF is not the info in interest.

About Block switch

Reply #5
Pre-echo is caused due to the mismatch between the masking threshold and the quantization error when the signal characteristic changes suddenly within the long block itself.

Within a long block, you will probably noticed that most of the sudden changes in the spectral components occurred in the HF regions whereas the LF regions are usually rather stationary.. (This is NOT always true however.. There are samples where the LF region would display sudden changes.. such as the VELVET.wav sample)

As a result, a rather simple detection scheme involves high Pass filtering the time domain signal and detecting a sudden increase in signal energy..  This doesn't mean that the LF regions doesn't contribute to pre-echo.. it is just that most of the time it doesn't...

About Block switch

Reply #6
Quote
Within a long block, you will probably noticed that most of the sudden changes in the spectral components occurred in the HF regions whereas the LF regions are usually rather stationary

Why LF regions are usually rather stationary? If there is sudden changes in current frame, then the LF regions energy will increase greatly but the LF regions energy of last frame is still very low. Is it stationary? Maybe the LF regions' quantization errors will not generate pre-echo?

About Block switch

Reply #7
Maybe the LF regions' quantization errors will not generate pre-echo?
[a href="index.php?act=findpost&pid=226873"][{POST_SNAPBACK}][/a]
[/quote]


That is true.. the quantization errors of the LF regions are not audible.. I really don't know why.. Psychoacoustic related???

In most cases the LF region doesn't changes as rapidly as the HF region..

About Block switch

Reply #8
Quote
Sorry Ivan, i get a different opinion about LF doesn't generate pre-echo


Mathematically - yes, but perceptually - no.  I already pointed out that it is due to variable T/F sensitivity of the human brain on a frequency scale - so same amount of quantization smearing is not perceived equally on different frequencies.

This does not mean that there is no pre-echo at LF, just it needs much more quantization smearing to become perceptually equally bad for the human listener.

About Block switch

Reply #9
Quote
Quote
Sorry Ivan, i get a different opinion about LF doesn't generate pre-echo


Mathematically - yes, but perceptually - no.  I already pointed out that it is due to variable T/F sensitivity of the human brain on a frequency scale - so same amount of quantization smearing is not perceived equally on different frequencies.

[a href="index.php?act=findpost&pid=226997"][{POST_SNAPBACK}][/a]



Are you suggesting that the pre-masking and post -masking curve is also frequency dependant??

About Block switch

Reply #10
It should be - if I remember correctly (don't have the doc on my notebook) in ITU-R BS.1387 there is a frequency-dependent 'tau' value which does control temporal masking duration.

I'll be back home in 5 days, and I'll post the formula.

 

About Block switch

Reply #11
Bringing this old thread back to life...

I am searching for info related to time/frequency sensitivity of humans.
My goal is to find more info about when to use short blocks, depending of the frequency of the attack.
It seems well accepted that only higher freqs are needed for block switching, but I am unable to find justification to this. If anyone have pointers...