Skip to content

possibly buggy diffuseness estimation in merged SBA system

Basic info

Bug description

In the function computeReferencePower_en, the reference power is overwritten when in SPAR mode:

    if ( sba_mode == SBA_MODE_SPAR )
    {
        for ( i = 0; i < num_freq_bands; i++ )
        {
            reference_power[i] = max( reference_power[i], reference_power_W[i] );
        }
    }

However, this also affects the DirAC parameter estimation. This leads to a strong overestimation of the diffuseness in some items and possibly other problems.

The first plot shows the diffuseness for different sectors (taken from the upcoming HO-DirAC branch) and the global diffuseness from the current estimator. With the current baseline, the global diffuseness (black line) is strongly overestimated. Sector 0 should basically be the same as the global diffuseness.

bsl

This is resolved when the above code block is disabled

patch

It would be the easiest solution to keep this code disabled, but this may have other effects on SPAR.

@tyagiri, @sbrow, it would be good if you could check whether this code is really necessary.

If SPAR really needs it, it should be moved to somewhere after the DirAC parameter estimation.

Edited by Dominik Weckbecker