## 4 Dictionary Pair Learning Algorithm
### Sparse coding phase
We denote the mapped singular matrix as \(\mathbf{\hat{\Sigma}}\) and reconstruct \(\mathbf{\Phi}\) by \(\mathbf{\Phi}=\mathbf{U}\mathbf{\hat{\Sigma}}\mathbf{V}^{T}\). We summarize our algorithm in Algorithm 2. ```
0: Training data \(\mathbf{X}\), frame bound A,B, iteration \(num\), gradient descent iterations \(r\). Build frame \(\mathbf{\Phi}\in\mathbb{R}^{N\times M}\)and \(\mathbf{\
abla}\in\mathbb{R}^{N\times M}\),either by using random entries, or using M randomly chosen data. 0: Frame \(\mathbf{\Phi}\), \(\mathbf{\
abla}\), Sparse coefficients \(\mathbf{Y}\), and thresholding values \(\lambda\) For l=1:num Sparse Coding Step:
1: Compute the sparse coefficients \(\mathbf{Y}\) and the thresholding values \(\lambda\) via Algorithm 1. 2: Frame Update \(\mathbf{\
abla}\) in column-wise. Compute \(\mathbf{W}=\mathcal{S}(\mathbf{\
abla}^{T}\mathbf{X})\). For \(i=1:M\)  Denote \(\hat{\mathcal{J}}_{i}\) as the indices of zeros in the \(i\)-th column of \(W\). Set \(\boldsymbol{\psi}_{i}^{T}\mathbf{X}^{\hat{\mathcal{J}}_{i}}=0\). Compute \(\boldsymbol{\psi}_{i}\) via Equation (34). End For
3: Update \(\mathbf{\Phi}\) via Gradient Descent and singular value map. For k=1:r Calculate Gradient via Equation (39) and calculate the descent step via Equation (40)  End for
4: Apply SVD decomposition \(\mathbf{\Phi}=\mathbf{U}\mathbf{\Sigma}\mathbf{V}^{T}\), map \(\mathbf{\Sigma}\) to obtain \(\hat{\mathbf{\Sigma}}\) and reconstruct \(\mathbf{\Phi}=\mathbf{U}\hat{\mathbf{\Sigma}}\mathbf{V}^{T}\). End for
```
**Algorithm 2** Dictionary pair learning algorithm

## 5 Restoration

The image restoration aims to reconstruct a high-quality image \(\mathcal{I}\) from its degraded (e.g., noisy, blurred and/or downsampled) version \(\mathcal{L}\), denoted by \(\mathcal{L}=SH\mathcal{I}+\mathbf{n}\), where \(H\) represents a blurring filter, \(S\) the downsampling operator, and \(\mathbf{n}\) is a noisy signal. For the signal satisfies the SSM-NTF, the restoration model based on SSM-NTF is formulated as

\[\hat{\lambda}_{i}=\operatorname*{arg\,min}_{\lambda_{i}}\|\mathbf{\overline{y}}_{ i}-\mathcal{S}_{\lambda_{i}}(\mathbf{\psi}_{i}^{T}\mathbf{X})\|_{2}^{2},i=1,\ldots,M. \tag{26}\]0

where \(\mathbf{R}_{i}\) is an operator that extracts the \(i\)-th patch of the image \(\mathcal{I}\) and \(\mathbf{y}_{i}\) is the \(i\)-th column of \(\mathbf{Y}\). \(\lambda\) denotes a vector \([\lambda_{1},\lambda_{2},\cdots,\lambda_{M}]\) with \(\lambda_{j}\) operating on the \(j\)-th element of \(\mathbf{\
abla}^{T}\mathbf{R}_{i}\mathcal{I}\). On the right side of Equation (41), the first term is the global force that demands the proximity between the degraded image \(\mathcal{L}\), and its high-quality version \(\mathcal{I}\). The rest terms are the local constraints to make sure every patch at location \(i\) satisfies the SSM-NTF. To solve Problem (41), we apply Algorithm 1 to obtain the sparse coefficients \(\mathbf{Y}\) and the threshold values \(\lambda\). We mainly state the iterative method to obtain \(\mathcal{I}\). Assume the sign of \(\mathbf{\
abla}^{T}\mathbf{R}_{i}\mathcal{I}^{k}\) will not change much between two steps, we set it in the \(k\)-th step by \(\mathbf{c}^{k}=sign(\mathbf{\
abla}^{T}\mathbf{R}_{i}\mathcal{I}^{k-1})\). where \(sign\) is the sign function. Denote \(\mathbf{d}^{k}=\mathbf{\
abla}^{T}\mathbf{R}_{i}\mathcal{I}^{k-1}\). We set \(\mathbf{O}^{k}\) as an index set that satisfies \(|\mathbf{d}_{l}|\leq\lambda_{l},l\in\mathbf{O}^{k}\). Set \(\mathbf{u}^{k}\in\mathcal{R}^{M}\) as a vector with elements \(\mathbf{u}_{l}= \begin{cases}\lambda_{l}&l\in\mathbf{O}^{k},\\ 0&\text{otherwise}.\end{cases} \) Then the non-convex and non-smooth \(0\) _otherwise_.