# Quality Enhancement of MPEG-H 3 DA Binaural Rendering Using a Spectral Compensation Technique
## 3 Proposed Spectral Compensation for the MPEG-H 3 DA BR
### Binaural Spectral Compensation (BSC)  
In the previous section, PGC was proposed as an effective solution to prevent the comb filter effect. However, during PGC, every panning gain of a channel signal needs to be compensated separately for the left and right ears. This results in doubling the convolution operation as in Equation (8).  
An alternative approach is binaural spectral compensation (BSC), where the down-mixed signal is compensated directly as follows.  
\[|\hat{Y}^{j}(k)|=\beta^{j}(k)\Big{|}Y^{j}(k)\Big{|}, \tag{9}\]  
where \(\beta^{j}(k)\) is a real-valued gain designed for compensating the spectral notches and boosts due to the comb filter effect. The downmixed ear signal is given by  
\[|Y^{j}(k)|=\Big{|}(\mathbf{X}^{j}(k))^{T}\mathbf{H}^{j}(k)\Big{|}, \tag{10}\]  
where \(\mathbf{X}^{j}(k)=[\,X^{j}_{1}(k),...,X^{j}_{N_{k}}(k)\,]^{T}\) denotes a vector comprising the channel signals. Additionally, using Equation (4), the ideal downmixed signal without spectral artifacts is obtained as  
\[|\hat{Y}^{j}_{Target}(k)|=\Big{\|}\mathbf{\tilde{g}}\odot\mathbf{H}^{j}(k) \Big{\|}_{p}|\mathcal{S}(k)|=\Big{\|}\mathbf{X}^{j}(k)\odot\mathbf{H}^{j}(k) \Big{\|}_{p}. \tag{11}\]  
Additionally, to reduce unnecessary temporal fluctuation, it is possible to obtain the compensation gain for the QMF subband \(b\) of the MPEG-H 3 DA BR as  
\[\hat{\beta}^{j}(b)=\frac{A\begin{cases}k_{b+1}^{k_{b}+1}-1\\ \sum\limits_{k=k_{b}}^{k_{b}+1}\Big{\|}\big{(}\mathbf{X}^{j}(k)\big{)}^{T} \mathbf{H}^{j}(k)\Big{|}\end{cases}}{A\begin{cases}k_{b+1}^{k_{b}+1}-1\\ \sum\limits_{k=k_{b}}^{k_{b}+1}\Big{|}\big{(}\mathbf{X}^{j}(k)\big{)}^{T} \mathbf{H}^{j}(k)\Big{|}\end{cases}}, \tag{12}\]  
where \(A\{\cdot\}\) denotes a time-smoothing operator conveniently implemented using a 1 st-order IIR recursive filter.  
Finally, a spectrally compensated binaural signal is obtained as  
\[|\hat{Y}^{j}(k)|=\hat{\beta}^{j}(b)|Y^{j}(k)|,\ k\in\{k_{b},...,k_{b+1}-1\}. \tag{13}\]  
From the implementation perspective, calculating a non-integer norm is highly complex. Therefore, we use the norm order \(p=2\) for ease of implementation, which was also validated from the performance perspective in the previous section. However, even with \(p=2\), calculating the square root for each frequency bin \(k\) is a significant burden for the rendering processor. To circumvent this problem, we further modify the numerator and denominator of Equation (12) as  
\[A\Bigg{\{}\sum\limits_{k\in b}\Big{\|}\mathbf{X}^{j}(k)\odot \mathbf{H}^{j}(k)\Big{\|}_{2}\Bigg{\}} \approx A\Bigg{\{}\sqrt{\sum\limits_{k\in b}\|\mathbf{X}^{j}(k) \odot\mathbf{H}^{j}(k)\|_{2}^{2}}\Bigg{\}}, \tag{14}\] \[A\Bigg{\{}\sum\limits_{k\in b}\Big{|}(\mathbf{X}^{j}(k))^{T} \mathbf{H}^{j}(k)\Big{|}\Bigg{\}} \approx A\Bigg{\{}\sqrt{\sum\limits_{k\in b}\big{|}(\mathbf{X}^{j}(k))^{T} \mathbf{H}^{j}(k)\big{|}^{2}}\Bigg{\}}. \tag{15}\]  
Therefore, the square root is computed per QMF band \(b\), significantly reducing computational complexity. In contrast, our experiments show that the computational accuracy remains within 95% of the original value, as long as a sufficient number of frequency bins (\(>\)10) are included.