Skip to content

Increase accuracy of azimuth and elevation angles in MASA metadata with dirac rendering

Basic info

  • Float reference:
    • Encoder (float): ivas-float-update
    • Decoder (float): ivas-float-update
  • Fixed point:
    • Encoder (fixed): -
    • Decoder (fixed): ivas-main

Bug description

It was observed that the dirac renderer azimuth and elevation angles compted in ivas_dirac_dec_compute_directional_responses_fx() often are off by one degree because of the lack of rounding and usage of extract_h instead of round_fx. Since the angle computation occurs only few times per channel, it is not really expensive to use round_fx instead of extract_h and it is suggested to prefer round_fx in that case.

Ways to reproduce

stvOMASA_2ISM_2MASA2TC48c+10dB.wav_OMASA_2Dir2TC_2ISM_at_br_sw_techs_13_2_to_512_kbps_start_48_kbps_48kHz_in_48kHz_out_7_1_out_JBM_Prof_5.netsimout

While decoding the attached bit stream, the angles computed in ivas_qmetadata_to_dirac_fx() differ by one degree causing the directional responses vectors to be different between float and basop.

command line:

IVAS_dec -q -fr 20 -Tracefile stvOMASA_2ISM_2MASA2TC48c+10dB.wav_OMASA_2Dir2TC_2ISM_at_br_sw_techs_13_2_to_512_kbps_start_48_kbps_48kHz_in_48kHz_out_7_1_out_JBM_Prof_5.dectrace -VOIP 7_1 48 stvOMASA_2ISM_2MASA2TC48c+10dB.wav_OMASA_2Dir2TC_2ISM_at_br_sw_techs_13_2_to_512_kbps_start_48_kbps_48kHz_in_48kHz_out_7_1_out_JBM_Prof_5.netsimout out.wav