## 2 Preliminaries  
### Hahn Moments  
The one-dimensional Hahn moments (1 DHMs) are defined for a discrete one-dimension (1D) signal of the function \(f(x),x=0,1,\ldots,N-1\) by the following matrix product [34]:  
\[HM^{(a,b)}=H^{(a,b)}\times f \tag{1}\]  
where \(H^{(a,b)}\) is the normalized HP matrix that is computed up to the polynomial order \(n\) with \(n<N\) and \((a,b)\) are the local parameters of HPs with \(b>-1\) and \(a>-1\). The computation of 1 DHMs up to the last order \(N\) using (1) requires the generation of an HP matrix (\(H^{(a,b)}\)) of size \(N\times N\). Then, (1) is used to compute the 1 DHMs of the input signal (\(f\)) of size \(N\times 1\). This process is time-consuming, especially for large-sized signals (\(N>1000\) samples). To avoid this limitation, a fast method presented in [23; 35] can be used. This method proceeds as follows: (i) converting the 1D signal (\(f\)) of size \(N\times 1\) into a 2D matrix denoted \(F\) of size \((K,K)=(\sqrt{N}\times\sqrt{N})\). (ii) Next, generating two HP matrices each of size \(K\times K\) rather than the generation of an HP matrix of size \(N\times N\) when using the conventional method (see (1)). (iii) Then, computing Hahn moments of \(F\)-matrix in the 2D domain (2 DHMs) by using (2). This method considerably reduces the computation time of the input signal moments when compared to the conventional method. More details regarding this method can be found in [34]. \[HM^{(a1,b1,a2,b2)}=H_{1}^{(a1,b1)}\times F\times\left(H_{2}^{(a2,b2)}\right)^{T} \tag{2}\]  
where \(H_{1}^{(a1,b1)}\) and \(H_{2}^{(a2,b2)}\) represent HP matrices, each of size \(n\times K\) with \(n\leq K\) and \(K=\sqrt{N}\). These matrices are computed for different values of the local HP parameters \((a1,b1,a2,b2)\) with \(a1,a2>-1\) and \(b1,b2>-1\). The symbol \((. )^{T}\) denotes the operator of the matrix transpose. In order to reconstruct the \(F\)-matrix from the computed 2 DHMs, the following formula is used [34]:  
\[\hat{F}=\left(H_{1}^{(a1,b1)}\right)^{T}\times HM^{(a1,b1,a2,b2)}\times H_{2}^ {(a2,b2)} \tag{3}\]  
where \(\hat{F}\) represents the reconstructed form of an \(F\)-matrix of size \((K,K)=(\sqrt{N}\times\sqrt{N})\). The \(\hat{F}\) matrix is then reshaped into a 1D vector of size \(N\times 1\) for producing the reconstructed signal denoted \(\hat{f}\). This reconstructed signal is subject to certain degradation compared to its original version (\(f\)). This degradation can be assessed by the mean square error (MSE) criterion given in (4) as follows [34]:  
\[MSE=\frac{1}{N}\sum_{x=0}^{N-1}\left(f(x)-\hat{f}(x)\right)^{2} \tag{4}\]  
If MSE = 0, both \(f\) and \(\hat{f}\) signals are considered identical. Based on (1)-(2), we can notice that HMs are defined from HP matrices and the signal function (\(f\)). The generation of an HP matrix starts with the computation of the initial values \(\widetilde{H}_{0}^{(a,b)}(x)\) and \(\widetilde{H}_{1}^{(a,b)}(x)\) by using the following equations [34]:  
\[\widetilde{H}_{0}^{(a,b)}(x)=\sqrt{\frac{(N-x)(\beta+x)}{x(N+\alpha-x)}} \widetilde{H}_{0}^{(a,b)}(x-1),\ x=1,2,\ldots,N-1 \tag{5}\]with  
\[\widetilde{H}_{0}^{(a,b)}(0)=\widetilde{H}_{i}^{(a,b)}(0)=\left\{ \begin{array}{c} 1;i=1\\ \sqrt{\frac{(i+a-1)}{(i+a+b)}}\widetilde{H}_{i-1}^{(a,b)}(0);i=2,3,\ldots,N\end{array} \right. \tag{6}\]  
For computing \(\widetilde{H}_{1}^{(a,b)}(x)\), the next formula can be used [34]:  
\[\widetilde{H}_{1}^{(a,b)}(x)=\sqrt{\frac{(a+b+2)x-(b+1)(N-1)^{2}(a+b+3)}{(a+1) (b+1)(N-1)(N+a+b+1)}}\widetilde{H}_{0}^{(a,b)}(x),\ x=0,1,\ldots,N-1 \tag{7}\]  
The computation of HPs for \(n>1\) can be carried out recursively according to \(n\) polynomial order by using the following recursive formula [34]:  
\[\widetilde{H}_{n}^{(a,b)}(x)=\frac{(x-\beta)}{a}\sqrt{\left(a+b+2n\right)^{2} -1}\times\widetilde{H}_{n-1}^{(a,b)}(x)-\delta\sqrt{\frac{a+b+2n+1}{(a+b+2n -3)A^{2}}}\times\widetilde{H}_{n-2}^{(a,b)}(x)\]  
with  
\[